diff --git a/cli/daemon/run/call.go b/cli/daemon/run/call.go index c98608d045..bc389ea518 100644 --- a/cli/daemon/run/call.go +++ b/cli/daemon/run/call.go @@ -178,16 +178,27 @@ func handleResponse(md *v1.Data, p *ApiCallParams, headers http.Header, body []b members := make([]hujson.ObjectMember, 0) if rpcEncoding.ResponseEncoding != nil { for i, m := range rpcEncoding.ResponseEncoding.HeaderParameters { - value := headers.Get(m.Name) + values := headers.Values(m.Name) var beforeExtra []byte if i == 0 { beforeExtra = []byte("\n // HTTP Headers\n ") } + var val hujson.Value + if len(values) == 1 { + val = hujson.Value{Value: hujson.String(values[0])} + } else { + arr := &hujson.Array{} + for _, v := range values { + arr.Elements = append(arr.Elements, hujson.Value{Value: hujson.String(v)}) + } + val = hujson.Value{Value: arr} + } + members = append(members, hujson.ObjectMember{ Name: hujson.Value{Value: hujson.String(m.Name), BeforeExtra: beforeExtra}, - Value: hujson.Value{Value: hujson.String(value)}, + Value: val, }) } diff --git a/cli/daemon/schema.go b/cli/daemon/schema.go index 42ccf8e3a7..aaa2fab842 100644 --- a/cli/daemon/schema.go +++ b/cli/daemon/schema.go @@ -49,6 +49,8 @@ func (r *schemaRenderer) renderType(typ *schema.Type) { r.renderNamed(typ.Named) case *schema.Type_Pointer: r.renderType(typ.Pointer.Base) + case *schema.Type_Option: + r.WriteNil() case *schema.Type_Union: r.renderType(typ.Union.Types[0]) case *schema.Type_Literal: diff --git a/docs/go/primitives/defining-apis.md b/docs/go/primitives/defining-apis.md index dfdfbf5e40..cf3854c1ae 100644 --- a/docs/go/primitives/defining-apis.md +++ b/docs/go/primitives/defining-apis.md @@ -284,22 +284,29 @@ type CreateBlogPost struct { } ``` +### Optional types + +Encore supports optional types using the `option.Option[T]` type from the `encore.dev/types/option` package. +This can be used in request and response schemas to indicate that the value is not always set. + +See the [package documentation](https://pkg.go.dev/encore.dev/types/option) for more information on usage. + ### Supported types The table below lists the data types supported by each HTTP message location. -| Type | Header | Path | Query | Body | -| --------------- | ------ | ---- | ----- | ---- | -| bool | X | X | X | X | -| numeric | X | X | X | X | -| string | X | X | X | X | -| time.Time | X | X | X | X | -| uuid.UUID | X | X | X | X | -| json.RawMessage | X | X | X | X | -| list | | | X | X | -| struct | | | | X | -| map | | | | X | -| pointer | | | | X | - +| Type | Header | Path | Query | Body | +| ---------------- | ------ | ---- | ----- | ---- | +| bool | X | X | X | X | +| numeric | X | X | X | X | +| string | X | X | X | X | +| time.Time | X | X | X | X | +| uuid.UUID | X | X | X | X | +| json.RawMessage | X | X | X | X | +| option.Option[T] | X | | X | X | +| pointer | X | | X | X | +| list | X | | X | X | +| struct | | | | X | +| map | | | | X | ## Sensitive data diff --git a/e2e-tests/testdata/echo/endtoend/endtoend.go b/e2e-tests/testdata/echo/endtoend/endtoend.go index 8cf4fd2438..c3fbf281f8 100644 --- a/e2e-tests/testdata/echo/endtoend/endtoend.go +++ b/e2e-tests/testdata/echo/endtoend/endtoend.go @@ -5,16 +5,19 @@ import ( "encoding/json" "fmt" "math/rand" + // "net/http" // "net/http/httptest" "os" "reflect" + // "strings" "time" "encore.app/test" "encore.dev/beta/errs" "encore.dev/rlog" + "encore.dev/types/option" "encore.dev/types/uuid" ) @@ -92,35 +95,38 @@ func GeneratedWrappersEndToEndTest(ctx context.Context) (err error) { r.Read(queryBytes) r.Read(bodyBytes) params := &test.MarshallerTest[int]{ - HeaderBoolean: r.Float32() > 0.5, - HeaderInt: r.Int(), - HeaderFloat: r.Float64(), - HeaderString: "header string", - HeaderBytes: headerBytes, - HeaderTime: time.Now().Truncate(time.Second), - HeaderJson: json.RawMessage("{\"hello\":\"world\"}"), - HeaderUUID: newUUID(), - HeaderUserID: "432", - QueryBoolean: r.Float32() > 0.5, - QueryInt: r.Int(), - QueryFloat: r.Float64(), - QueryString: "query string", - QueryBytes: headerBytes, - QueryTime: time.Now().Add(time.Duration(rand.Intn(1024)) * time.Hour).Truncate(time.Second), - QueryJson: json.RawMessage("true"), - QueryUUID: newUUID(), - QueryUserID: "9udfa", - QuerySlice: []int{r.Int(), r.Int(), r.Int(), r.Int()}, - BodyBoolean: r.Float32() > 0.5, - BodyInt: r.Int(), - BodyFloat: r.Float64(), - BodyString: "body string", - BodyBytes: bodyBytes, - BodyTime: time.Now().Add(time.Duration(rand.Intn(1024)) * time.Hour).Truncate(time.Second), - BodyJson: json.RawMessage("null"), - BodyUUID: newUUID(), - BodyUserID: "✉️", - BodySlice: []int{r.Int(), r.Int(), r.Int(), r.Int(), r.Int(), r.Int()}, + HeaderBoolean: r.Float32() > 0.5, + HeaderInt: r.Int(), + HeaderFloat: r.Float64(), + HeaderString: "header string", + HeaderBytes: headerBytes, + HeaderTime: time.Now().Truncate(time.Second), + HeaderJson: json.RawMessage("{\"hello\":\"world\"}"), + HeaderUUID: newUUID(), + HeaderUserID: "432", + HeaderOption: option.Some("test"), + QueryBoolean: r.Float32() > 0.5, + QueryInt: r.Int(), + QueryFloat: r.Float64(), + QueryString: "query string", + QueryBytes: headerBytes, + QueryTime: time.Now().Add(time.Duration(rand.Intn(1024)) * time.Hour).Truncate(time.Second), + QueryJson: json.RawMessage("true"), + QueryUUID: newUUID(), + QueryUserID: "9udfa", + QuerySlice: []int{r.Int(), r.Int(), r.Int(), r.Int()}, + BodyBoolean: r.Float32() > 0.5, + BodyInt: r.Int(), + BodyFloat: r.Float64(), + BodyString: "body string", + BodyBytes: bodyBytes, + BodyTime: time.Now().Add(time.Duration(rand.Intn(1024)) * time.Hour).Truncate(time.Second), + BodyJson: json.RawMessage("null"), + BodyUUID: newUUID(), + BodyUserID: "✉️", + BodySlice: []int{r.Int(), r.Int(), r.Int(), r.Int(), r.Int(), r.Int()}, + BodyOption: option.Some(r.Int()), + BodyOptionSlice: []option.Option[int]{option.Some(r.Int()), option.None[int](), option.Some(r.Int())}, } mResp, err := test.MarshallerTestHandler(ctx, params) assert(err, nil, "Expected no error from the marshaller test") diff --git a/e2e-tests/testdata/echo/test/endpoints.go b/e2e-tests/testdata/echo/test/endpoints.go index 0e52ae70c7..1531613213 100644 --- a/e2e-tests/testdata/echo/test/endpoints.go +++ b/e2e-tests/testdata/echo/test/endpoints.go @@ -11,6 +11,7 @@ import ( encore "encore.dev" "encore.dev/beta/auth" "encore.dev/beta/errs" + "encore.dev/types/option" "encore.dev/types/uuid" ) @@ -98,35 +99,38 @@ func RestStyleAPI(ctx context.Context, objType int, name string, params *RestPar } type MarshallerTest[A any] struct { - HeaderBoolean bool `header:"x-boolean"` - HeaderInt int `header:"x-int"` - HeaderFloat float64 `header:"x-float"` - HeaderString string `header:"x-string"` - HeaderBytes []byte `header:"x-bytes"` - HeaderTime time.Time `header:"x-time"` - HeaderJson json.RawMessage `header:"x-json"` - HeaderUUID uuid.UUID `header:"x-uuid"` - HeaderUserID auth.UID `header:"x-user-id"` - QueryBoolean bool `qs:"boolean"` - QueryInt int `qs:"int"` - QueryFloat float64 `qs:"float"` - QueryString string `qs:"string"` - QueryBytes []byte `qs:"bytes"` - QueryTime time.Time `qs:"time"` - QueryJson json.RawMessage `qs:"json"` - QueryUUID uuid.UUID `qs:"uuid"` - QueryUserID auth.UID `qs:"user-id"` - QuerySlice []A `qs:"slice"` - BodyBoolean bool `json:"boolean"` - BodyInt int `json:"int"` - BodyFloat float64 `json:"float"` - BodyString string `json:"string"` - BodyBytes []byte `json:"bytes"` - BodyTime time.Time `json:"time"` - BodyJson json.RawMessage `json:"json"` - BodyUUID uuid.UUID `json:"uuid"` - BodyUserID auth.UID `json:"user-id"` - BodySlice []A `json:"slice"` + HeaderBoolean bool `header:"x-boolean"` + HeaderInt int `header:"x-int"` + HeaderFloat float64 `header:"x-float"` + HeaderString string `header:"x-string"` + HeaderBytes []byte `header:"x-bytes"` + HeaderTime time.Time `header:"x-time"` + HeaderJson json.RawMessage `header:"x-json"` + HeaderUUID uuid.UUID `header:"x-uuid"` + HeaderUserID auth.UID `header:"x-user-id"` + HeaderOption option.Option[string] `header:"x-option"` + QueryBoolean bool `qs:"boolean"` + QueryInt int `qs:"int"` + QueryFloat float64 `qs:"float"` + QueryString string `qs:"string"` + QueryBytes []byte `qs:"bytes"` + QueryTime time.Time `qs:"time"` + QueryJson json.RawMessage `qs:"json"` + QueryUUID uuid.UUID `qs:"uuid"` + QueryUserID auth.UID `qs:"user-id"` + QuerySlice []A `qs:"slice"` + BodyBoolean bool `json:"boolean"` + BodyInt int `json:"int"` + BodyFloat float64 `json:"float"` + BodyString string `json:"string"` + BodyBytes []byte `json:"bytes"` + BodyTime time.Time `json:"time"` + BodyJson json.RawMessage `json:"json"` + BodyUUID uuid.UUID `json:"uuid"` + BodyUserID auth.UID `json:"user-id"` + BodySlice []A `json:"slice"` + BodyOption option.Option[A] `json:"option"` + BodyOptionSlice []option.Option[A] `json:"option-slice"` } // MarshallerTestHandler allows us to test marshalling of all the inbuilt types in all diff --git a/e2e-tests/testdata/echo_client/golang/client/goclient.go b/e2e-tests/testdata/echo_client/golang/client/goclient.go index 7320e43dcd..15806e98b7 100644 --- a/e2e-tests/testdata/echo_client/golang/client/goclient.go +++ b/e2e-tests/testdata/echo_client/golang/client/goclient.go @@ -734,35 +734,38 @@ type TestBodyEcho struct { } type TestMarshallerTest[A any] struct { - HeaderBoolean bool `header:"x-boolean"` - HeaderInt int `header:"x-int"` - HeaderFloat float64 `header:"x-float"` - HeaderString string `header:"x-string"` - HeaderBytes []byte `header:"x-bytes"` - HeaderTime time.Time `header:"x-time"` - HeaderJson json.RawMessage `header:"x-json"` - HeaderUUID string `header:"x-uuid"` - HeaderUserID string `header:"x-user-id"` - QueryBoolean bool `qs:"boolean"` - QueryInt int `qs:"int"` - QueryFloat float64 `qs:"float"` - QueryString string `qs:"string"` - QueryBytes []byte `qs:"bytes"` - QueryTime time.Time `qs:"time"` - QueryJson json.RawMessage `qs:"json"` - QueryUUID string `qs:"uuid"` - QueryUserID string `qs:"user-id"` - QuerySlice []A `qs:"slice"` - BodyBoolean bool `json:"boolean"` - BodyInt int `json:"int"` - BodyFloat float64 `json:"float"` - BodyString string `json:"string"` - BodyBytes []byte `json:"bytes"` - BodyTime time.Time `json:"time"` - BodyJson json.RawMessage `json:"json"` - BodyUUID string `json:"uuid"` - BodyUserID string `json:"user-id"` - BodySlice []A `json:"slice"` + HeaderBoolean bool `header:"x-boolean"` + HeaderInt int `header:"x-int"` + HeaderFloat float64 `header:"x-float"` + HeaderString string `header:"x-string"` + HeaderBytes []byte `header:"x-bytes"` + HeaderTime time.Time `header:"x-time"` + HeaderJson json.RawMessage `header:"x-json"` + HeaderUUID string `header:"x-uuid"` + HeaderUserID string `header:"x-user-id"` + HeaderOption *string `header:"x-option"` + QueryBoolean bool `qs:"boolean"` + QueryInt int `qs:"int"` + QueryFloat float64 `qs:"float"` + QueryString string `qs:"string"` + QueryBytes []byte `qs:"bytes"` + QueryTime time.Time `qs:"time"` + QueryJson json.RawMessage `qs:"json"` + QueryUUID string `qs:"uuid"` + QueryUserID string `qs:"user-id"` + QuerySlice []A `qs:"slice"` + BodyBoolean bool `json:"boolean"` + BodyInt int `json:"int"` + BodyFloat float64 `json:"float"` + BodyString string `json:"string"` + BodyBytes []byte `json:"bytes"` + BodyTime time.Time `json:"time"` + BodyJson json.RawMessage `json:"json"` + BodyUUID string `json:"uuid"` + BodyUserID string `json:"user-id"` + BodySlice []A `json:"slice"` + BodyOption *A `json:"option"` + BodyOptionSlice []*A `json:"option-slice"` } type TestMultiPathSegment struct { @@ -854,6 +857,7 @@ func (c *testClient) MarshallerTestHandler(ctx context.Context, params TestMarsh "x-float": {reqEncoder.FromFloat64(params.HeaderFloat)}, "x-int": {reqEncoder.FromInt(params.HeaderInt)}, "x-json": {reqEncoder.FromJSON(params.HeaderJson)}, + "x-option": reqEncoder.FromStringOption(params.HeaderOption), "x-string": {reqEncoder.FromString(params.HeaderString)}, "x-time": {reqEncoder.FromTime(params.HeaderTime)}, "x-user-id": {reqEncoder.FromString(params.HeaderUserID)}, @@ -880,52 +884,58 @@ func (c *testClient) MarshallerTestHandler(ctx context.Context, params TestMarsh // Construct the body with only the fields which we want encoded within the body (excluding query string or header fields) body := struct { - BodyBoolean bool `json:"boolean"` - BodyInt int `json:"int"` - BodyFloat float64 `json:"float"` - BodyString string `json:"string"` - BodyBytes []byte `json:"bytes"` - BodyTime time.Time `json:"time"` - BodyJson json.RawMessage `json:"json"` - BodyUUID string `json:"uuid"` - BodyUserID string `json:"user-id"` - BodySlice []int `json:"slice"` + BodyBoolean bool `json:"boolean"` + BodyInt int `json:"int"` + BodyFloat float64 `json:"float"` + BodyString string `json:"string"` + BodyBytes []byte `json:"bytes"` + BodyTime time.Time `json:"time"` + BodyJson json.RawMessage `json:"json"` + BodyUUID string `json:"uuid"` + BodyUserID string `json:"user-id"` + BodySlice []int `json:"slice"` + BodyOption *int `json:"option"` + BodyOptionSlice []*int `json:"option-slice"` }{ - BodyBoolean: params.BodyBoolean, - BodyBytes: params.BodyBytes, - BodyFloat: params.BodyFloat, - BodyInt: params.BodyInt, - BodyJson: params.BodyJson, - BodySlice: params.BodySlice, - BodyString: params.BodyString, - BodyTime: params.BodyTime, - BodyUUID: params.BodyUUID, - BodyUserID: params.BodyUserID, + BodyBoolean: params.BodyBoolean, + BodyBytes: params.BodyBytes, + BodyFloat: params.BodyFloat, + BodyInt: params.BodyInt, + BodyJson: params.BodyJson, + BodyOption: params.BodyOption, + BodyOptionSlice: params.BodyOptionSlice, + BodySlice: params.BodySlice, + BodyString: params.BodyString, + BodyTime: params.BodyTime, + BodyUUID: params.BodyUUID, + BodyUserID: params.BodyUserID, } // We only want the response body to marshal into these fields and none of the header fields, // so we'll construct a new struct with only those fields. respBody := struct { - QueryBoolean bool `json:"QueryBoolean"` - QueryInt int `json:"QueryInt"` - QueryFloat float64 `json:"QueryFloat"` - QueryString string `json:"QueryString"` - QueryBytes []byte `json:"QueryBytes"` - QueryTime time.Time `json:"QueryTime"` - QueryJson json.RawMessage `json:"QueryJson"` - QueryUUID string `json:"QueryUUID"` - QueryUserID string `json:"QueryUserID"` - QuerySlice []int `json:"QuerySlice"` - BodyBoolean bool `json:"boolean"` - BodyInt int `json:"int"` - BodyFloat float64 `json:"float"` - BodyString string `json:"string"` - BodyBytes []byte `json:"bytes"` - BodyTime time.Time `json:"time"` - BodyJson json.RawMessage `json:"json"` - BodyUUID string `json:"uuid"` - BodyUserID string `json:"user-id"` - BodySlice []int `json:"slice"` + QueryBoolean bool `json:"QueryBoolean"` + QueryInt int `json:"QueryInt"` + QueryFloat float64 `json:"QueryFloat"` + QueryString string `json:"QueryString"` + QueryBytes []byte `json:"QueryBytes"` + QueryTime time.Time `json:"QueryTime"` + QueryJson json.RawMessage `json:"QueryJson"` + QueryUUID string `json:"QueryUUID"` + QueryUserID string `json:"QueryUserID"` + QuerySlice []int `json:"QuerySlice"` + BodyBoolean bool `json:"boolean"` + BodyInt int `json:"int"` + BodyFloat float64 `json:"float"` + BodyString string `json:"string"` + BodyBytes []byte `json:"bytes"` + BodyTime time.Time `json:"time"` + BodyJson json.RawMessage `json:"json"` + BodyUUID string `json:"uuid"` + BodyUserID string `json:"user-id"` + BodySlice []int `json:"slice"` + BodyOption *int `json:"option"` + BodyOptionSlice []*int `json:"option-slice"` }{} // Now make the actual call to the API @@ -947,6 +957,7 @@ func (c *testClient) MarshallerTestHandler(ctx context.Context, params TestMarsh resp.HeaderJson = respDecoder.ToJSON("HeaderJson", respHeaders.Get("x-json"), true) resp.HeaderUUID = respDecoder.ToString("HeaderUUID", respHeaders.Get("x-uuid"), true) resp.HeaderUserID = respDecoder.ToString("HeaderUserID", respHeaders.Get("x-user-id"), true) + resp.HeaderOption = respDecoder.ToStringOption("HeaderOption", respHeaders.Get("x-option"), true) resp.QueryBoolean = respBody.QueryBoolean resp.QueryInt = respBody.QueryInt resp.QueryFloat = respBody.QueryFloat @@ -967,6 +978,8 @@ func (c *testClient) MarshallerTestHandler(ctx context.Context, params TestMarsh resp.BodyUUID = respBody.BodyUUID resp.BodyUserID = respBody.BodyUserID resp.BodySlice = respBody.BodySlice + resp.BodyOption = respBody.BodyOption + resp.BodyOptionSlice = respBody.BodyOptionSlice if respDecoder.LastError != nil { err = fmt.Errorf("unable to unmarshal headers: %w", respDecoder.LastError) @@ -1590,6 +1603,14 @@ func (e *serde) FromJSON(s json.RawMessage) (v string) { return string(s) } +func (e *serde) FromStringOption(s *string) (v []string) { + if s == nil { + return nil + } + e.NonEmptyValues++ + return []string{e.FromString(*s)} +} + func (e *serde) FromIntList(s []int) (v []string) { e.NonEmptyValues++ for _, x := range s { @@ -1646,6 +1667,15 @@ func (e *serde) ToJSON(field string, s string, required bool) (v json.RawMessage return json.RawMessage(s) } +func (e *serde) ToStringOption(field string, s string, required bool) (v *string) { + if !required && s == "" { + return + } + e.NonEmptyValues++ + val := e.ToString(field, s, required) + return &val +} + // setErr sets the last error within the object if one is not already set func (e *serde) setErr(msg, field string, err error) { if err != nil && e.LastError == nil { diff --git a/e2e-tests/testdata/echo_client/js/client.js b/e2e-tests/testdata/echo_client/js/client.js index ba4dee1613..c1fc100313 100644 --- a/e2e-tests/testdata/echo_client/js/client.js +++ b/e2e-tests/testdata/echo_client/js/client.js @@ -406,6 +406,7 @@ class TestServiceClient { "x-float": String(params.HeaderFloat), "x-int": String(params.HeaderInt), "x-json": JSON.stringify(params.HeaderJson), + "x-option": params.HeaderOption === undefined ? undefined : String(params.HeaderOption), "x-string": params.HeaderString, "x-time": String(params.HeaderTime), "x-user-id": String(params.HeaderUserID), @@ -427,16 +428,18 @@ class TestServiceClient { // Construct the body with only the fields which we want encoded within the body (excluding query string or header fields) const body = { - boolean: params.boolean, - bytes: params.bytes, - float: params.float, - int: params.int, - json: params.json, - slice: params.slice, - string: params.string, - time: params.time, - "user-id": params["user-id"], - uuid: params.uuid, + boolean: params.boolean, + bytes: params.bytes, + float: params.float, + int: params.int, + json: params.json, + option: params.option, + "option-slice": params["option-slice"], + slice: params.slice, + string: params.string, + time: params.time, + "user-id": params["user-id"], + uuid: params.uuid, } // Now make the actual call to the API @@ -453,6 +456,7 @@ class TestServiceClient { rtn.HeaderJson = JSON.parse(mustBeSet("Header `x-json`", resp.headers.get("x-json"))) rtn.HeaderUUID = mustBeSet("Header `x-uuid`", resp.headers.get("x-uuid")) rtn.HeaderUserID = mustBeSet("Header `x-user-id`", resp.headers.get("x-user-id")) + rtn.HeaderOption = mustBeSet("Header `x-option`", resp.headers.get("x-option")) return rtn } diff --git a/e2e-tests/testdata/echo_client/ts/client.ts b/e2e-tests/testdata/echo_client/ts/client.ts index a283321f6f..31762bd36c 100644 --- a/e2e-tests/testdata/echo_client/ts/client.ts +++ b/e2e-tests/testdata/echo_client/ts/client.ts @@ -562,6 +562,7 @@ export namespace test { HeaderJson: JSONValue HeaderUUID: string HeaderUserID: string + HeaderOption?: string | null QueryBoolean: boolean QueryInt: number QueryFloat: number @@ -582,6 +583,8 @@ export namespace test { uuid: string "user-id": string slice: A[] + option?: A | null + "option-slice": (A | null)[] } export interface MultiPathSegment { @@ -642,6 +645,7 @@ export namespace test { "x-float": String(params.HeaderFloat), "x-int": String(params.HeaderInt), "x-json": JSON.stringify(params.HeaderJson), + "x-option": params.HeaderOption === undefined ? undefined : String(params.HeaderOption), "x-string": params.HeaderString, "x-time": String(params.HeaderTime), "x-user-id": String(params.HeaderUserID), @@ -663,16 +667,18 @@ export namespace test { // Construct the body with only the fields which we want encoded within the body (excluding query string or header fields) const body: Record = { - boolean: params.boolean, - bytes: params.bytes, - float: params.float, - int: params.int, - json: params.json, - slice: params.slice, - string: params.string, - time: params.time, - "user-id": params["user-id"], - uuid: params.uuid, + boolean: params.boolean, + bytes: params.bytes, + float: params.float, + int: params.int, + json: params.json, + option: params.option, + "option-slice": params["option-slice"], + slice: params.slice, + string: params.string, + time: params.time, + "user-id": params["user-id"], + uuid: params.uuid, } // Now make the actual call to the API @@ -689,6 +695,7 @@ export namespace test { rtn.HeaderJson = JSON.parse(mustBeSet("Header `x-json`", resp.headers.get("x-json"))) rtn.HeaderUUID = mustBeSet("Header `x-uuid`", resp.headers.get("x-uuid")) rtn.HeaderUserID = mustBeSet("Header `x-user-id`", resp.headers.get("x-user-id")) + rtn.HeaderOption = mustBeSet("Header `x-option`", resp.headers.get("x-option")) return rtn } diff --git a/e2e-tests/testdata/echo_client/ts/main.ts b/e2e-tests/testdata/echo_client/ts/main.ts index 5b130cd64e..e8c1323ec8 100644 --- a/e2e-tests/testdata/echo_client/ts/main.ts +++ b/e2e-tests/testdata/echo_client/ts/main.ts @@ -1,263 +1,323 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import "isomorphic-fetch" -import {deepEqual} from "assert" +import "isomorphic-fetch"; +import { deepEqual } from "assert"; -import Client, {BaseURL, echo, ErrCode, isAPIError, test} from "./client" -import MarshallerTest = test.MarshallerTest +import Client, { BaseURL, echo, ErrCode, isAPIError, test } from "./client"; +import MarshallerTest = test.MarshallerTest; if (process.argv.length < 3) { - console.error("Usage: npm run test -- ") - console.log(`Got ${process.argv.length} arguments`) - process.exit(1) + console.error("Usage: npm run test -- "); + console.log(`Got ${process.argv.length} arguments`); + process.exit(1); } // Create the client -const api = new Client("http://" + process.argv[2] as BaseURL) +const api = new Client(("http://" + process.argv[2]) as BaseURL); // Test a simple no-op -await api.test.Noop() +await api.test.Noop(); // Test we get back the right structured error -await assertStructuredError(api.test.NoopWithError(), ErrCode.Unimplemented, "totally not implemented yet") +await assertStructuredError( + api.test.NoopWithError(), + ErrCode.Unimplemented, + "totally not implemented yet" +); // Test a simple echo -const echoRsp = await api.test.SimpleBodyEcho({Message: "hello world"}) -deepEqual(echoRsp.Message, "hello world", "Wanted body to be 'hello world'") +const echoRsp = await api.test.SimpleBodyEcho({ Message: "hello world" }); +deepEqual(echoRsp.Message, "hello world", "Wanted body to be 'hello world'"); // Check our UpdateMessage and GetMessage API's -let getRsp = await api.test.GetMessage("typescript") -deepEqual(getRsp.Message, "", "Expected no message on first request") +let getRsp = await api.test.GetMessage("typescript"); +deepEqual(getRsp.Message, "", "Expected no message on first request"); -await api.test.UpdateMessage("typescript", {Message: "updating now"}) +await api.test.UpdateMessage("typescript", { Message: "updating now" }); -getRsp = await api.test.GetMessage("typescript") -deepEqual(getRsp.Message, "updating now", "Expected data from Update request") +getRsp = await api.test.GetMessage("typescript"); +deepEqual(getRsp.Message, "updating now", "Expected data from Update request"); // Test the rest API which uses all input types (query string, json body and header fields) // as well as nested structs and path segments in the URL const restRsp = await api.test.RestStyleAPI(5, "hello", { HeaderValue: "this is the header field", - QueryValue: "this is a query string field", - "Some-Key": "this is the body field", - Nested: { - Alice: "the nested key", - bOb: 8, - charile: true, - }, -}) -deepEqual(restRsp.HeaderValue, "this is the header field", "expected header value") -deepEqual(restRsp.QueryValue, "this is a query string field", "expected query value") -deepEqual(restRsp["Some-Key"], "this is the body field", "expected body value") -deepEqual(restRsp.Nested.Alice, "hello + the nested key", "expected nested key") -deepEqual(restRsp.Nested.bOb, 5 + 8, "expected nested value") -deepEqual(restRsp.Nested.charile, true, "expected nested ok") + QueryValue: "this is a query string field", + "Some-Key": "this is the body field", + Nested: { + Alice: "the nested key", + bOb: 8, + charile: true + } +}); +deepEqual( + restRsp.HeaderValue, + "this is the header field", + "expected header value" +); +deepEqual( + restRsp.QueryValue, + "this is a query string field", + "expected query value" +); +deepEqual(restRsp["Some-Key"], "this is the body field", "expected body value"); +deepEqual( + restRsp.Nested.Alice, + "hello + the nested key", + "expected nested key" +); +deepEqual(restRsp.Nested.bOb, 5 + 8, "expected nested value"); +deepEqual(restRsp.Nested.charile, true, "expected nested ok"); // Full marshalling test with randomised payloads function rInt(): number { - return Math.floor(Math.random() * 10000000) + return Math.floor(Math.random() * 10000000); } const params: MarshallerTest = { HeaderBoolean: Math.random() > 0.5, - HeaderInt: rInt(), - HeaderFloat: Math.random(), - HeaderString: "header string", - HeaderBytes: "aGVsbG8K", - HeaderTime: (new Date(Math.floor(Date.now() / 1000) * 1000)).toISOString().replace(".000Z", "Z"), - HeaderJson: {"hello": "world"}, - HeaderUUID: "2553e3a4-5d9f-4716-82a2-b9bdc20a3263", - HeaderUserID: "432", - QueryBoolean: Math.random() > 0.5, - QueryInt: rInt(), - QueryFloat: Math.random(), - QueryString: "query string", - QueryBytes: "d29ybGQK", - QueryTime: (new Date(Math.floor(Date.now() / 1000) * 1000)).toISOString().replace(".000Z", "Z"), - QueryJson: {value: true}, - QueryUUID: "84b7463d-6000-4678-9d94-1d526bb5217c", - QueryUserID: "9udfa", - QuerySlice: [rInt(), rInt(), rInt(), rInt()], - boolean: Math.random() > 0.5, - int: Math.floor(Math.random() * 10000000), - float: Math.random(), - string: "body string", - bytes: "aXMgaXQgbWUgeW91IGFyZSBsb29raW5nIGZvcj8K", - time: (new Date(Math.floor(Date.now() / 1000) * 1000)).toISOString().replace(".000Z", "Z"), - json: {json_value: 4321}, - uuid: "c227acf4-1902-4c85-8027-623d47ef4c8a", - "user-id": "✉️", - slice: [rInt(), rInt(), rInt(), rInt(), rInt(), rInt()], -} -const mResp = await api.test.MarshallerTestHandler(params) -deepEqual(mResp, params, "Expected the same response from the marshaller test") + HeaderInt: rInt(), + HeaderFloat: Math.random(), + HeaderString: "header string", + HeaderBytes: "aGVsbG8K", + HeaderTime: new Date(Math.floor(Date.now() / 1000) * 1000) + .toISOString() + .replace(".000Z", "Z"), + HeaderJson: { hello: "world" }, + HeaderUUID: "2553e3a4-5d9f-4716-82a2-b9bdc20a3263", + HeaderUserID: "432", + HeaderOption: "abc", + QueryBoolean: Math.random() > 0.5, + QueryInt: rInt(), + QueryFloat: Math.random(), + QueryString: "query string", + QueryBytes: "d29ybGQK", + QueryTime: new Date(Math.floor(Date.now() / 1000) * 1000) + .toISOString() + .replace(".000Z", "Z"), + QueryJson: { value: true }, + QueryUUID: "84b7463d-6000-4678-9d94-1d526bb5217c", + QueryUserID: "9udfa", + QuerySlice: [rInt(), rInt(), rInt(), rInt()], + boolean: Math.random() > 0.5, + int: Math.floor(Math.random() * 10000000), + float: Math.random(), + string: "body string", + bytes: "aXMgaXQgbWUgeW91IGFyZSBsb29raW5nIGZvcj8K", + time: new Date(Math.floor(Date.now() / 1000) * 1000) + .toISOString() + .replace(".000Z", "Z"), + json: { json_value: 4321 }, + uuid: "c227acf4-1902-4c85-8027-623d47ef4c8a", + "user-id": "✉️", + slice: [rInt(), rInt(), rInt(), rInt(), rInt(), rInt()], + option: 123, + "option-slice": [123, null, 456] +}; +const mResp = await api.test.MarshallerTestHandler(params); +deepEqual(mResp, params, "Expected the same response from the marshaller test"); // Test auth handlers -await assertStructuredError(api.test.TestAuthHandler(), ErrCode.Unauthenticated, "missing auth param") +await assertStructuredError( + api.test.TestAuthHandler(), + ErrCode.Unauthenticated, + "missing auth param" +); // Test with static auth data { - const api = new Client( - "http://" + process.argv[2] as BaseURL, - { - auth: { - AuthInt: 34, - Authorization: "Bearer tokendata", - NewAuth: false, - Header: "", - Query: [], - }, - }, - ) + const api = new Client(("http://" + process.argv[2]) as BaseURL, { + auth: { + AuthInt: 34, + Authorization: "Bearer tokendata", + NewAuth: false, + Header: "", + Query: [] + } + }); - const resp = await api.test.TestAuthHandler() - deepEqual(resp.Message, "user::true", "expected the user ID back") + const resp = await api.test.TestAuthHandler(); + deepEqual(resp.Message, "user::true", "expected the user ID back"); } // Test with auth data generator function { - let tokenToReturn = "tokendata" - const api = new Client( - "http://" + process.argv[2] as BaseURL, - { - auth: (): echo.AuthParams => { - return { - Authorization: "Bearer " + tokenToReturn, - AuthInt: 34, - NewAuth: false, - Header: "", - Query: [], - } - }, - }, - ) + let tokenToReturn = "tokendata"; + const api = new Client(("http://" + process.argv[2]) as BaseURL, { + auth: (): echo.AuthParams => { + return { + Authorization: "Bearer " + tokenToReturn, + AuthInt: 34, + NewAuth: false, + Header: "", + Query: [] + }; + } + }); // With a valid token - const resp = await api.test.TestAuthHandler() - deepEqual(resp.Message, "user::true", "expected the user ID back") + const resp = await api.test.TestAuthHandler(); + deepEqual(resp.Message, "user::true", "expected the user ID back"); // With an invalid token - tokenToReturn = "invalid-token-value" - await assertStructuredError(api.test.TestAuthHandler(), ErrCode.Unauthenticated, "invalid token") + tokenToReturn = "invalid-token-value"; + await assertStructuredError( + api.test.TestAuthHandler(), + ErrCode.Unauthenticated, + "invalid token" + ); } // Test with headers and query string auth data { - const api = new Client( - "http://" + process.argv[2] as BaseURL, - { - auth: { - Authorization: "", - AuthInt: 34, - NewAuth: true, - Header: "102", - Query: [42, 100, -50, 10], - }, - }, - ) + const api = new Client(("http://" + process.argv[2]) as BaseURL, { + auth: { + Authorization: "", + AuthInt: 34, + NewAuth: true, + Header: "102", + Query: [42, 100, -50, 10] + } + }); - const resp = await api.test.TestAuthHandler() - deepEqual(resp.Message, "second_user::true", "expected the user ID back") + const resp = await api.test.TestAuthHandler(); + deepEqual(resp.Message, "second_user::true", "expected the user ID back"); } // Test the raw endpoint { - const api = new Client( - "http://" + process.argv[2] as BaseURL, - { - auth: { - AuthInt: 34, - Authorization: "Bearer tokendata", - NewAuth: false, - Header: "", - Query: [], - }, - }, - ) + const api = new Client(("http://" + process.argv[2]) as BaseURL, { + auth: { + AuthInt: 34, + Authorization: "Bearer tokendata", + NewAuth: false, + Header: "", + Query: [] + } + }); const resp = await api.test.RawEndpoint( "PUT", ["hello"], "this is a test body", { - headers: {"X-Test-Header": "test"}, - query: {"foo": "bar"}, - }, - ) + headers: { "X-Test-Header": "test" }, + query: { foo: "bar" } + } + ); - deepEqual(resp.status, 201, "expected the status code to be 201") + deepEqual(resp.status, 201, "expected the status code to be 201"); - const response = await resp.json() + const response = await resp.json(); - deepEqual(response, { - Body: "this is a test body", - Header: "test", - PathParam: "hello", - QueryString: "bar", - }, "expected the response to match") + deepEqual( + response, + { + Body: "this is a test body", + Header: "test", + PathParam: "hello", + QueryString: "bar" + }, + "expected the response to match" + ); } // Test path encoding -const resp = await api.test.PathMultiSegments(true, 342, "foo/blah/should/get/escaped", "503f4487-1e15-4c37-9a80-7b70f86387bb", ["foo/bar", "blah", "seperate/segments = great success"]) -deepEqual(resp.Boolean, true, "expected the boolean to be true") -deepEqual(resp.Int, 342, "expected the int to be 342") -deepEqual(resp.String, "foo/blah/should/get/escaped", "invalid string field returned") -deepEqual(resp.UUID, "503f4487-1e15-4c37-9a80-7b70f86387bb", "invalid UUID returned") -deepEqual(resp.Wildcard, "foo/bar/blah/seperate/segments = great success", "invalid wildcard field returned") +const resp = await api.test.PathMultiSegments( + true, + 342, + "foo/blah/should/get/escaped", + "503f4487-1e15-4c37-9a80-7b70f86387bb", + ["foo/bar", "blah", "seperate/segments = great success"] +); +deepEqual(resp.Boolean, true, "expected the boolean to be true"); +deepEqual(resp.Int, 342, "expected the int to be 342"); +deepEqual( + resp.String, + "foo/blah/should/get/escaped", + "invalid string field returned" +); +deepEqual( + resp.UUID, + "503f4487-1e15-4c37-9a80-7b70f86387bb", + "invalid UUID returned" +); +deepEqual( + resp.Wildcard, + "foo/bar/blah/seperate/segments = great success", + "invalid wildcard field returned" +); // Test validation { await api.validation.TestOne({ - Msg: "pass", - }) - await assertStructuredError(api.validation.TestOne({Msg: "fail"}), ErrCode.InvalidArgument, "validation failed: bad message") - const client = new Client( - "http://" + process.argv[2] as BaseURL, - { - auth: { - AuthInt: 0, - Authorization: "", - NewAuth: false, - Header: "fail-validation", - Query: [], - }, - }, - ) - await assertStructuredError(client.test.Noop(), ErrCode.InvalidArgument, "validation failed: auth validation fail") + Msg: "pass" + }); + await assertStructuredError( + api.validation.TestOne({ Msg: "fail" }), + ErrCode.InvalidArgument, + "validation failed: bad message" + ); + const client = new Client(("http://" + process.argv[2]) as BaseURL, { + auth: { + AuthInt: 0, + Authorization: "", + NewAuth: false, + Header: "fail-validation", + Query: [] + } + }); + await assertStructuredError( + client.test.Noop(), + ErrCode.InvalidArgument, + "validation failed: auth validation fail" + ); } // Test middleware { - await assertStructuredError(api.middleware.Error(), ErrCode.Internal, "middleware error") - const resp1 = await api.middleware.ResponseRewrite({Msg: "foo"}) - deepEqual(resp1.Msg, "middleware(req=foo, resp=handler(foo))") - - const resp2 = await api.middleware.ResponseGen({Msg: "foo"}) - deepEqual(resp2.Msg, "middleware generated") + await assertStructuredError( + api.middleware.Error(), + ErrCode.Internal, + "middleware error" + ); + const resp1 = await api.middleware.ResponseRewrite({ Msg: "foo" }); + deepEqual(resp1.Msg, "middleware(req=foo, resp=handler(foo))"); + + const resp2 = await api.middleware.ResponseGen({ Msg: "foo" }); + deepEqual(resp2.Msg, "middleware generated"); } // Client test completed -process.exit(0) - -async function assertStructuredError(promise: Promise, code: ErrCode, message: string) { - let errorOccurred = false +process.exit(0); + +async function assertStructuredError( + promise: Promise, + code: ErrCode, + message: string +) { + let errorOccurred = false; try { - await promise + await promise; } catch (err: any) { - errorOccurred = true + errorOccurred = true; if (isAPIError(err)) { if (err.code !== code) { - throw new Error(`Expected error code ${code}, got ${err.code} with message "${err.message}"`) + throw new Error( + `Expected error code ${code}, got ${err.code} with message "${err.message}"` + ); } if (err.message !== message) { - throw new Error(`Expected error message "${message}", got "${err.message}"`) + throw new Error( + `Expected error message "${message}", got "${err.message}"` + ); } } else { - throw new Error(`Expected APIError, got ${err}`) + throw new Error(`Expected APIError, got ${err}`); } } if (!errorOccurred) { - throw new Error("No error was thrown during call to NoopWithError") + throw new Error("No error was thrown during call to NoopWithError"); } } diff --git a/e2e-tests/testdata/tsapp/package-lock.json b/e2e-tests/testdata/tsapp/package-lock.json index a29faa9d7a..447f9cc9ea 100644 --- a/e2e-tests/testdata/tsapp/package-lock.json +++ b/e2e-tests/testdata/tsapp/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "MPL-2.0", "dependencies": { - "encore.dev": "file:/home/fredr/projects/encoredev/encore/runtimes/js/encore.dev" + "encore.dev": "file:/Users/andre/src/github.com/encoredev/encore/runtimes/js/encore.dev" }, "devDependencies": { "@types/node": "^22.5.7", diff --git a/e2e-tests/testdata/tsapp/package.json b/e2e-tests/testdata/tsapp/package.json index 064379d0e2..7de8460f37 100644 --- a/e2e-tests/testdata/tsapp/package.json +++ b/e2e-tests/testdata/tsapp/package.json @@ -14,9 +14,9 @@ "vitest": "^3.1.3" }, "dependencies": { - "encore.dev": "1.50.0" + "encore.dev": "file:/Users/andre/src/github.com/encoredev/encore/runtimes/js/encore.dev" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.13.0" } -} +} \ No newline at end of file diff --git a/internal/gocodegen/helpers.go b/internal/gocodegen/helpers.go index b3c55c7e06..7e13429e13 100644 --- a/internal/gocodegen/helpers.go +++ b/internal/gocodegen/helpers.go @@ -79,6 +79,9 @@ func ConvertSchemaToJenType(typ *schema.Type, md *meta.Data) *Statement { case *schema.Type_Pointer: return Op("*").Add(ConvertSchemaToJenType(typ.Pointer.Base, md)) + case *schema.Type_Option: + return Qual("encore.dev/types/option", "Option").Types(ConvertSchemaToJenType(typ.Option.Value, md)) + case *schema.Type_TypeParameter: return Id(md.Decls[typ.TypeParameter.DeclId].TypeParams[typ.TypeParameter.ParamIdx].Name) diff --git a/internal/gocodegen/marshalling.go b/internal/gocodegen/marshalling.go index 323cbc8ce3..944db254a1 100644 --- a/internal/gocodegen/marshalling.go +++ b/internal/gocodegen/marshalling.go @@ -35,6 +35,7 @@ type methodKey struct { fromString bool builtin schema.Builtin slice bool + option bool } type methodDescription struct { @@ -43,6 +44,7 @@ type methodDescription struct { Input Code Result Code IsList bool + IsOption bool Block []Code } @@ -88,11 +90,13 @@ func (g *MarshallingCodeGenerator) NewPossibleInstance(instanceName string) *Mar func (g *MarshallingCodeGenerator) GenerateAll() { for _, val := range schema.Builtin_value { b := schema.Builtin(val) - _, _ = g.builtinToString(b, true) - _, _ = g.builtinToString(b, false) - _, _ = g.builtinFromString(b, true) - _, _ = g.builtinFromString(b, false) + for _, slice := range []bool{false, true} { + for _, option := range []bool{false, true} { + _, _ = g.builtinToString(b, slice, option) + } + } } + g.usedBody = true g.usedJson = true } @@ -127,6 +131,8 @@ func (g *MarshallingCodeGenerator) WriteToFile(f *File) { } else { g.If(Op("!").Id("required").Op("&&").Id("s").Op("==").Lit("")).Block(Return()) } + } else if desc.IsOption { + g.If(Id("s").Op("==").Nil()).Block(Return(Nil())) } g.Id("e").Dot(nonEmptyValuesField).Op("++") for _, s := range desc.Block { @@ -170,13 +176,13 @@ func (g *MarshallingCodeGenerator) WriteToFile(f *File) { f.Line() } -func (b *MarshallingCodeGenerator) builtinFromString(t schema.Builtin, slice bool) (string, error) { - key := methodKey{builtin: t, slice: slice, fromString: true} +func (b *MarshallingCodeGenerator) builtinFromString(t schema.Builtin, slice, option bool) (string, error) { + key := methodKey{builtin: t, slice: slice, option: option, fromString: true} if n, ok := b.seenBuiltins[key]; ok { return n.Method, nil } else if slice { - k2 := methodKey{builtin: t, fromString: true} - if _, err := b.builtinFromString(t, false); err != nil { + k2 := methodKey{builtin: t, fromString: true, slice: false, option: option} + if _, err := b.builtinFromString(t, false, option); err != nil { return "", err } desc := b.seenBuiltins[k2] @@ -197,42 +203,64 @@ func (b *MarshallingCodeGenerator) builtinFromString(t schema.Builtin, slice boo b.seenBuiltins[key] = fn b.builtins = append(b.builtins, fn) return fn.Method, nil + } else if option { + k2 := methodKey{builtin: t, fromString: true, slice: false, option: false} + if _, err := b.builtinFromString(t, false, false); err != nil { + return "", err + } + desc := b.seenBuiltins[k2] + name := desc.Method + "Option" + fn := methodDescription{ + FromString: true, + Method: name, + Input: String(), + Result: Op("*").Add(desc.Result), + IsList: false, + IsOption: true, + Block: []Code{ + Id("val").Op(":=").Id("e").Dot(desc.Method).Call(Id("field"), Id("s"), Id("required")), + Return(Op("&").Id("val")), + }, + } + b.seenBuiltins[key] = fn + b.builtins = append(b.builtins, fn) + return fn.Method, nil } var fn methodDescription switch t { case schema.Builtin_STRING: - fn = methodDescription{true, "ToString", String(), String(), false, []Code{Return(Id("s"))}} + fn = methodDescription{true, "ToString", String(), String(), false, false, []Code{Return(Id("s"))}} case schema.Builtin_BYTES: - fn = methodDescription{true, "ToBytes", String(), Index().Byte(), false, []Code{ + fn = methodDescription{true, "ToBytes", String(), Index().Byte(), false, false, []Code{ List(Id("v"), Err()).Op(":=").Qual("encoding/base64", "URLEncoding").Dot("DecodeString").Call(Id("s")), Id("e").Dot("setErr").Call(Lit("invalid parameter"), Id("field"), Err()), Return(Id("v")), }} case schema.Builtin_BOOL: - fn = methodDescription{true, "ToBool", String(), Bool(), false, []Code{ + fn = methodDescription{true, "ToBool", String(), Bool(), false, false, []Code{ List(Id("v"), Err()).Op(":=").Qual("strconv", "ParseBool").Call(Id("s")), Id("e").Dot("setErr").Call(Lit("invalid parameter"), Id("field"), Err()), Return(Id("v")), }} case schema.Builtin_UUID: - fn = methodDescription{true, "ToUUID", String(), Qual("encore.dev/types/uuid", "UUID"), false, []Code{ + fn = methodDescription{true, "ToUUID", String(), Qual("encore.dev/types/uuid", "UUID"), false, false, []Code{ List(Id("v"), Err()).Op(":=").Qual("encore.dev/types/uuid", "FromString").Call(Id("s")), Id("e").Dot("setErr").Call(Lit("invalid parameter"), Id("field"), Err()), Return(Id("v")), }} case schema.Builtin_TIME: - fn = methodDescription{true, "ToTime", String(), Qual("time", "Time"), false, []Code{ + fn = methodDescription{true, "ToTime", String(), Qual("time", "Time"), false, false, []Code{ List(Id("v"), Err()).Op(":=").Qual("time", "Parse").Call(Qual("time", "RFC3339"), Id("s")), Id("e").Dot("setErr").Call(Lit("invalid parameter"), Id("field"), Err()), Return(Id("v")), }} case schema.Builtin_USER_ID: - fn = methodDescription{true, "ToUserID", String(), Qual("encore.dev/beta/auth", "UID"), false, []Code{ + fn = methodDescription{true, "ToUserID", String(), Qual("encore.dev/beta/auth", "UID"), false, false, []Code{ Return(Qual("encore.dev/beta/auth", "UID").Call(Id("s"))), }} case schema.Builtin_JSON: - fn = methodDescription{true, "ToJSON", String(), Qual("encoding/json", "RawMessage"), false, []Code{ + fn = methodDescription{true, "ToJSON", String(), Qual("encoding/json", "RawMessage"), false, false, []Code{ Return(Qual("encoding/json", "RawMessage").Call(Id("s"))), }} default: @@ -268,7 +296,7 @@ func (b *MarshallingCodeGenerator) builtinFromString(t schema.Builtin, slice boo cast := def.typ != "int64" && def.typ != "uint64" && def.typ != "float64" var err error - fn = methodDescription{true, "To" + strings.Title(def.typ), String(), Id(def.typ), false, []Code{ + fn = methodDescription{true, "To" + strings.Title(def.typ), String(), Id(def.typ), false, false, []Code{ List(Id("x"), Err()).Op(":=").Do(func(s *Statement) { switch def.kind { case unsigned: @@ -300,15 +328,15 @@ func (b *MarshallingCodeGenerator) builtinFromString(t schema.Builtin, slice boo return fn.Method, nil } -func (b *MarshallingCodeGenerator) builtinToString(t schema.Builtin, slice bool) (string, error) { - key := methodKey{builtin: t, slice: slice, fromString: false} +func (b *MarshallingCodeGenerator) builtinToString(t schema.Builtin, slice, option bool) (string, error) { + key := methodKey{builtin: t, slice: slice, option: option, fromString: false} if fn, ok := b.seenBuiltins[key]; ok { return fn.Method, nil } if slice { - k2 := methodKey{builtin: t, fromString: false} - if _, err := b.builtinToString(t, false); err != nil { + k2 := methodKey{builtin: t, fromString: false, slice: false, option: option} + if _, err := b.builtinToString(t, false, option); err != nil { return "", err } desc := b.seenBuiltins[k2] @@ -329,34 +357,54 @@ func (b *MarshallingCodeGenerator) builtinToString(t schema.Builtin, slice bool) b.seenBuiltins[key] = fn b.builtins = append(b.builtins, fn) return fn.Method, nil + } else if option { + k2 := methodKey{builtin: t, fromString: false, slice: false, option: false} + if _, err := b.builtinToString(t, false, false); err != nil { + return "", err + } + desc := b.seenBuiltins[k2] + name := desc.Method + "Option" + fn := methodDescription{ + FromString: false, + Method: name, + Input: Op("*").Add(desc.Input), + Result: Index().String(), + IsOption: true, + Block: []Code{ + Return(Index().String().Values(Id("e").Dot(desc.Method).Call(Op("*").Id("s")))), + }, + } + b.seenBuiltins[key] = fn + b.builtins = append(b.builtins, fn) + return fn.Method, nil } var fn methodDescription switch t { case schema.Builtin_STRING: - fn = methodDescription{false, "FromString", String(), String(), false, []Code{Return(Id("s"))}} + fn = methodDescription{false, "FromString", String(), String(), false, false, []Code{Return(Id("s"))}} case schema.Builtin_BYTES: - fn = methodDescription{false, "FromBytes", Index().Byte(), String(), false, []Code{ + fn = methodDescription{false, "FromBytes", Index().Byte(), String(), false, false, []Code{ Return(Qual("encoding/base64", "URLEncoding").Dot("EncodeToString").Call(Id("s"))), }} case schema.Builtin_BOOL: - fn = methodDescription{false, "FromBool", Bool(), String(), false, []Code{ + fn = methodDescription{false, "FromBool", Bool(), String(), false, false, []Code{ Return(Qual("strconv", "FormatBool").Call(Id("s"))), }} case schema.Builtin_UUID: - fn = methodDescription{false, "FromUUID", Qual("encore.dev/types/uuid", "UUID"), String(), false, []Code{ + fn = methodDescription{false, "FromUUID", Qual("encore.dev/types/uuid", "UUID"), String(), false, false, []Code{ Return(Id("s").Dot("String").Call()), }} case schema.Builtin_TIME: - fn = methodDescription{false, "FromTime", Qual("time", "Time"), String(), false, []Code{ + fn = methodDescription{false, "FromTime", Qual("time", "Time"), String(), false, false, []Code{ Return(Id("s").Dot("Format").Call(Qual("time", "RFC3339"))), }} case schema.Builtin_USER_ID: - fn = methodDescription{false, "FromUserID", Qual("encore.dev/beta/auth", "UID"), String(), false, []Code{ + fn = methodDescription{false, "FromUserID", Qual("encore.dev/beta/auth", "UID"), String(), false, false, []Code{ Return(String().Call(Id("s"))), }} case schema.Builtin_JSON: - fn = methodDescription{false, "FromJSON", Qual("encoding/json", "RawMessage"), String(), false, []Code{ + fn = methodDescription{false, "FromJSON", Qual("encoding/json", "RawMessage"), String(), false, false, []Code{ Return(String().Call(Id("s"))), }} default: @@ -392,7 +440,7 @@ func (b *MarshallingCodeGenerator) builtinToString(t schema.Builtin, slice bool) } var err error - fn = methodDescription{false, "From" + strings.Title(def.typ), Id(def.typ), String(), false, []Code{ + fn = methodDescription{false, "From" + strings.Title(def.typ), Id(def.typ), String(), false, false, []Code{ Return(Do(func(s *Statement) { id := Id("s") if def.typ != def.castTyp { @@ -489,7 +537,7 @@ func (w *MarshallingCodeWrapper) FromStringToBuiltin(builtin schema.Builtin, fie return getAsString, nil } - funcName, err = w.g.builtinFromString(builtin, false) + funcName, err = w.g.builtinFromString(builtin, false, false) if err != nil { return nil, err } @@ -520,7 +568,7 @@ func (w *MarshallingCodeWrapper) FromString(targetType *schema.Type, fieldName s builtin = schema.Builtin_STRING } - funcName, err = w.g.builtinFromString(builtin, true) + funcName, err = w.g.builtinFromString(builtin, true, false) srcCode = getAsStringSlice if err != nil { return nil, err @@ -528,6 +576,23 @@ func (w *MarshallingCodeWrapper) FromString(targetType *schema.Type, fieldName s } else { return nil, errors.Newf("unsupported list type %T", t.List.Elem.Typ) } + + case *schema.Type_Option: + if bt, ok := t.Option.Value.Typ.(*schema.Type_Builtin); ok { + // If the list is uuids or userids, treat it as string + builtin := bt.Builtin + if w.g.shouldBeTreatedAsString(bt.Builtin) { + builtin = schema.Builtin_STRING + } + + funcName, err = w.g.builtinFromString(builtin, false, true) + if err != nil { + return nil, err + } + } else { + return nil, errors.Newf("unsupported option type %T", t.Option.Value.Typ) + } + case *schema.Type_Builtin: // If it's uuid, userid then treat it as string builtin := t.Builtin @@ -535,10 +600,11 @@ func (w *MarshallingCodeWrapper) FromString(targetType *schema.Type, fieldName s builtin = schema.Builtin_STRING } - funcName, err = w.g.builtinFromString(builtin, false) + funcName, err = w.g.builtinFromString(builtin, false, false) if err != nil { return nil, err } + default: return nil, errors.Newf("unsupported type for deserialization: %T", t) } @@ -560,7 +626,7 @@ func (w *MarshallingCodeWrapper) ToStringSlice(sourceType *schema.Type, sourceVa builtin = schema.Builtin_STRING } - funcName, err = w.g.builtinToString(builtin, true) + funcName, err = w.g.builtinToString(builtin, true, false) if err != nil { return nil, err } @@ -570,21 +636,41 @@ func (w *MarshallingCodeWrapper) ToStringSlice(sourceType *schema.Type, sourceVa } else { return nil, errors.Newf("unsupported list type %T", t.List.Elem.Typ) } + + case *schema.Type_Option: + if bt, ok := t.Option.Value.Typ.(*schema.Type_Builtin); ok { + builtin := bt.Builtin + if w.g.shouldBeTreatedAsString(bt.Builtin) { + builtin = schema.Builtin_STRING + } + + funcName, err = w.g.builtinToString(builtin, false, true) + if err != nil { + return nil, err + } + + w.used = true + return Id(w.instanceName).Dot(funcName).Call(sourceValue), nil + } else { + return nil, errors.Newf("unsupported option type %T", t.Option.Value.Typ) + } + case *schema.Type_Builtin: builtin := t.Builtin if w.g.shouldBeTreatedAsString(t.Builtin) { builtin = schema.Builtin_STRING } - funcName, err = w.g.builtinToString(builtin, false) + funcName, err = w.g.builtinToString(builtin, false, false) if err != nil { return nil, err } w.used = true return Values(Id(w.instanceName).Dot(funcName).Call(sourceValue)), nil + default: - return nil, errors.Newf("unsupported type for deserialization: %T", t) + return nil, errors.Newf("unsupported type for serialization: %T", t) } } @@ -599,13 +685,32 @@ func (w *MarshallingCodeWrapper) ToString(sourceType *schema.Type, sourceValue C builtin = schema.Builtin_STRING } - funcName, err = w.g.builtinToString(builtin, false) + funcName, err = w.g.builtinToString(builtin, false, false) if err != nil { return nil, err } w.used = true return Id(w.instanceName).Dot(funcName).Call(sourceValue), nil + + case *schema.Type_Option: + if bt, ok := t.Option.Value.Typ.(*schema.Type_Builtin); ok { + builtin := bt.Builtin + if w.g.shouldBeTreatedAsString(bt.Builtin) { + builtin = schema.Builtin_STRING + } + + funcName, err = w.g.builtinToString(builtin, false, true) + if err != nil { + return nil, err + } + + w.used = true + return Id(w.instanceName).Dot(funcName).Call(sourceValue), nil + } else { + return nil, errors.Newf("unsupported option type %T", t.Option.Value.Typ) + } + default: return nil, errors.Newf("unsupported type for serialization: %T", t) } diff --git a/parser/encoding/rpc.go b/parser/encoding/rpc.go index 64e46417de..20f8f90fdb 100644 --- a/parser/encoding/rpc.go +++ b/parser/encoding/rpc.go @@ -439,6 +439,27 @@ func GetConcreteType(appDecls []*schema.Decl, originalType *schema.Type, typeArg // replace any type parameters with the type argument return resolveTypeParams(&schema.Type{Typ: &schema.Type_Pointer{Pointer: pointer}}, typeArgs), nil + case *schema.Type_Option: + // If there are no type arguments, we've got a concrete type + if len(typeArgs) == 0 { + return originalType, nil + } + + // Deep copy the original struct + option, ok := proto.Clone(typ.Option).(*schema.Option) + if !ok { + return nil, errors.New("failed to clone option type") + } + + var err error + option.Value, err = GetConcreteType(appDecls, option.Value, typeArgs) + if err != nil { + return nil, err + } + + // replace any type parameters with the type argument + return resolveTypeParams(&schema.Type{Typ: &schema.Type_Option{Option: option}}, typeArgs), nil + case *schema.Type_Config: // If there are no type arguments, we've got a concrete type if len(typeArgs) == 0 { @@ -494,6 +515,9 @@ func resolveTypeParams(typ *schema.Type, typeArgs []*schema.Type) *schema.Type { case *schema.Type_Pointer: t.Pointer.Base = resolveTypeParams(t.Pointer.Base, typeArgs) + case *schema.Type_Option: + t.Option.Value = resolveTypeParams(t.Option.Value, typeArgs) + case *schema.Type_Named: for i, param := range t.Named.TypeArguments { t.Named.TypeArguments[i] = resolveTypeParams(param, typeArgs) @@ -508,16 +532,10 @@ func resolveTypeParams(typ *schema.Type, typeArgs []*schema.Type) *schema.Type { // then is a selection of methods and POST is one of them. If POST is not allowed as a method then // we will use the first specified method. func DefaultClientHttpMethod(rpc *meta.RPC) string { - if rpc.HttpMethods[0] == "*" { + // Default to POST if we have a wildcard method or if POST is one of the allowed methods. + if rpc.HttpMethods[0] == "*" || slices.Contains(rpc.HttpMethods, "POST") { return "POST" } - - for _, httpMethod := range rpc.HttpMethods { - if httpMethod == "POST" { - return "POST" - } - } - return rpc.HttpMethods[0] } diff --git a/pkg/clientgen/golang.go b/pkg/clientgen/golang.go index c7850949c3..37a44f8ab9 100644 --- a/pkg/clientgen/golang.go +++ b/pkg/clientgen/golang.go @@ -887,7 +887,7 @@ func (g *golang) getType(typ *schema.Type) Code { case schema.Builtin_JSON: return Qual("encoding/json", "RawMessage") case schema.Builtin_UUID, schema.Builtin_USER_ID, schema.Builtin_DECIMAL: - // we don't want to add any custom depdancies, so these come in as strings + // we don't want to add any custom deps, so these come in as strings return String() default: return Any() @@ -896,6 +896,17 @@ func (g *golang) getType(typ *schema.Type) Code { case *schema.Type_Pointer: return Op("*").Add(g.getType(typ.Pointer.Base)) + case *schema.Type_Option: + // Avoid the dependency by using a pointer type instead of encore.dev/types/option.Option. + value := typ.Option.Value + + // Avoid double pointer + for ptr := value.GetPointer(); ptr != nil; ptr = value.GetPointer() { + value = ptr.Base + } + + return Op("*").Add(g.getType(value)) + case *schema.Type_Struct: fields := make([]Code, 0, len(typ.Struct.Fields)) @@ -1447,6 +1458,25 @@ func (g *golang) addAuthData(grp *Group) (err error) { Id("v"), ), ), Line()) + } else if opt := field.Type.GetOption(); opt != nil { + // We encode options as *T, so check if it's non-nil. + enc.Add(If( + Id("val").Op(":=").Add(Id("authData").Dot(idents.Convert(field.SrcName, idents.PascalCase))), + Id("val").Op("!=").Nil(), + ).BlockFunc(func(g *Group) { + val, err := enc.ToString( + field.Type, + Id("val"), + ) + if err != nil { + err = errors.Wrapf(err, "unable to encode query field %s", field.SrcName) + return + } + g.Add(Id("query").Dot("Set").Call( + Lit(field.WireFormat), + val, + ), Line()) + })) } else { // Otherwise, we can just append the field val, err := enc.ToString( @@ -1474,20 +1504,58 @@ func (g *golang) addAuthData(grp *Group) (err error) { // Check the request schema for fields we can put in the query string for _, field := range auth.HeaderParameters { - // Otherwise, we can just append the field - val, err := enc.ToString( - field.Type, - Id("authData").Dot(idents.Convert(field.SrcName, idents.PascalCase)), - ) - if err != nil { - err = errors.Wrapf(err, "unable to encode header field %s", field.SrcName) - return - } + if field.Type.GetList() != nil { + // If we have a slice, we need to encode each bit + slice, err := enc.ToStringSlice( + field.Type, + Id("authData").Dot(idents.Convert(field.SrcName, idents.PascalCase)), + ) + if err != nil { + err = errors.Wrapf(err, "unable to encode header fields %s", field.SrcName) + return + } - enc.Add(Id("req").Dot("Header").Dot("Set").Call( - Lit(field.WireFormat), - val, - ), Line()) + enc.Add(For(List(Id("_"), Id("v")).Op(":=").Range().Add(slice)).Block( + Id("req").Dot("Header").Dot("Add").Call( + Lit(field.WireFormat), + Id("v"), + ), + ), Line()) + } else if opt := field.Type.GetOption(); opt != nil { + // We encode options as *T, so check if it's non-nil. + enc.Add(If( + Id("val").Op(":=").Add(Id("authData").Dot(idents.Convert(field.SrcName, idents.PascalCase))), + Id("val").Op("!=").Nil(), + ).BlockFunc(func(g *Group) { + val, err := enc.ToString( + field.Type, + Id("val"), + ) + if err != nil { + err = errors.Wrapf(err, "unable to encode header field %s", field.SrcName) + return + } + enc.Add(Id("req").Dot("Header").Dot("Set").Call( + Lit(field.WireFormat), + val, + ), Line()) + })) + } else { + // Otherwise, we can just append the field + val, err := enc.ToString( + field.Type, + Id("authData").Dot(idents.Convert(field.SrcName, idents.PascalCase)), + ) + if err != nil { + err = errors.Wrapf(err, "unable to encode header field %s", field.SrcName) + return + } + + enc.Add(Id("req").Dot("Header").Dot("Set").Call( + Lit(field.WireFormat), + val, + ), Line()) + } } } diff --git a/pkg/clientgen/openapi/schema.go b/pkg/clientgen/openapi/schema.go index ad769e5176..0c156ede27 100644 --- a/pkg/clientgen/openapi/schema.go +++ b/pkg/clientgen/openapi/schema.go @@ -109,6 +109,9 @@ func (g *Generator) schemaType(typ *schema.Type) *openapi3.SchemaRef { case *schema.Type_Pointer: return g.schemaType(t.Pointer.Base) + case *schema.Type_Option: + return g.schemaType(t.Option.Value) + case *schema.Type_Literal: switch tt := t.Literal.Value.(type) { case *schema.Literal_Str: @@ -328,6 +331,8 @@ func (g *Generator) typeToDefinitionName(typ *schema.Type) string { return "Map_" + g.typeToDefinitionName(typ.Map.Key) + "_" + g.typeToDefinitionName(typ.Map.Value) case *schema.Type_Pointer: return g.typeToDefinitionName(typ.Pointer.Base) + case *schema.Type_Option: + return "Option_" + g.typeToDefinitionName(typ.Option.Value) case *schema.Type_Config: return g.typeToDefinitionName(typ.Config.Elem) case *schema.Type_Builtin: diff --git a/pkg/clientgen/testdata/goapp/expected_golang.go b/pkg/clientgen/testdata/goapp/expected_golang.go index 7fef498f3f..e857c28249 100644 --- a/pkg/clientgen/testdata/goapp/expected_golang.go +++ b/pkg/clientgen/testdata/goapp/expected_golang.go @@ -216,16 +216,19 @@ func (c *productsClient) List(ctx context.Context) (resp ProductsProductListing, } type SvcAllInputTypes[A any] struct { - A time.Time `header:"X-Alice"` // Specify this comes from a header field - B []int `query:"Bob"` // Specify this comes from a query string - C bool `json:"Charlies-Bool,omitempty"` // This can come from anywhere, but if it comes from the payload in JSON it must be called Charile - Dave A // This generic type complicates the whole thing 🙈 + A time.Time `header:"X-Alice"` // Specify this comes from a header field + B []int `query:"Bob"` // Specify this comes from a query string + C bool `json:"Charlies-Bool,omitempty"` // This can come from anywhere, but if it comes from the payload in JSON it must be called Charile + Dave A // This generic type complicates the whole thing 🙈 + Optional *A `json:"optional"` // An optional generic type } // DocumentedOrder represents a customer order with references type SvcDocumentedOrder struct { - Customer SvcDocumentedUser `json:"customer"` // Customer who placed this order (different from shipping recipient) - OrderID string `json:"order_id"` + Customer SvcDocumentedUser `json:"customer"` // Customer who placed this order (different from shipping recipient) + OrderID string `json:"order_id"` + OptionalRef *SvcDocumentedUser `json:"opt_ref"` + RequiredRef *SvcDocumentedUser `json:"req_ref"` } // DocumentedUser represents a user in the system with profile information @@ -243,21 +246,24 @@ type SvcGetRequest struct { // HeaderOnlyStruct contains all types we support in headers type SvcHeaderOnlyStruct struct { - Boolean bool `header:"x-boolean"` - Int int `header:"x-int"` - Float float64 `header:"x-float"` - String string `header:"x-string"` - Bytes []byte `header:"x-bytes"` - Time time.Time `header:"x-time"` - Json json.RawMessage `header:"x-json"` - UUID string `header:"x-uuid"` - UserID string `header:"x-user-id"` + Boolean bool `header:"x-boolean"` + Int int `header:"x-int"` + Float float64 `header:"x-float"` + String string `header:"x-string"` + Bytes []byte `header:"x-bytes"` + Time time.Time `header:"x-time"` + Json json.RawMessage `header:"x-json"` + UUID string `header:"x-uuid"` + UserID string `header:"x-user-id"` + Optional *string `header:"x-optional"` } type SvcRecursive struct { - Optional *SvcRecursive `encore:"optional"` - Slice []SvcRecursive - Map map[string]SvcRecursive + Optional *SvcRecursive `encore:"optional"` + Slice []SvcRecursive + SliceOfOptional []*SvcRecursive + Map map[string]SvcRecursive + MapOfOptional map[string]*SvcRecursive } type SvcRequest struct { @@ -389,9 +395,10 @@ func (c *svcClient) GetRequestWithAllInputTypes(ctx context.Context, params SvcA headers := http.Header{"x-alice": {reqEncoder.FromTime(params.A)}} queryString := url.Values{ - "Bob": reqEncoder.FromIntList(params.B), - "c": {reqEncoder.FromBool(params.C)}, - "dave": {reqEncoder.FromInt(params.Dave)}, + "Bob": reqEncoder.FromIntList(params.B), + "c": {reqEncoder.FromBool(params.C)}, + "dave": {reqEncoder.FromInt(params.Dave)}, + "optional": reqEncoder.FromIntOption(params.Optional), } if reqEncoder.LastError != nil { @@ -418,6 +425,7 @@ func (c *svcClient) GetRequestWithAllInputTypes(ctx context.Context, params SvcA resp.Json = respDecoder.ToJSON("Json", respHeaders.Get("x-json"), true) resp.UUID = respDecoder.ToString("UUID", respHeaders.Get("x-uuid"), true) resp.UserID = respDecoder.ToString("UserID", respHeaders.Get("x-user-id"), true) + resp.Optional = respDecoder.ToStringOption("Optional", respHeaders.Get("x-optional"), true) if respDecoder.LastError != nil { err = fmt.Errorf("unable to unmarshal headers: %w", respDecoder.LastError) @@ -432,15 +440,16 @@ func (c *svcClient) HeaderOnlyRequest(ctx context.Context, params SvcHeaderOnlyS reqEncoder := &serde{} headers := http.Header{ - "x-boolean": {reqEncoder.FromBool(params.Boolean)}, - "x-bytes": {reqEncoder.FromBytes(params.Bytes)}, - "x-float": {reqEncoder.FromFloat64(params.Float)}, - "x-int": {reqEncoder.FromInt(params.Int)}, - "x-json": {reqEncoder.FromJSON(params.Json)}, - "x-string": {reqEncoder.FromString(params.String)}, - "x-time": {reqEncoder.FromTime(params.Time)}, - "x-user-id": {reqEncoder.FromString(params.UserID)}, - "x-uuid": {reqEncoder.FromString(params.UUID)}, + "x-boolean": {reqEncoder.FromBool(params.Boolean)}, + "x-bytes": {reqEncoder.FromBytes(params.Bytes)}, + "x-float": {reqEncoder.FromFloat64(params.Float)}, + "x-int": {reqEncoder.FromInt(params.Int)}, + "x-json": {reqEncoder.FromJSON(params.Json)}, + "x-optional": reqEncoder.FromStringOption(params.Optional), + "x-string": {reqEncoder.FromString(params.String)}, + "x-time": {reqEncoder.FromTime(params.Time)}, + "x-user-id": {reqEncoder.FromString(params.UserID)}, + "x-uuid": {reqEncoder.FromString(params.UUID)}, } if reqEncoder.LastError != nil { @@ -491,19 +500,22 @@ func (c *svcClient) RequestWithAllInputTypes(ctx context.Context, params SvcAllI // Construct the body with only the fields which we want encoded within the body (excluding query string or header fields) body := struct { - C bool `json:"Charlies-Bool,omitempty"` - Dave string `json:"Dave"` + C bool `json:"Charlies-Bool,omitempty"` + Dave string `json:"Dave"` + Optional *string `json:"optional"` }{ - C: params.C, - Dave: params.Dave, + C: params.C, + Dave: params.Dave, + Optional: params.Optional, } // We only want the response body to marshal into these fields and none of the header fields, // so we'll construct a new struct with only those fields. respBody := struct { - B []int `json:"B"` - C bool `json:"Charlies-Bool,omitempty"` - Dave float64 `json:"Dave"` + B []int `json:"B"` + C bool `json:"Charlies-Bool,omitempty"` + Dave float64 `json:"Dave"` + Optional *float64 `json:"optional"` }{} // Now make the actual call to the API @@ -520,6 +532,7 @@ func (c *svcClient) RequestWithAllInputTypes(ctx context.Context, params SvcAllI resp.B = respBody.B resp.C = respBody.C resp.Dave = respBody.Dave + resp.Optional = respBody.Optional if respDecoder.LastError != nil { err = fmt.Errorf("unable to unmarshal headers: %w", respDecoder.LastError) @@ -990,6 +1003,14 @@ func (e *serde) FromIntList(s []int) (v []string) { return v } +func (e *serde) FromIntOption(s *int) (v []string) { + if s == nil { + return nil + } + e.NonEmptyValues++ + return []string{e.FromInt(*s)} +} + func (e *serde) ToBool(field string, s string, required bool) (v bool) { if !required && s == "" { return @@ -1056,6 +1077,15 @@ func (e *serde) ToJSON(field string, s string, required bool) (v json.RawMessage return json.RawMessage(s) } +func (e *serde) ToStringOption(field string, s string, required bool) (v *string) { + if !required && s == "" { + return + } + e.NonEmptyValues++ + val := e.ToString(field, s, required) + return &val +} + func (e *serde) FromFloat64(s float64) (v string) { e.NonEmptyValues++ return strconv.FormatFloat(s, uint8(0x66), -1, 64) @@ -1071,6 +1101,14 @@ func (e *serde) FromJSON(s json.RawMessage) (v string) { return string(s) } +func (e *serde) FromStringOption(s *string) (v []string) { + if s == nil { + return nil + } + e.NonEmptyValues++ + return []string{e.FromString(*s)} +} + // setErr sets the last error within the object if one is not already set func (e *serde) setErr(msg, field string, err error) { if err != nil && e.LastError == nil { diff --git a/pkg/clientgen/testdata/goapp/expected_javascript.js b/pkg/clientgen/testdata/goapp/expected_javascript.js index 99eb180a35..927b31f73a 100644 --- a/pkg/clientgen/testdata/goapp/expected_javascript.js +++ b/pkg/clientgen/testdata/goapp/expected_javascript.js @@ -163,9 +163,10 @@ class SvcServiceClient { }) const query = makeRecord({ - Bob: params.B.map((v) => String(v)), - c: String(params["Charlies-Bool"]), - dave: String(params.Dave), + Bob: params.B.map((v) => String(v)), + c: String(params["Charlies-Bool"]), + dave: String(params.Dave), + optional: params.optional === undefined ? undefined : String(params.optional), }) // Now make the actual call to the API @@ -182,21 +183,23 @@ class SvcServiceClient { rtn.Json = JSON.parse(mustBeSet("Header `x-json`", resp.headers.get("x-json"))) rtn.UUID = mustBeSet("Header `x-uuid`", resp.headers.get("x-uuid")) rtn.UserID = mustBeSet("Header `x-user-id`", resp.headers.get("x-user-id")) + rtn.Optional = mustBeSet("Header `x-optional`", resp.headers.get("x-optional")) return rtn } async HeaderOnlyRequest(params) { // Convert our params into the objects we need for the request const headers = makeRecord({ - "x-boolean": String(params.Boolean), - "x-bytes": String(params.Bytes), - "x-float": String(params.Float), - "x-int": String(params.Int), - "x-json": JSON.stringify(params.Json), - "x-string": params.String, - "x-time": String(params.Time), - "x-user-id": String(params.UserID), - "x-uuid": String(params.UUID), + "x-boolean": String(params.Boolean), + "x-bytes": String(params.Bytes), + "x-float": String(params.Float), + "x-int": String(params.Int), + "x-json": JSON.stringify(params.Json), + "x-optional": params.Optional === undefined ? undefined : String(params.Optional), + "x-string": params.String, + "x-time": String(params.Time), + "x-user-id": String(params.UserID), + "x-uuid": String(params.UUID), }) await this.baseClient.callTypedAPI("GET", `/svc.HeaderOnlyRequest`, undefined, {headers}) @@ -232,6 +235,7 @@ class SvcServiceClient { const body = { "Charlies-Bool": params["Charlies-Bool"], Dave: params.Dave, + optional: params.optional, } // Now make the actual call to the API diff --git a/pkg/clientgen/testdata/goapp/expected_openapi.json b/pkg/clientgen/testdata/goapp/expected_openapi.json index 5683e3b73f..442d19201c 100644 --- a/pkg/clientgen/testdata/goapp/expected_openapi.json +++ b/pkg/clientgen/testdata/goapp/expected_openapi.json @@ -133,6 +133,12 @@ }, "type": "object" }, + "MapOfOptional": { + "additionalProperties": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "object" + }, "Optional": { "$ref": "#/components/schemas/svc.Recursive" }, @@ -141,11 +147,19 @@ "$ref": "#/components/schemas/svc.Recursive" }, "type": "array" + }, + "SliceOfOptional": { + "items": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "array" } }, "required": [ "Slice", - "Map" + "SliceOfOptional", + "Map", + "MapOfOptional" ], "type": "object" }, @@ -548,13 +562,20 @@ "customer": { "$ref": "#/components/schemas/svc.DocumentedUser" }, + "opt_ref": { + "$ref": "#/components/schemas/svc.DocumentedUser" + }, "order_id": { "type": "string" + }, + "req_ref": { + "$ref": "#/components/schemas/svc.DocumentedUser" } }, "required": [ "customer", - "order_id" + "order_id", + "req_ref" ], "type": "object" } @@ -570,13 +591,20 @@ "customer": { "$ref": "#/components/schemas/svc.DocumentedUser" }, + "opt_ref": { + "$ref": "#/components/schemas/svc.DocumentedUser" + }, "order_id": { "type": "string" + }, + "req_ref": { + "$ref": "#/components/schemas/svc.DocumentedUser" } }, "required": [ "customer", - "order_id" + "order_id", + "req_ref" ], "type": "object" } @@ -758,6 +786,18 @@ "type": "integer" }, "style": "form" + }, + { + "allowEmptyValue": true, + "description": "An optional generic type\n", + "explode": true, + "in": "query", + "name": "optional", + "schema": { + "format": "int64", + "type": "integer" + }, + "style": "form" } ], "responses": { @@ -811,6 +851,14 @@ }, "style": "simple" }, + "x-optional": { + "allowEmptyValue": true, + "explode": true, + "schema": { + "type": "string" + }, + "style": "simple" + }, "x-string": { "allowEmptyValue": true, "explode": true, @@ -963,6 +1011,16 @@ "type": "string" }, "style": "simple" + }, + { + "allowEmptyValue": true, + "explode": true, + "in": "header", + "name": "x-optional", + "schema": { + "type": "string" + }, + "style": "simple" } ], "responses": { @@ -1034,6 +1092,12 @@ }, "type": "object" }, + "MapOfOptional": { + "additionalProperties": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "object" + }, "Optional": { "$ref": "#/components/schemas/svc.Recursive" }, @@ -1042,11 +1106,19 @@ "$ref": "#/components/schemas/svc.Recursive" }, "type": "array" + }, + "SliceOfOptional": { + "items": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "array" } }, "required": [ "Slice", - "Map" + "SliceOfOptional", + "Map", + "MapOfOptional" ], "type": "object" } @@ -1065,6 +1137,12 @@ }, "type": "object" }, + "MapOfOptional": { + "additionalProperties": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "object" + }, "Optional": { "$ref": "#/components/schemas/svc.Recursive" }, @@ -1073,11 +1151,19 @@ "$ref": "#/components/schemas/svc.Recursive" }, "type": "array" + }, + "SliceOfOptional": { + "items": { + "$ref": "#/components/schemas/svc.Recursive" + }, + "type": "array" } }, "required": [ "Slice", - "Map" + "SliceOfOptional", + "Map", + "MapOfOptional" ], "type": "object" } @@ -1137,6 +1223,10 @@ "Dave": { "title": "This generic type complicates the whole thing 🙈\n", "type": "string" + }, + "optional": { + "title": "An optional generic type\n", + "type": "string" } }, "required": [ @@ -1169,6 +1259,10 @@ "Dave": { "title": "This generic type complicates the whole thing 🙈\n", "type": "number" + }, + "optional": { + "title": "An optional generic type\n", + "type": "number" } }, "required": [ diff --git a/pkg/clientgen/testdata/goapp/expected_typescript.ts b/pkg/clientgen/testdata/goapp/expected_typescript.ts index 17f6b38229..7b237e4b17 100644 --- a/pkg/clientgen/testdata/goapp/expected_typescript.ts +++ b/pkg/clientgen/testdata/goapp/expected_typescript.ts @@ -220,6 +220,11 @@ export namespace svc { * This generic type complicates the whole thing 🙈 */ Dave: A + + /** + * An optional generic type + */ + optional?: A | null } /** @@ -232,6 +237,8 @@ export namespace svc { customer: DocumentedUser "order_id": string + "opt_ref"?: DocumentedUser | null + "req_ref": DocumentedUser } /** @@ -264,12 +271,15 @@ export namespace svc { Json: JSONValue UUID: string UserID: string + Optional?: string | null } export interface Recursive { Optional?: Recursive Slice: Recursive[] + SliceOfOptional: (Recursive | null)[] Map: { [key: string]: Recursive } + MapOfOptional: { [key: string]: Recursive | null } } export interface Request { @@ -384,9 +394,10 @@ export namespace svc { }) const query = makeRecord({ - Bob: params.B.map((v) => String(v)), - c: String(params["Charlies-Bool"]), - dave: String(params.Dave), + Bob: params.B.map((v) => String(v)), + c: String(params["Charlies-Bool"]), + dave: String(params.Dave), + optional: params.optional === undefined ? undefined : String(params.optional), }) // Now make the actual call to the API @@ -403,21 +414,23 @@ export namespace svc { rtn.Json = JSON.parse(mustBeSet("Header `x-json`", resp.headers.get("x-json"))) rtn.UUID = mustBeSet("Header `x-uuid`", resp.headers.get("x-uuid")) rtn.UserID = mustBeSet("Header `x-user-id`", resp.headers.get("x-user-id")) + rtn.Optional = mustBeSet("Header `x-optional`", resp.headers.get("x-optional")) return rtn } public async HeaderOnlyRequest(params: HeaderOnlyStruct): Promise { // Convert our params into the objects we need for the request const headers = makeRecord({ - "x-boolean": String(params.Boolean), - "x-bytes": String(params.Bytes), - "x-float": String(params.Float), - "x-int": String(params.Int), - "x-json": JSON.stringify(params.Json), - "x-string": params.String, - "x-time": String(params.Time), - "x-user-id": String(params.UserID), - "x-uuid": String(params.UUID), + "x-boolean": String(params.Boolean), + "x-bytes": String(params.Bytes), + "x-float": String(params.Float), + "x-int": String(params.Int), + "x-json": JSON.stringify(params.Json), + "x-optional": params.Optional === undefined ? undefined : String(params.Optional), + "x-string": params.String, + "x-time": String(params.Time), + "x-user-id": String(params.UserID), + "x-uuid": String(params.UUID), }) await this.baseClient.callTypedAPI("GET", `/svc.HeaderOnlyRequest`, undefined, {headers}) @@ -453,6 +466,7 @@ export namespace svc { const body: Record = { "Charlies-Bool": params["Charlies-Bool"], Dave: params.Dave, + optional: params.optional, } // Now make the actual call to the API diff --git a/pkg/clientgen/testdata/goapp/input.go b/pkg/clientgen/testdata/goapp/input.go index 6d4f701522..e229a3d67b 100644 --- a/pkg/clientgen/testdata/goapp/input.go +++ b/pkg/clientgen/testdata/goapp/input.go @@ -13,10 +13,11 @@ import ( "encore.dev/beta/auth" "encore.dev/types/uuid" + "encore.dev/types/option" ) type UnusedType struct { -Foo Foo + Foo Foo } type Wrapper[T any] struct { Value T } @@ -24,8 +25,8 @@ type Wrapper[T any] struct { Value T } // Tuple is a generic type which allows us to // return two values of two different types type Tuple[A any, B any] struct { - A A - B B + A A + B B } type Request struct { @@ -53,7 +54,7 @@ type GetRequest struct { // Foo represents a documented integer type type Foo int -// DocumentedUser represents a user in the system with profile information +// DocumentedUser represents a user in the system with profile information type DocumentedUser struct { Name string `json:"name"` Email string `json:"email"` @@ -64,6 +65,9 @@ type DocumentedOrder struct { // Customer who placed this order (different from shipping recipient) Customer DocumentedUser `json:"customer"` OrderID string `json:"order_id"` + + OptionalRef option.Option[DocumentedUser] `json:"opt_ref"` + RequiredRef *DocumentedUser `json:"req_ref"` } type Nested struct { @@ -76,6 +80,8 @@ type AllInputTypes[A any] struct { C bool `json:"Charlies-Bool,omitempty"` // This can come from anywhere, but if it comes from the payload in JSON it must be called Charile Dave A // This generic type complicates the whole thing 🙈 + Optional option.Option[A] `json:"optional"` // An optional generic type + // Tags named "-" are ignored in schemas Ignore1 string `header:"-"` Ignore2 string `query:"-"` @@ -96,12 +102,15 @@ type HeaderOnlyStruct struct { Json json.RawMessage `header:"x-json"` UUID uuid.UUID `header:"x-uuid"` UserID auth.UID `header:"x-user-id"` + Optional option.Option[string] `header:"x-optional"` } type Recursive struct { Optional *Recursive `encore:"optional"` Slice []Recursive + SliceOfOptional []option.Option[*Recursive] Map map[string]Recursive + MapOfOptional map[string]option.Option[*Recursive] } -- svc/api.go -- diff --git a/pkg/clientgen/types.go b/pkg/clientgen/types.go index e057a7e018..7aba2e340f 100644 --- a/pkg/clientgen/types.go +++ b/pkg/clientgen/types.go @@ -82,6 +82,9 @@ func (v *typeRegistry) Visit(typ *schema.Type) { case *schema.Type_Pointer: v.Visit(t.Pointer.Base) + case *schema.Type_Option: + v.Visit(t.Option.Value) + case *schema.Type_Config: v.Visit(t.Config.Elem) diff --git a/pkg/clientgen/typescript.go b/pkg/clientgen/typescript.go index 9279fb3b06..edd8bdf694 100644 --- a/pkg/clientgen/typescript.go +++ b/pkg/clientgen/typescript.go @@ -1637,6 +1637,13 @@ func (ts *typescript) writeDecl(ns string, decl *schema.Decl) { ts.WriteString(ts.typeName(decl.Name)) } +func (ts *typescript) writeDecl2(buf *bytes.Buffer, ns string, decl *schema.Decl) { + if decl.Loc.PkgName != ns { + buf.WriteString(ts.typeName(decl.Loc.PkgName) + ".") + } + buf.WriteString(ts.typeName(decl.Name)) +} + func (ts *typescript) builtinType(typ schema.Builtin) string { switch typ { case schema.Builtin_ANY: @@ -1724,82 +1731,85 @@ func (ts *typescript) convertStringToBuiltin(typ schema.Builtin, val string) str } func (ts *typescript) writeTyp(ns string, typ *schema.Type, numIndents int) { - switch typ := typ.Typ.(type) { + var buf strings.Builder + ts.renderTyp(ts.Buffer, ns, typ, numIndents) + ts.WriteString(buf.String()) +} + +func (ts *typescript) renderTyp(buf *bytes.Buffer, ns string, tt *schema.Type, numIndents int) { + switch typ := tt.Typ.(type) { case *schema.Type_Named: decl := ts.md.Decls[typ.Named.Id] - ts.writeDecl(ns, decl) + ts.writeDecl2(buf, ns, decl) // Write the type arguments if len(typ.Named.TypeArguments) > 0 { - ts.WriteRune('<') + buf.WriteRune('<') for i, typeArg := range typ.Named.TypeArguments { if i > 0 { - ts.WriteString(", ") + buf.WriteString(", ") } - ts.writeTyp(ns, typeArg, 0) + ts.renderTyp(buf, ns, typeArg, 0) } - ts.WriteRune('>') + buf.WriteRune('>') } case *schema.Type_List: - elem := typ.List.Elem - union, isUnion := elem.Typ.(*schema.Type_Union) - paren := isUnion && len(union.Union.Types) > 1 + // Determine if we need parens by counting the number of union elements. + var unionBuf bytes.Buffer + numCases := ts.renderUnionTypes(&unionBuf, ns, typ.List.Elem, numIndents) + paren := numCases > 1 if paren { - ts.WriteString("(") + buf.WriteString("(") } - ts.writeTyp(ns, elem, numIndents) + + buf.Write(unionBuf.Bytes()) + if paren { - ts.WriteString(")") + buf.WriteString(")") } - ts.WriteString("[]") + buf.WriteString("[]") case *schema.Type_Map: - ts.WriteString("{ [key: ") - ts.writeTyp(ns, typ.Map.Key, numIndents) - ts.WriteString("]: ") - ts.writeTyp(ns, typ.Map.Value, numIndents) - ts.WriteString(" }") + buf.WriteString("{ [key: ") + ts.renderTyp(buf, ns, typ.Map.Key, numIndents) + buf.WriteString("]: ") + ts.renderTyp(buf, ns, typ.Map.Value, numIndents) + buf.WriteString(" }") case *schema.Type_Builtin: - ts.WriteString(ts.builtinType(typ.Builtin)) - - case *schema.Type_Pointer: - // FIXME(ENC-827): Handle pointers in TypeScript in a way which more technically correct without - // making the end user experience of using a generated client worse. - ts.writeTyp(ns, typ.Pointer.Base, numIndents) + buf.WriteString(ts.builtinType(typ.Builtin)) case *schema.Type_Literal: switch lit := typ.Literal.Value.(type) { case *schema.Literal_Str: - ts.WriteString(ts.Quote(lit.Str)) + buf.WriteString(ts.Quote(lit.Str)) case *schema.Literal_Int: - ts.WriteString(strconv.FormatInt(lit.Int, 10)) + buf.WriteString(strconv.FormatInt(lit.Int, 10)) case *schema.Literal_Float: - ts.WriteString(strconv.FormatFloat(lit.Float, 'f', -1, 64)) + buf.WriteString(strconv.FormatFloat(lit.Float, 'f', -1, 64)) case *schema.Literal_Boolean: - ts.WriteString(strconv.FormatBool(lit.Boolean)) + buf.WriteString(strconv.FormatBool(lit.Boolean)) case *schema.Literal_Null: - ts.WriteString("null") + buf.WriteString("null") default: ts.errorf("unknown literal type %T", lit) } + case *schema.Type_Pointer: + ts.renderUnionTypes(buf, ns, tt, numIndents) + case *schema.Type_Option: + ts.renderUnionTypes(buf, ns, tt, numIndents) case *schema.Type_Union: - for i, typ := range typ.Union.Types { - if i > 0 { - ts.WriteString(" | ") - } - ts.writeTyp(ns, typ, numIndents) - } + ts.renderUnionTypes(buf, ns, tt, numIndents) case *schema.Type_Struct: indent := func() { - ts.WriteString(strings.Repeat(" ", numIndents+1)) + buf.WriteString(strings.Repeat(" ", numIndents+1)) } // Filter the fields to print based on struct tags. @@ -1815,56 +1825,101 @@ func (ts *typescript) writeTyp(ns string, typ *schema.Type, numIndents int) { fields = append(fields, f) } - ts.WriteString("{\n") + buf.WriteString("{\n") for i, field := range fields { if field.Doc != "" { scanner := bufio.NewScanner(strings.NewReader(field.Doc)) indent() - ts.WriteString("/**\n") + buf.WriteString("/**\n") for scanner.Scan() { indent() - ts.WriteString(" * ") - ts.WriteString(scanner.Text()) - ts.WriteByte('\n') + buf.WriteString(" * ") + buf.WriteString(scanner.Text()) + buf.WriteByte('\n') } indent() - ts.WriteString(" */\n") + buf.WriteString(" */\n") } indent() - ts.WriteString(ts.QuoteIfRequired(ts.fieldNameInStruct(field))) + buf.WriteString(ts.QuoteIfRequired(ts.fieldNameInStruct(field))) if field.Optional || ts.isRecursive(field.Typ) { - ts.WriteString("?") + buf.WriteString("?") } - ts.WriteString(": ") - ts.writeTyp(ns, field.Typ, numIndents+1) - ts.WriteString("\n") + buf.WriteString(": ") + ts.renderTyp(buf, ns, field.Typ, numIndents+1) + buf.WriteString("\n") // Add another empty line if we have a doc comment // and this was not the last field. if field.Doc != "" && i < len(fields)-1 { - ts.WriteByte('\n') + buf.WriteByte('\n') } } - ts.WriteString(strings.Repeat(" ", numIndents)) - ts.WriteByte('}') + buf.WriteString(strings.Repeat(" ", numIndents)) + buf.WriteByte('}') case *schema.Type_TypeParameter: decl := ts.md.Decls[typ.TypeParameter.DeclId] typeParam := decl.TypeParams[typ.TypeParameter.ParamIdx] - ts.WriteString(typeParam.Name) + buf.WriteString(typeParam.Name) case *schema.Type_Config: // Config type is transparent - ts.writeTyp(ns, typ.Config.Elem, numIndents) + ts.renderTyp(buf, ns, typ.Config.Elem, numIndents) default: ts.errorf("unknown type %+v", reflect.TypeOf(typ)) } } +func (ts *typescript) renderUnionTypes(buf *bytes.Buffer, ns string, typ *schema.Type, numIndents int) (renderedCases int) { + cases := ts.getUnionCases(typ) + seenCases := make(map[string]bool) + for i, caseType := range cases { + var caseBuf bytes.Buffer + ts.renderTyp(&caseBuf, ns, caseType, numIndents) + caseStr := caseBuf.String() + if seenCases[caseStr] { + continue + } + seenCases[caseStr] = true + renderedCases++ + + if i > 0 { + buf.WriteString(" | ") + } + buf.WriteString(caseStr) + } + return renderedCases +} + +func (ts *typescript) getUnionCases(typ *schema.Type) []*schema.Type { + null := &schema.Type{ + Typ: &schema.Type_Literal{ + Literal: &schema.Literal{ + Value: &schema.Literal_Null{Null: true}, + }, + }, + } + + switch tt := typ.Typ.(type) { + case *schema.Type_Union: + return slices.Clone(tt.Union.Types) + case *schema.Type_Option: + return append(ts.getUnionCases(tt.Option.Value), null) + case *schema.Type_Pointer: + // We do not treat pointers as nullable, as we have the Option type for that. + // This makes a lot of APIs nicer to use. + return ts.getUnionCases(tt.Pointer.Base) + + default: + return []*schema.Type{typ} + } +} + type bailout struct{ err error } func (ts *typescript) errorf(format string, args ...interface{}) { diff --git a/pkg/errinsrc/srcerrors/helpers.go b/pkg/errinsrc/srcerrors/helpers.go index 117ea7d80a..849742aa79 100644 --- a/pkg/errinsrc/srcerrors/helpers.go +++ b/pkg/errinsrc/srcerrors/helpers.go @@ -150,6 +150,9 @@ func schemaType(typ *schema.Type) string { case *schema.Type_Pointer: return "a pointer to " + schemaType(tt.Pointer.Base) + case *schema.Type_Option: + return "an optional " + schemaType(tt.Option.Value) + case *schema.Type_TypeParameter: return "a type parameter" diff --git a/pkg/scrub/metascrub/metascrub.go b/pkg/scrub/metascrub/metascrub.go index d60f6ef7e5..50aee1113b 100644 --- a/pkg/scrub/metascrub/metascrub.go +++ b/pkg/scrub/metascrub/metascrub.go @@ -163,6 +163,9 @@ func (p *typeParser) typ(typ *schema.Type) declResult { case *schema.Type_Pointer: return p.typ(t.Pointer.Base) + case *schema.Type_Option: + return p.typ(t.Option.Value) + case *schema.Type_List: return p.typ(t.List.Elem) diff --git a/pkg/scrub/metascrub/metascrub_test.go b/pkg/scrub/metascrub/metascrub_test.go index 3218a7cd86..7bc0576d25 100644 --- a/pkg/scrub/metascrub/metascrub_test.go +++ b/pkg/scrub/metascrub/metascrub_test.go @@ -23,7 +23,10 @@ func TestScrub(t *testing.T) { md := testParse(c, ` -- svc/svc.go -- package svc -import "context" +import ( + "context" + "encore.dev/types/option" +) type Params struct { Foo string SCRUB @@ -48,6 +51,9 @@ type Params struct { GenInner Generic[Bar] Multi NestedGeneric[string, Bar] + Option option.Option[Generic[string]] + OptionScrub option.Option[Generic[string]] SCRUB + MapOne map[Generic[Bar]]NestedGeneric[string, Bar] MapTwo GenericMap[Bar, NestedGeneric[string, Bar]] @@ -109,6 +115,9 @@ func Foo(ctx context.Context, p *Params) error { return nil } {f("Multi"), f("One"), f("Alpha"), f("Scrub")}, {f("Multi"), f("Two"), f("Scrub")}, + {f("Option"), f("FooScrub")}, + {f("OptionScrub")}, + {f("MapOne"), mapKey, f("FooScrub")}, {f("MapOne"), mapKey, f("Foo"), f("Scrub")}, {f("MapOne"), mapVal, f("One"), f("Alpha"), f("Scrub")}, @@ -158,7 +167,7 @@ func Foo(ctx context.Context, p *Params) error { return nil } } func testParse(c *qt.C, code string) *meta.Data { - code = strings.Replace(code, "SCRUB", "`encore:\"sensitive\"`", -1) + code = strings.ReplaceAll(code, "SCRUB", "`encore:\"sensitive\"`") ar := txtar.Parse([]byte(code)) ar.Files = append(ar.Files, txtar.File{Name: "go.mod", Data: []byte("module test")}) diff --git a/proto/encore/daemon/daemon.pb.go b/proto/encore/daemon/daemon.pb.go index 7fa81fbe29..38b77b5b31 100644 --- a/proto/encore/daemon/daemon.pb.go +++ b/proto/encore/daemon/daemon.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/daemon/daemon.proto package daemon @@ -12,6 +12,7 @@ import ( emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -276,25 +277,22 @@ func (DumpMetaRequest_Format) EnumDescriptor() ([]byte, []int) { } type CommandMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Msg: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Msg: // // *CommandMessage_Output // *CommandMessage_Exit // *CommandMessage_Errors - Msg isCommandMessage_Msg `protobuf_oneof:"msg"` + Msg isCommandMessage_Msg `protobuf_oneof:"msg"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommandMessage) Reset() { *x = CommandMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandMessage) String() string { @@ -305,7 +303,7 @@ func (*CommandMessage) ProtoMessage() {} func (x *CommandMessage) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -320,30 +318,36 @@ func (*CommandMessage) Descriptor() ([]byte, []int) { return file_encore_daemon_daemon_proto_rawDescGZIP(), []int{0} } -func (m *CommandMessage) GetMsg() isCommandMessage_Msg { - if m != nil { - return m.Msg +func (x *CommandMessage) GetMsg() isCommandMessage_Msg { + if x != nil { + return x.Msg } return nil } func (x *CommandMessage) GetOutput() *CommandOutput { - if x, ok := x.GetMsg().(*CommandMessage_Output); ok { - return x.Output + if x != nil { + if x, ok := x.Msg.(*CommandMessage_Output); ok { + return x.Output + } } return nil } func (x *CommandMessage) GetExit() *CommandExit { - if x, ok := x.GetMsg().(*CommandMessage_Exit); ok { - return x.Exit + if x != nil { + if x, ok := x.Msg.(*CommandMessage_Exit); ok { + return x.Exit + } } return nil } func (x *CommandMessage) GetErrors() *CommandDisplayErrors { - if x, ok := x.GetMsg().(*CommandMessage_Errors); ok { - return x.Errors + if x != nil { + if x, ok := x.Msg.(*CommandMessage_Errors); ok { + return x.Errors + } } return nil } @@ -371,21 +375,18 @@ func (*CommandMessage_Exit) isCommandMessage_Msg() {} func (*CommandMessage_Errors) isCommandMessage_Msg() {} type CommandOutput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"` + Stderr []byte `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"` unknownFields protoimpl.UnknownFields - - Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"` - Stderr []byte `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CommandOutput) Reset() { *x = CommandOutput{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandOutput) String() string { @@ -396,7 +397,7 @@ func (*CommandOutput) ProtoMessage() {} func (x *CommandOutput) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -426,20 +427,17 @@ func (x *CommandOutput) GetStderr() []byte { } type CommandExit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // exit code unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // exit code + sizeCache protoimpl.SizeCache } func (x *CommandExit) Reset() { *x = CommandExit{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandExit) String() string { @@ -450,7 +448,7 @@ func (*CommandExit) ProtoMessage() {} func (x *CommandExit) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -473,20 +471,17 @@ func (x *CommandExit) GetCode() int32 { } type CommandDisplayErrors struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Errinsrc []byte `protobuf:"bytes,1,opt,name=errinsrc,proto3" json:"errinsrc,omitempty"` // error messages in source code unknownFields protoimpl.UnknownFields - - Errinsrc []byte `protobuf:"bytes,1,opt,name=errinsrc,proto3" json:"errinsrc,omitempty"` // error messages in source code + sizeCache protoimpl.SizeCache } func (x *CommandDisplayErrors) Reset() { *x = CommandDisplayErrors{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandDisplayErrors) String() string { @@ -497,7 +492,7 @@ func (*CommandDisplayErrors) ProtoMessage() {} func (x *CommandDisplayErrors) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -520,25 +515,22 @@ func (x *CommandDisplayErrors) GetErrinsrc() []byte { } type CreateAppRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // app_root is the absolute filesystem path to the Encore app root. AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` // template is the template used to create the app Template string `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` // tutorial is a flag to indicate if the app is a tutorial app - Tutorial bool `protobuf:"varint,3,opt,name=tutorial,proto3" json:"tutorial,omitempty"` + Tutorial bool `protobuf:"varint,3,opt,name=tutorial,proto3" json:"tutorial,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateAppRequest) Reset() { *x = CreateAppRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateAppRequest) String() string { @@ -549,7 +541,7 @@ func (*CreateAppRequest) ProtoMessage() {} func (x *CreateAppRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -586,20 +578,17 @@ func (x *CreateAppRequest) GetTutorial() bool { } type CreateAppResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` unknownFields protoimpl.UnknownFields - - AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CreateAppResponse) Reset() { *x = CreateAppResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateAppResponse) String() string { @@ -610,7 +599,7 @@ func (*CreateAppResponse) ProtoMessage() {} func (x *CreateAppResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -633,10 +622,7 @@ func (x *CreateAppResponse) GetAppId() string { } type RunRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // app_root is the absolute filesystem path to the Encore app root. AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` // working_dir is the working directory relative to the app_root, @@ -658,16 +644,16 @@ type RunRequest struct { // browser specifies whether and how to open the browser on startup. Browser RunRequest_BrowserMode `protobuf:"varint,10,opt,name=browser,proto3,enum=encore.daemon.RunRequest_BrowserMode" json:"browser,omitempty"` // debug_mode specifies the debug mode to use. - DebugMode RunRequest_DebugMode `protobuf:"varint,11,opt,name=debug_mode,json=debugMode,proto3,enum=encore.daemon.RunRequest_DebugMode" json:"debug_mode,omitempty"` + DebugMode RunRequest_DebugMode `protobuf:"varint,11,opt,name=debug_mode,json=debugMode,proto3,enum=encore.daemon.RunRequest_DebugMode" json:"debug_mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RunRequest) Reset() { *x = RunRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RunRequest) String() string { @@ -678,7 +664,7 @@ func (*RunRequest) ProtoMessage() {} func (x *RunRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -757,13 +743,10 @@ func (x *RunRequest) GetDebugMode() RunRequest_DebugMode { } type TestRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). Environ []string `protobuf:"bytes,4,rep,name=environ,proto3" json:"environ,omitempty"` @@ -774,16 +757,16 @@ type TestRequest struct { CodegenDebug bool `protobuf:"varint,7,opt,name=codegen_debug,json=codegenDebug,proto3" json:"codegen_debug,omitempty"` // temp_dir is a temp dir that will be cleaned up after tests have been executed // to write things like app meta and runtime config etc. - TempDir string `protobuf:"bytes,8,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"` + TempDir string `protobuf:"bytes,8,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TestRequest) Reset() { *x = TestRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TestRequest) String() string { @@ -794,7 +777,7 @@ func (*TestRequest) ProtoMessage() {} func (x *TestRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -859,28 +842,25 @@ func (x *TestRequest) GetTempDir() string { } type TestSpecRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). Environ []string `protobuf:"bytes,4,rep,name=environ,proto3" json:"environ,omitempty"` // temp_dir is a temp dir that will be cleaned up after tests have been executed // to write things like app meta and runtime config etc. - TempDir string `protobuf:"bytes,5,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"` + TempDir string `protobuf:"bytes,5,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TestSpecRequest) Reset() { *x = TestSpecRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TestSpecRequest) String() string { @@ -891,7 +871,7 @@ func (*TestSpecRequest) ProtoMessage() {} func (x *TestSpecRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -942,22 +922,19 @@ func (x *TestSpecRequest) GetTempDir() string { } type TestSpecResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"` + Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + Environ []string `protobuf:"bytes,3,rep,name=environ,proto3" json:"environ,omitempty"` unknownFields protoimpl.UnknownFields - - Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"` - Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - Environ []string `protobuf:"bytes,3,rep,name=environ,proto3" json:"environ,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TestSpecResponse) Reset() { *x = TestSpecResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TestSpecResponse) String() string { @@ -968,7 +945,7 @@ func (*TestSpecResponse) ProtoMessage() {} func (x *TestSpecResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1005,13 +982,10 @@ func (x *TestSpecResponse) GetEnviron() []string { } type ExecScriptRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` - ScriptArgs []string `protobuf:"bytes,4,rep,name=script_args,json=scriptArgs,proto3" json:"script_args,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` + ScriptArgs []string `protobuf:"bytes,4,rep,name=script_args,json=scriptArgs,proto3" json:"script_args,omitempty"` // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). Environ []string `protobuf:"bytes,5,rep,name=environ,proto3" json:"environ,omitempty"` @@ -1020,16 +994,16 @@ type ExecScriptRequest struct { TraceFile *string `protobuf:"bytes,6,opt,name=trace_file,json=traceFile,proto3,oneof" json:"trace_file,omitempty"` // namespace is the infrastructure namespace to use. // If empty the active namespace is used. - Namespace *string `protobuf:"bytes,7,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + Namespace *string `protobuf:"bytes,7,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExecScriptRequest) Reset() { *x = ExecScriptRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExecScriptRequest) String() string { @@ -1040,7 +1014,7 @@ func (*ExecScriptRequest) ProtoMessage() {} func (x *ExecScriptRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1098,28 +1072,25 @@ func (x *ExecScriptRequest) GetNamespace() string { } type CheckRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` // codegen_debug, if true, dumps the generated code and prints where it is located. CodegenDebug bool `protobuf:"varint,3,opt,name=codegen_debug,json=codegenDebug,proto3" json:"codegen_debug,omitempty"` // parse_tests, if true, exercises test parsing and codegen as well. ParseTests bool `protobuf:"varint,4,opt,name=parse_tests,json=parseTests,proto3" json:"parse_tests,omitempty"` // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). - Environ []string `protobuf:"bytes,5,rep,name=environ,proto3" json:"environ,omitempty"` + Environ []string `protobuf:"bytes,5,rep,name=environ,proto3" json:"environ,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CheckRequest) Reset() { *x = CheckRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CheckRequest) String() string { @@ -1130,7 +1101,7 @@ func (*CheckRequest) ProtoMessage() {} func (x *CheckRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1181,11 +1152,8 @@ func (x *CheckRequest) GetEnviron() []string { } type ExportRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` // goos and goarch specify the platform configuration to compile // the application for. The values must be valid GOOS/GOARCH values. Goos string `protobuf:"bytes,2,opt,name=goos,proto3" json:"goos,omitempty"` @@ -1197,7 +1165,7 @@ type ExportRequest struct { // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). Environ []string `protobuf:"bytes,5,rep,name=environ,proto3" json:"environ,omitempty"` - // Types that are assignable to Format: + // Types that are valid to be assigned to Format: // // *ExportRequest_Docker Format isExportRequest_Format `protobuf_oneof:"format"` @@ -1207,15 +1175,15 @@ type ExportRequest struct { SkipInfraConf bool `protobuf:"varint,10,opt,name=skip_infra_conf,json=skipInfraConf,proto3" json:"skip_infra_conf,omitempty"` // A parent path to app_root containing the .git, or the same as app_root WorkspaceRoot string `protobuf:"bytes,11,opt,name=workspace_root,json=workspaceRoot,proto3" json:"workspace_root,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExportRequest) Reset() { *x = ExportRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExportRequest) String() string { @@ -1226,7 +1194,7 @@ func (*ExportRequest) ProtoMessage() {} func (x *ExportRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1276,16 +1244,18 @@ func (x *ExportRequest) GetEnviron() []string { return nil } -func (m *ExportRequest) GetFormat() isExportRequest_Format { - if m != nil { - return m.Format +func (x *ExportRequest) GetFormat() isExportRequest_Format { + if x != nil { + return x.Format } return nil } func (x *ExportRequest) GetDocker() *DockerExportParams { - if x, ok := x.GetFormat().(*ExportRequest_Docker); ok { - return x.Docker + if x != nil { + if x, ok := x.Format.(*ExportRequest_Docker); ok { + return x.Docker + } } return nil } @@ -1337,10 +1307,7 @@ type ExportRequest_Docker struct { func (*ExportRequest_Docker) isExportRequest_Format() {} type DockerExportParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // local_daemon_tag specifies what to tag the image as // in the local Docker daemon. If empty the export does not // interact with (or require) the local docker daemon at all. @@ -1350,16 +1317,16 @@ type DockerExportParams struct { // is not pushed anywhere. PushDestinationTag string `protobuf:"bytes,2,opt,name=push_destination_tag,json=pushDestinationTag,proto3" json:"push_destination_tag,omitempty"` // base_image_tag is the base image to build the image from. - BaseImageTag string `protobuf:"bytes,3,opt,name=base_image_tag,json=baseImageTag,proto3" json:"base_image_tag,omitempty"` + BaseImageTag string `protobuf:"bytes,3,opt,name=base_image_tag,json=baseImageTag,proto3" json:"base_image_tag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DockerExportParams) Reset() { *x = DockerExportParams{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DockerExportParams) String() string { @@ -1370,7 +1337,7 @@ func (*DockerExportParams) ProtoMessage() {} func (x *DockerExportParams) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1407,27 +1374,24 @@ func (x *DockerExportParams) GetBaseImageTag() string { } type DBConnectRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` - EnvName string `protobuf:"bytes,3,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` // optional - ClusterType DBClusterType `protobuf:"varint,4,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + EnvName string `protobuf:"bytes,3,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` // optional + ClusterType DBClusterType `protobuf:"varint,4,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` // namespace is the infrastructure namespace to use. // If empty the active namespace is used. - Namespace *string `protobuf:"bytes,5,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` - Role DBRole `protobuf:"varint,6,opt,name=role,proto3,enum=encore.daemon.DBRole" json:"role,omitempty"` + Namespace *string `protobuf:"bytes,5,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + Role DBRole `protobuf:"varint,6,opt,name=role,proto3,enum=encore.daemon.DBRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DBConnectRequest) Reset() { *x = DBConnectRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBConnectRequest) String() string { @@ -1438,7 +1402,7 @@ func (*DBConnectRequest) ProtoMessage() {} func (x *DBConnectRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1496,20 +1460,17 @@ func (x *DBConnectRequest) GetRole() DBRole { } type DBConnectResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Dsn string `protobuf:"bytes,1,opt,name=dsn,proto3" json:"dsn,omitempty"` unknownFields protoimpl.UnknownFields - - Dsn string `protobuf:"bytes,1,opt,name=dsn,proto3" json:"dsn,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DBConnectResponse) Reset() { *x = DBConnectResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBConnectResponse) String() string { @@ -1520,7 +1481,7 @@ func (*DBConnectResponse) ProtoMessage() {} func (x *DBConnectResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1543,27 +1504,24 @@ func (x *DBConnectResponse) GetDsn() string { } type DBProxyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - EnvName string `protobuf:"bytes,2,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` // optional - Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // optional - ClusterType DBClusterType `protobuf:"varint,4,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + EnvName string `protobuf:"bytes,2,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` // optional + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // optional + ClusterType DBClusterType `protobuf:"varint,4,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` // namespace is the infrastructure namespace to use. // If empty the active namespace is used. - Namespace *string `protobuf:"bytes,5,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` - Role DBRole `protobuf:"varint,6,opt,name=role,proto3,enum=encore.daemon.DBRole" json:"role,omitempty"` + Namespace *string `protobuf:"bytes,5,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + Role DBRole `protobuf:"varint,6,opt,name=role,proto3,enum=encore.daemon.DBRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DBProxyRequest) Reset() { *x = DBProxyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBProxyRequest) String() string { @@ -1574,7 +1532,7 @@ func (*DBProxyRequest) ProtoMessage() {} func (x *DBProxyRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1632,25 +1590,22 @@ func (x *DBProxyRequest) GetRole() DBRole { } type DBResetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - DatabaseNames []string `protobuf:"bytes,2,rep,name=database_names,json=databaseNames,proto3" json:"database_names,omitempty"` // database names to reset - ClusterType DBClusterType `protobuf:"varint,3,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + DatabaseNames []string `protobuf:"bytes,2,rep,name=database_names,json=databaseNames,proto3" json:"database_names,omitempty"` // database names to reset + ClusterType DBClusterType `protobuf:"varint,3,opt,name=cluster_type,json=clusterType,proto3,enum=encore.daemon.DBClusterType" json:"cluster_type,omitempty"` // namespace is the infrastructure namespace to use. // If empty the active namespace is used. - Namespace *string `protobuf:"bytes,4,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + Namespace *string `protobuf:"bytes,4,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DBResetRequest) Reset() { *x = DBResetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBResetRequest) String() string { @@ -1661,7 +1616,7 @@ func (*DBResetRequest) ProtoMessage() {} func (x *DBResetRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1705,14 +1660,11 @@ func (x *DBResetRequest) GetNamespace() string { } type GenClientRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` - EnvName string `protobuf:"bytes,2,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` - Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` - Filepath string `protobuf:"bytes,4,opt,name=filepath,proto3" json:"filepath,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + EnvName string `protobuf:"bytes,2,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` + Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` + Filepath string `protobuf:"bytes,4,opt,name=filepath,proto3" json:"filepath,omitempty"` // Services to include in the output. // If the string "*" is present all services are included. Services []string `protobuf:"bytes,5,rep,name=services,proto3" json:"services,omitempty"` @@ -1738,15 +1690,15 @@ type GenClientRequest struct { // an instantiated client with the given target. The target can be e.g. // a variable, e.g. "import.meta.env.VITE_CLIENT_TARGET" or a string literal. TsClientTarget *string `protobuf:"bytes,11,opt,name=ts_client_target,json=tsClientTarget,proto3,oneof" json:"ts_client_target,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GenClientRequest) Reset() { *x = GenClientRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenClientRequest) String() string { @@ -1757,7 +1709,7 @@ func (*GenClientRequest) ProtoMessage() {} func (x *GenClientRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1850,20 +1802,17 @@ func (x *GenClientRequest) GetTsClientTarget() string { } type GenClientResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code []byte `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` unknownFields protoimpl.UnknownFields - - Code []byte `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GenClientResponse) Reset() { *x = GenClientResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenClientResponse) String() string { @@ -1874,7 +1823,7 @@ func (*GenClientResponse) ProtoMessage() {} func (x *GenClientResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1897,20 +1846,17 @@ func (x *GenClientResponse) GetCode() []byte { } type GenWrappersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GenWrappersRequest) Reset() { *x = GenWrappersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenWrappersRequest) String() string { @@ -1921,7 +1867,7 @@ func (*GenWrappersRequest) ProtoMessage() {} func (x *GenWrappersRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1944,18 +1890,16 @@ func (x *GenWrappersRequest) GetAppRoot() string { } type GenWrappersResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GenWrappersResponse) Reset() { *x = GenWrappersResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenWrappersResponse) String() string { @@ -1966,7 +1910,7 @@ func (*GenWrappersResponse) ProtoMessage() {} func (x *GenWrappersResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1982,22 +1926,19 @@ func (*GenWrappersResponse) Descriptor() ([]byte, []int) { } type SecretsRefreshRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SecretsRefreshRequest) Reset() { *x = SecretsRefreshRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SecretsRefreshRequest) String() string { @@ -2008,7 +1949,7 @@ func (*SecretsRefreshRequest) ProtoMessage() {} func (x *SecretsRefreshRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2045,18 +1986,16 @@ func (x *SecretsRefreshRequest) GetValue() string { } type SecretsRefreshResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SecretsRefreshResponse) Reset() { *x = SecretsRefreshResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SecretsRefreshResponse) String() string { @@ -2067,7 +2006,7 @@ func (*SecretsRefreshResponse) ProtoMessage() {} func (x *SecretsRefreshResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2083,21 +2022,18 @@ func (*SecretsRefreshResponse) Descriptor() ([]byte, []int) { } type VersionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + ConfigHash string `protobuf:"bytes,2,opt,name=config_hash,json=configHash,proto3" json:"config_hash,omitempty"` unknownFields protoimpl.UnknownFields - - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - ConfigHash string `protobuf:"bytes,2,opt,name=config_hash,json=configHash,proto3" json:"config_hash,omitempty"` + sizeCache protoimpl.SizeCache } func (x *VersionResponse) Reset() { *x = VersionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VersionResponse) String() string { @@ -2108,7 +2044,7 @@ func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2138,24 +2074,21 @@ func (x *VersionResponse) GetConfigHash() string { } type Namespace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"` + CreatedAt string `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + LastActiveAt *string `protobuf:"bytes,5,opt,name=last_active_at,json=lastActiveAt,proto3,oneof" json:"last_active_at,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"` - CreatedAt string `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - LastActiveAt *string `protobuf:"bytes,5,opt,name=last_active_at,json=lastActiveAt,proto3,oneof" json:"last_active_at,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Namespace) Reset() { *x = Namespace{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Namespace) String() string { @@ -2166,7 +2099,7 @@ func (*Namespace) ProtoMessage() {} func (x *Namespace) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2217,21 +2150,18 @@ func (x *Namespace) GetLastActiveAt() string { } type CreateNamespaceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CreateNamespaceRequest) Reset() { *x = CreateNamespaceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateNamespaceRequest) String() string { @@ -2242,7 +2172,7 @@ func (*CreateNamespaceRequest) ProtoMessage() {} func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2272,22 +2202,19 @@ func (x *CreateNamespaceRequest) GetName() string { } type SwitchNamespaceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Create bool `protobuf:"varint,3,opt,name=create,proto3" json:"create,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Create bool `protobuf:"varint,3,opt,name=create,proto3" json:"create,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SwitchNamespaceRequest) Reset() { *x = SwitchNamespaceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SwitchNamespaceRequest) String() string { @@ -2298,7 +2225,7 @@ func (*SwitchNamespaceRequest) ProtoMessage() {} func (x *SwitchNamespaceRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2335,20 +2262,17 @@ func (x *SwitchNamespaceRequest) GetCreate() bool { } type ListNamespacesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListNamespacesRequest) Reset() { *x = ListNamespacesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListNamespacesRequest) String() string { @@ -2359,7 +2283,7 @@ func (*ListNamespacesRequest) ProtoMessage() {} func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2382,21 +2306,18 @@ func (x *ListNamespacesRequest) GetAppRoot() string { } type DeleteNamespaceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DeleteNamespaceRequest) Reset() { *x = DeleteNamespaceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeleteNamespaceRequest) String() string { @@ -2407,7 +2328,7 @@ func (*DeleteNamespaceRequest) ProtoMessage() {} func (x *DeleteNamespaceRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2437,20 +2358,17 @@ func (x *DeleteNamespaceRequest) GetName() string { } type ListNamespacesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Namespaces []*Namespace `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` unknownFields protoimpl.UnknownFields - - Namespaces []*Namespace `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListNamespacesResponse) Reset() { *x = ListNamespacesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListNamespacesResponse) String() string { @@ -2461,7 +2379,7 @@ func (*ListNamespacesResponse) ProtoMessage() {} func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2484,22 +2402,19 @@ func (x *ListNamespacesResponse) GetNamespaces() []*Namespace { } type TelemetryConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AnonId string `protobuf:"bytes,1,opt,name=anon_id,json=anonId,proto3" json:"anon_id,omitempty"` + Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` + Debug bool `protobuf:"varint,3,opt,name=debug,proto3" json:"debug,omitempty"` unknownFields protoimpl.UnknownFields - - AnonId string `protobuf:"bytes,1,opt,name=anon_id,json=anonId,proto3" json:"anon_id,omitempty"` - Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` - Debug bool `protobuf:"varint,3,opt,name=debug,proto3" json:"debug,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TelemetryConfig) Reset() { *x = TelemetryConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TelemetryConfig) String() string { @@ -2510,7 +2425,7 @@ func (*TelemetryConfig) ProtoMessage() {} func (x *TelemetryConfig) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2547,27 +2462,24 @@ func (x *TelemetryConfig) GetDebug() bool { } type DumpMetaRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` - WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` // for error reporting + state protoimpl.MessageState `protogen:"open.v1"` + AppRoot string `protobuf:"bytes,1,opt,name=app_root,json=appRoot,proto3" json:"app_root,omitempty"` + WorkingDir string `protobuf:"bytes,2,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` // for error reporting // environ is the environment to set for the running command. // Each entry is a string in the format "KEY=VALUE", identical to os.Environ(). Environ []string `protobuf:"bytes,3,rep,name=environ,proto3" json:"environ,omitempty"` // Whether or not to parse tests. - ParseTests bool `protobuf:"varint,4,opt,name=parse_tests,json=parseTests,proto3" json:"parse_tests,omitempty"` - Format DumpMetaRequest_Format `protobuf:"varint,5,opt,name=format,proto3,enum=encore.daemon.DumpMetaRequest_Format" json:"format,omitempty"` + ParseTests bool `protobuf:"varint,4,opt,name=parse_tests,json=parseTests,proto3" json:"parse_tests,omitempty"` + Format DumpMetaRequest_Format `protobuf:"varint,5,opt,name=format,proto3,enum=encore.daemon.DumpMetaRequest_Format" json:"format,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DumpMetaRequest) Reset() { *x = DumpMetaRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpMetaRequest) String() string { @@ -2578,7 +2490,7 @@ func (*DumpMetaRequest) ProtoMessage() {} func (x *DumpMetaRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2629,20 +2541,17 @@ func (x *DumpMetaRequest) GetFormat() DumpMetaRequest_Format { } type DumpMetaResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Meta []byte `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` unknownFields protoimpl.UnknownFields - - Meta []byte `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DumpMetaResponse) Reset() { *x = DumpMetaResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpMetaResponse) String() string { @@ -2653,7 +2562,7 @@ func (*DumpMetaResponse) ProtoMessage() {} func (x *DumpMetaResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2677,18 +2586,16 @@ func (x *DumpMetaResponse) GetMeta() []byte { // The following messages are used for sqlc plugin integration. type SQLCPlugin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin) Reset() { *x = SQLCPlugin{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin) String() string { @@ -2699,7 +2606,7 @@ func (*SQLCPlugin) ProtoMessage() {} func (x *SQLCPlugin) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2715,21 +2622,18 @@ func (*SQLCPlugin) Descriptor() ([]byte, []int) { } type SQLCPlugin_File struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Contents []byte `protobuf:"bytes,2,opt,name=contents,proto3" json:"contents,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Contents []byte `protobuf:"bytes,2,opt,name=contents,proto3" json:"contents,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_File) Reset() { *x = SQLCPlugin_File{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_File) String() string { @@ -2740,7 +2644,7 @@ func (*SQLCPlugin_File) ProtoMessage() {} func (x *SQLCPlugin_File) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2770,24 +2674,21 @@ func (x *SQLCPlugin_File) GetContents() []byte { } type SQLCPlugin_Settings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Engine string `protobuf:"bytes,2,opt,name=engine,proto3" json:"engine,omitempty"` + Schema []string `protobuf:"bytes,3,rep,name=schema,proto3" json:"schema,omitempty"` + Queries []string `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` + Codegen *SQLCPlugin_Codegen `protobuf:"bytes,12,opt,name=codegen,proto3" json:"codegen,omitempty"` unknownFields protoimpl.UnknownFields - - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - Engine string `protobuf:"bytes,2,opt,name=engine,proto3" json:"engine,omitempty"` - Schema []string `protobuf:"bytes,3,rep,name=schema,proto3" json:"schema,omitempty"` - Queries []string `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` - Codegen *SQLCPlugin_Codegen `protobuf:"bytes,12,opt,name=codegen,proto3" json:"codegen,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Settings) Reset() { *x = SQLCPlugin_Settings{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Settings) String() string { @@ -2798,7 +2699,7 @@ func (*SQLCPlugin_Settings) ProtoMessage() {} func (x *SQLCPlugin_Settings) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2849,25 +2750,22 @@ func (x *SQLCPlugin_Settings) GetCodegen() *SQLCPlugin_Codegen { } type SQLCPlugin_Codegen struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Out string `protobuf:"bytes,1,opt,name=out,proto3" json:"out,omitempty"` + Plugin string `protobuf:"bytes,2,opt,name=plugin,proto3" json:"plugin,omitempty"` + Options []byte `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` + Env []string `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"` + Process *SQLCPlugin_Codegen_Process `protobuf:"bytes,5,opt,name=process,proto3" json:"process,omitempty"` + Wasm *SQLCPlugin_Codegen_WASM `protobuf:"bytes,6,opt,name=wasm,proto3" json:"wasm,omitempty"` unknownFields protoimpl.UnknownFields - - Out string `protobuf:"bytes,1,opt,name=out,proto3" json:"out,omitempty"` - Plugin string `protobuf:"bytes,2,opt,name=plugin,proto3" json:"plugin,omitempty"` - Options []byte `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` - Env []string `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"` - Process *SQLCPlugin_Codegen_Process `protobuf:"bytes,5,opt,name=process,proto3" json:"process,omitempty"` - Wasm *SQLCPlugin_Codegen_WASM `protobuf:"bytes,6,opt,name=wasm,proto3" json:"wasm,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Codegen) Reset() { *x = SQLCPlugin_Codegen{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Codegen) String() string { @@ -2878,7 +2776,7 @@ func (*SQLCPlugin_Codegen) ProtoMessage() {} func (x *SQLCPlugin_Codegen) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2936,23 +2834,20 @@ func (x *SQLCPlugin_Codegen) GetWasm() *SQLCPlugin_Codegen_WASM { } type SQLCPlugin_Catalog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + DefaultSchema string `protobuf:"bytes,2,opt,name=default_schema,json=defaultSchema,proto3" json:"default_schema,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Schemas []*SQLCPlugin_Schema `protobuf:"bytes,4,rep,name=schemas,proto3" json:"schemas,omitempty"` unknownFields protoimpl.UnknownFields - - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` - DefaultSchema string `protobuf:"bytes,2,opt,name=default_schema,json=defaultSchema,proto3" json:"default_schema,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Schemas []*SQLCPlugin_Schema `protobuf:"bytes,4,rep,name=schemas,proto3" json:"schemas,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Catalog) Reset() { *x = SQLCPlugin_Catalog{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Catalog) String() string { @@ -2963,7 +2858,7 @@ func (*SQLCPlugin_Catalog) ProtoMessage() {} func (x *SQLCPlugin_Catalog) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3007,24 +2902,21 @@ func (x *SQLCPlugin_Catalog) GetSchemas() []*SQLCPlugin_Schema { } type SQLCPlugin_Schema struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Tables []*SQLCPlugin_Table `protobuf:"bytes,3,rep,name=tables,proto3" json:"tables,omitempty"` Enums []*SQLCPlugin_Enum `protobuf:"bytes,4,rep,name=enums,proto3" json:"enums,omitempty"` CompositeTypes []*SQLCPlugin_CompositeType `protobuf:"bytes,5,rep,name=composite_types,json=compositeTypes,proto3" json:"composite_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Schema) Reset() { *x = SQLCPlugin_Schema{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Schema) String() string { @@ -3035,7 +2927,7 @@ func (*SQLCPlugin_Schema) ProtoMessage() {} func (x *SQLCPlugin_Schema) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3086,21 +2978,18 @@ func (x *SQLCPlugin_Schema) GetCompositeTypes() []*SQLCPlugin_CompositeType { } type SQLCPlugin_CompositeType struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_CompositeType) Reset() { *x = SQLCPlugin_CompositeType{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_CompositeType) String() string { @@ -3111,7 +3000,7 @@ func (*SQLCPlugin_CompositeType) ProtoMessage() {} func (x *SQLCPlugin_CompositeType) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3141,22 +3030,19 @@ func (x *SQLCPlugin_CompositeType) GetComment() string { } type SQLCPlugin_Enum struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Vals []string `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Vals []string `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Enum) Reset() { *x = SQLCPlugin_Enum{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Enum) String() string { @@ -3167,7 +3053,7 @@ func (*SQLCPlugin_Enum) ProtoMessage() {} func (x *SQLCPlugin_Enum) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3204,22 +3090,19 @@ func (x *SQLCPlugin_Enum) GetComment() string { } type SQLCPlugin_Table struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Rel *SQLCPlugin_Identifier `protobuf:"bytes,1,opt,name=rel,proto3" json:"rel,omitempty"` + Columns []*SQLCPlugin_Column `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` unknownFields protoimpl.UnknownFields - - Rel *SQLCPlugin_Identifier `protobuf:"bytes,1,opt,name=rel,proto3" json:"rel,omitempty"` - Columns []*SQLCPlugin_Column `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Table) Reset() { *x = SQLCPlugin_Table{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Table) String() string { @@ -3230,7 +3113,7 @@ func (*SQLCPlugin_Table) ProtoMessage() {} func (x *SQLCPlugin_Table) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3267,22 +3150,19 @@ func (x *SQLCPlugin_Table) GetComment() string { } type SQLCPlugin_Identifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` - Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Identifier) Reset() { *x = SQLCPlugin_Identifier{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Identifier) String() string { @@ -3293,7 +3173,7 @@ func (*SQLCPlugin_Identifier) ProtoMessage() {} func (x *SQLCPlugin_Identifier) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3330,36 +3210,33 @@ func (x *SQLCPlugin_Identifier) GetName() string { } type SQLCPlugin_Column struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - NotNull bool `protobuf:"varint,3,opt,name=not_null,json=notNull,proto3" json:"not_null,omitempty"` - IsArray bool `protobuf:"varint,4,opt,name=is_array,json=isArray,proto3" json:"is_array,omitempty"` - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` - Length int32 `protobuf:"varint,6,opt,name=length,proto3" json:"length,omitempty"` - IsNamedParam bool `protobuf:"varint,7,opt,name=is_named_param,json=isNamedParam,proto3" json:"is_named_param,omitempty"` - IsFuncCall bool `protobuf:"varint,8,opt,name=is_func_call,json=isFuncCall,proto3" json:"is_func_call,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + NotNull bool `protobuf:"varint,3,opt,name=not_null,json=notNull,proto3" json:"not_null,omitempty"` + IsArray bool `protobuf:"varint,4,opt,name=is_array,json=isArray,proto3" json:"is_array,omitempty"` + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + Length int32 `protobuf:"varint,6,opt,name=length,proto3" json:"length,omitempty"` + IsNamedParam bool `protobuf:"varint,7,opt,name=is_named_param,json=isNamedParam,proto3" json:"is_named_param,omitempty"` + IsFuncCall bool `protobuf:"varint,8,opt,name=is_func_call,json=isFuncCall,proto3" json:"is_func_call,omitempty"` // XXX: Figure out what PostgreSQL calls `foo.id` - Scope string `protobuf:"bytes,9,opt,name=scope,proto3" json:"scope,omitempty"` - Table *SQLCPlugin_Identifier `protobuf:"bytes,10,opt,name=table,proto3" json:"table,omitempty"` - TableAlias string `protobuf:"bytes,11,opt,name=table_alias,json=tableAlias,proto3" json:"table_alias,omitempty"` - Type *SQLCPlugin_Identifier `protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty"` - IsSqlcSlice bool `protobuf:"varint,13,opt,name=is_sqlc_slice,json=isSqlcSlice,proto3" json:"is_sqlc_slice,omitempty"` - EmbedTable *SQLCPlugin_Identifier `protobuf:"bytes,14,opt,name=embed_table,json=embedTable,proto3" json:"embed_table,omitempty"` - OriginalName string `protobuf:"bytes,15,opt,name=original_name,json=originalName,proto3" json:"original_name,omitempty"` - Unsigned bool `protobuf:"varint,16,opt,name=unsigned,proto3" json:"unsigned,omitempty"` - ArrayDims int32 `protobuf:"varint,17,opt,name=array_dims,json=arrayDims,proto3" json:"array_dims,omitempty"` + Scope string `protobuf:"bytes,9,opt,name=scope,proto3" json:"scope,omitempty"` + Table *SQLCPlugin_Identifier `protobuf:"bytes,10,opt,name=table,proto3" json:"table,omitempty"` + TableAlias string `protobuf:"bytes,11,opt,name=table_alias,json=tableAlias,proto3" json:"table_alias,omitempty"` + Type *SQLCPlugin_Identifier `protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty"` + IsSqlcSlice bool `protobuf:"varint,13,opt,name=is_sqlc_slice,json=isSqlcSlice,proto3" json:"is_sqlc_slice,omitempty"` + EmbedTable *SQLCPlugin_Identifier `protobuf:"bytes,14,opt,name=embed_table,json=embedTable,proto3" json:"embed_table,omitempty"` + OriginalName string `protobuf:"bytes,15,opt,name=original_name,json=originalName,proto3" json:"original_name,omitempty"` + Unsigned bool `protobuf:"varint,16,opt,name=unsigned,proto3" json:"unsigned,omitempty"` + ArrayDims int32 `protobuf:"varint,17,opt,name=array_dims,json=arrayDims,proto3" json:"array_dims,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Column) Reset() { *x = SQLCPlugin_Column{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Column) String() string { @@ -3370,7 +3247,7 @@ func (*SQLCPlugin_Column) ProtoMessage() {} func (x *SQLCPlugin_Column) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3498,10 +3375,7 @@ func (x *SQLCPlugin_Column) GetArrayDims() int32 { } type SQLCPlugin_Query struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Cmd string `protobuf:"bytes,3,opt,name=cmd,proto3" json:"cmd,omitempty"` @@ -3510,15 +3384,15 @@ type SQLCPlugin_Query struct { Comments []string `protobuf:"bytes,6,rep,name=comments,proto3" json:"comments,omitempty"` Filename string `protobuf:"bytes,7,opt,name=filename,proto3" json:"filename,omitempty"` InsertIntoTable *SQLCPlugin_Identifier `protobuf:"bytes,8,opt,name=insert_into_table,proto3" json:"insert_into_table,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Query) Reset() { *x = SQLCPlugin_Query{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Query) String() string { @@ -3529,7 +3403,7 @@ func (*SQLCPlugin_Query) ProtoMessage() {} func (x *SQLCPlugin_Query) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3601,21 +3475,18 @@ func (x *SQLCPlugin_Query) GetInsertIntoTable() *SQLCPlugin_Identifier { } type SQLCPlugin_Parameter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + Column *SQLCPlugin_Column `protobuf:"bytes,2,opt,name=column,proto3" json:"column,omitempty"` unknownFields protoimpl.UnknownFields - - Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` - Column *SQLCPlugin_Column `protobuf:"bytes,2,opt,name=column,proto3" json:"column,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Parameter) Reset() { *x = SQLCPlugin_Parameter{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Parameter) String() string { @@ -3626,7 +3497,7 @@ func (*SQLCPlugin_Parameter) ProtoMessage() {} func (x *SQLCPlugin_Parameter) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3656,25 +3527,22 @@ func (x *SQLCPlugin_Parameter) GetColumn() *SQLCPlugin_Column { } type SQLCPlugin_GenerateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Settings *SQLCPlugin_Settings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + Catalog *SQLCPlugin_Catalog `protobuf:"bytes,2,opt,name=catalog,proto3" json:"catalog,omitempty"` + Queries []*SQLCPlugin_Query `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + SqlcVersion string `protobuf:"bytes,4,opt,name=sqlc_version,proto3" json:"sqlc_version,omitempty"` + PluginOptions []byte `protobuf:"bytes,5,opt,name=plugin_options,proto3" json:"plugin_options,omitempty"` + GlobalOptions []byte `protobuf:"bytes,6,opt,name=global_options,proto3" json:"global_options,omitempty"` unknownFields protoimpl.UnknownFields - - Settings *SQLCPlugin_Settings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` - Catalog *SQLCPlugin_Catalog `protobuf:"bytes,2,opt,name=catalog,proto3" json:"catalog,omitempty"` - Queries []*SQLCPlugin_Query `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` - SqlcVersion string `protobuf:"bytes,4,opt,name=sqlc_version,proto3" json:"sqlc_version,omitempty"` - PluginOptions []byte `protobuf:"bytes,5,opt,name=plugin_options,proto3" json:"plugin_options,omitempty"` - GlobalOptions []byte `protobuf:"bytes,6,opt,name=global_options,proto3" json:"global_options,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_GenerateRequest) Reset() { *x = SQLCPlugin_GenerateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_GenerateRequest) String() string { @@ -3685,7 +3553,7 @@ func (*SQLCPlugin_GenerateRequest) ProtoMessage() {} func (x *SQLCPlugin_GenerateRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3743,20 +3611,17 @@ func (x *SQLCPlugin_GenerateRequest) GetGlobalOptions() []byte { } type SQLCPlugin_GenerateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Files []*SQLCPlugin_File `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` unknownFields protoimpl.UnknownFields - - Files []*SQLCPlugin_File `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_GenerateResponse) Reset() { *x = SQLCPlugin_GenerateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_GenerateResponse) String() string { @@ -3767,7 +3632,7 @@ func (*SQLCPlugin_GenerateResponse) ProtoMessage() {} func (x *SQLCPlugin_GenerateResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3790,20 +3655,17 @@ func (x *SQLCPlugin_GenerateResponse) GetFiles() []*SQLCPlugin_File { } type SQLCPlugin_Codegen_Process struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Cmd string `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"` unknownFields protoimpl.UnknownFields - - Cmd string `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Codegen_Process) Reset() { *x = SQLCPlugin_Codegen_Process{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Codegen_Process) String() string { @@ -3814,7 +3676,7 @@ func (*SQLCPlugin_Codegen_Process) ProtoMessage() {} func (x *SQLCPlugin_Codegen_Process) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3837,21 +3699,18 @@ func (x *SQLCPlugin_Codegen_Process) GetCmd() string { } type SQLCPlugin_Codegen_WASM struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"` unknownFields protoimpl.UnknownFields - - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SQLCPlugin_Codegen_WASM) Reset() { *x = SQLCPlugin_Codegen_WASM{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_daemon_daemon_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_daemon_daemon_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCPlugin_Codegen_WASM) String() string { @@ -3862,7 +3721,7 @@ func (*SQLCPlugin_Codegen_WASM) ProtoMessage() {} func (x *SQLCPlugin_Codegen_WASM) ProtoReflect() protoreflect.Message { mi := &file_encore_daemon_daemon_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3893,631 +3752,360 @@ func (x *SQLCPlugin_Codegen_WASM) GetSha256() string { var File_encore_daemon_daemon_proto protoreflect.FileDescriptor -var file_encore_daemon_daemon_proto_rawDesc = []byte{ - 0x0a, 0x1a, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, - 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, - 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, - 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x06, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x3f, 0x0a, 0x0d, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, - 0x64, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x22, 0x21, 0x0a, 0x0b, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, - 0x32, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x69, 0x6e, - 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, 0x72, 0x72, 0x69, 0x6e, - 0x73, 0x72, 0x63, 0x22, 0x65, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, - 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0x8f, 0x04, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x72, 0x6f, - 0x77, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x46, - 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x0c, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0d, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, - 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x4c, - 0x57, 0x41, 0x59, 0x53, 0x10, 0x02, 0x22, 0x43, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x44, 0x49, 0x53, - 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x42, 0x55, 0x47, - 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, - 0x42, 0x55, 0x47, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x0b, 0x54, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, - 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, - 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, - 0x67, 0x44, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, - 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, - 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x65, 0x6d, 0x70, 0x44, 0x69, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x96, 0x01, 0x0a, 0x0f, - 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, - 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x6d, - 0x70, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x6d, - 0x70, 0x44, 0x69, 0x72, 0x22, 0x5a, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x22, 0xee, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, - 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x41, - 0x72, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x12, 0x22, 0x0a, - 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x54, - 0x65, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x22, 0x87, - 0x03, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, - 0x6f, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x6f, 0x6f, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x67, 0x6f, 0x61, 0x72, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x67, 0x6f, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x67, 0x6f, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x67, - 0x6f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, - 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x43, - 0x6f, 0x6e, 0x66, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x42, 0x08, - 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x44, 0x6f, 0x63, - 0x6b, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x5f, - 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x75, 0x73, - 0x68, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x75, 0x73, 0x68, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, - 0x67, 0x22, 0xfe, 0x01, 0x0a, 0x10, 0x44, 0x42, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, - 0x76, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0x25, 0x0a, 0x11, 0x44, 0x42, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x0e, 0x44, 0x42, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x72, 0x6f, - 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, - 0x42, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x93, 0x04, 0x0a, 0x10, 0x47, - 0x65, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, - 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, - 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, - 0x34, 0x0a, 0x16, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x21, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x1e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x45, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x74, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0d, 0x74, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, - 0x74, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x73, 0x5f, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0x27, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x2f, 0x0a, 0x12, 0x47, 0x65, 0x6e, - 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, - 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5a, 0x0a, 0x15, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, - 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, - 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x18, 0x0a, - 0x16, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x61, 0x73, 0x68, 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, - 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x22, 0x47, 0x0a, 0x16, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x47, 0x0a, 0x16, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x0f, 0x54, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6e, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x22, 0x8c, 0x02, 0x0a, 0x0f, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x52, 0x6f, - 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, - 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, - 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, - 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x43, 0x0a, - 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, - 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, - 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x10, 0x02, 0x22, 0x26, 0x0a, 0x10, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xcb, 0x15, 0x0a, 0x0a, 0x53, - 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x1a, 0x36, 0x0a, 0x04, 0x46, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x1a, 0xc9, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, - 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, - 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x4a, - 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, - 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x1a, 0xaf, 0x02, - 0x0a, 0x07, 0x43, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, - 0x43, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, - 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x77, 0x61, 0x73, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, - 0x64, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x57, 0x41, 0x53, 0x4d, 0x52, 0x04, 0x77, 0x61, 0x73, 0x6d, - 0x1a, 0x1b, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x1a, 0x30, 0x0a, - 0x04, 0x57, 0x41, 0x53, 0x4d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x1a, - 0x9a, 0x01, 0x0a, 0x07, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x3a, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0xf7, 0x01, 0x0a, - 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, - 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x34, - 0x0a, 0x05, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, - 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x65, - 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, - 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x48, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x1a, - 0x95, 0x01, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x72, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, - 0x6c, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x52, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xc4, 0x04, 0x0a, 0x06, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, - 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x6f, - 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4e, 0x61, - 0x6d, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, - 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x69, 0x73, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, - 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x38, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, - 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x71, - 0x6c, 0x63, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x73, 0x53, 0x71, 0x6c, 0x63, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x65, - 0x6d, 0x62, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, - 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x6d, - 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x72, 0x61, 0x79, 0x44, 0x69, - 0x6d, 0x73, 0x1a, 0xca, 0x02, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x69, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x69, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x1a, - 0x5d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0xbd, - 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, - 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, - 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, - 0x39, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, - 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x71, - 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x71, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, - 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x48, - 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2a, 0x70, 0x0a, 0x06, 0x44, 0x42, 0x52, 0x6f, - 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, - 0x42, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x55, 0x53, 0x45, 0x52, - 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x44, - 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x4f, 0x4c, 0x45, - 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, - 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x04, 0x2a, 0x7f, 0x0a, 0x0d, 0x44, 0x42, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, - 0x42, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, - 0x44, 0x42, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x52, 0x55, 0x4e, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x43, 0x4c, 0x55, 0x53, - 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, - 0x1a, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x44, 0x4f, 0x57, 0x10, 0x03, 0x32, 0xa7, 0x0c, 0x0a, 0x06, - 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x03, 0x52, 0x75, 0x6e, 0x12, 0x19, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x04, 0x54, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x4b, - 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x45, - 0x78, 0x65, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x45, 0x0a, 0x05, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, - 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x30, 0x01, 0x12, 0x47, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x09, - 0x44, 0x42, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, - 0x44, 0x42, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x07, 0x44, 0x42, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x44, 0x42, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, - 0x47, 0x65, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, - 0x2e, 0x47, 0x65, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, - 0x73, 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x24, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x52, - 0x0a, 0x0f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, - 0x6e, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, - 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x08, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x12, - 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, - 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, - 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x43, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, 0x6d, - 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x64, 0x61, 0x65, - 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1e, 0x5a, 0x1c, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x64, - 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_daemon_daemon_proto_rawDesc = "" + + "\n" + + "\x1aencore/daemon/daemon.proto\x12\rencore.daemon\x1a\x1bgoogle/protobuf/empty.proto\"\xc0\x01\n" + + "\x0eCommandMessage\x126\n" + + "\x06output\x18\x01 \x01(\v2\x1c.encore.daemon.CommandOutputH\x00R\x06output\x120\n" + + "\x04exit\x18\x02 \x01(\v2\x1a.encore.daemon.CommandExitH\x00R\x04exit\x12=\n" + + "\x06errors\x18\x03 \x01(\v2#.encore.daemon.CommandDisplayErrorsH\x00R\x06errorsB\x05\n" + + "\x03msg\"?\n" + + "\rCommandOutput\x12\x16\n" + + "\x06stdout\x18\x01 \x01(\fR\x06stdout\x12\x16\n" + + "\x06stderr\x18\x02 \x01(\fR\x06stderr\"!\n" + + "\vCommandExit\x12\x12\n" + + "\x04code\x18\x01 \x01(\x05R\x04code\"2\n" + + "\x14CommandDisplayErrors\x12\x1a\n" + + "\berrinsrc\x18\x01 \x01(\fR\berrinsrc\"e\n" + + "\x10CreateAppRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1a\n" + + "\btemplate\x18\x02 \x01(\tR\btemplate\x12\x1a\n" + + "\btutorial\x18\x03 \x01(\bR\btutorial\"*\n" + + "\x11CreateAppResponse\x12\x15\n" + + "\x06app_id\x18\x01 \x01(\tR\x05appId\"\x8f\x04\n" + + "\n" + + "RunRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12\x14\n" + + "\x05watch\x18\x05 \x01(\bR\x05watch\x12\x1f\n" + + "\vlisten_addr\x18\x06 \x01(\tR\n" + + "listenAddr\x12\x18\n" + + "\aenviron\x18\a \x03(\tR\aenviron\x12\"\n" + + "\n" + + "trace_file\x18\b \x01(\tH\x00R\ttraceFile\x88\x01\x01\x12!\n" + + "\tnamespace\x18\t \x01(\tH\x01R\tnamespace\x88\x01\x01\x12?\n" + + "\abrowser\x18\n" + + " \x01(\x0e2%.encore.daemon.RunRequest.BrowserModeR\abrowser\x12B\n" + + "\n" + + "debug_mode\x18\v \x01(\x0e2#.encore.daemon.RunRequest.DebugModeR\tdebugMode\"F\n" + + "\vBrowserMode\x12\x10\n" + + "\fBROWSER_AUTO\x10\x00\x12\x11\n" + + "\rBROWSER_NEVER\x10\x01\x12\x12\n" + + "\x0eBROWSER_ALWAYS\x10\x02\"C\n" + + "\tDebugMode\x12\x12\n" + + "\x0eDEBUG_DISABLED\x10\x00\x12\x11\n" + + "\rDEBUG_ENABLED\x10\x01\x12\x0f\n" + + "\vDEBUG_BREAK\x10\x02B\r\n" + + "\v_trace_fileB\f\n" + + "\n" + + "_namespace\"\xf0\x01\n" + + "\vTestRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12\x12\n" + + "\x04args\x18\x03 \x03(\tR\x04args\x12\x18\n" + + "\aenviron\x18\x04 \x03(\tR\aenviron\x12\"\n" + + "\n" + + "trace_file\x18\x06 \x01(\tH\x00R\ttraceFile\x88\x01\x01\x12#\n" + + "\rcodegen_debug\x18\a \x01(\bR\fcodegenDebug\x12\x19\n" + + "\btemp_dir\x18\b \x01(\tR\atempDirB\r\n" + + "\v_trace_fileJ\x04\b\x05\x10\x06\"\x96\x01\n" + + "\x0fTestSpecRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12\x12\n" + + "\x04args\x18\x03 \x03(\tR\x04args\x12\x18\n" + + "\aenviron\x18\x04 \x03(\tR\aenviron\x12\x19\n" + + "\btemp_dir\x18\x05 \x01(\tR\atempDir\"Z\n" + + "\x10TestSpecResponse\x12\x18\n" + + "\acommand\x18\x01 \x01(\tR\acommand\x12\x12\n" + + "\x04args\x18\x02 \x03(\tR\x04args\x12\x18\n" + + "\aenviron\x18\x03 \x03(\tR\aenviron\"\xee\x01\n" + + "\x11ExecScriptRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12\x1f\n" + + "\vscript_args\x18\x04 \x03(\tR\n" + + "scriptArgs\x12\x18\n" + + "\aenviron\x18\x05 \x03(\tR\aenviron\x12\"\n" + + "\n" + + "trace_file\x18\x06 \x01(\tH\x00R\ttraceFile\x88\x01\x01\x12!\n" + + "\tnamespace\x18\a \x01(\tH\x01R\tnamespace\x88\x01\x01B\r\n" + + "\v_trace_fileB\f\n" + + "\n" + + "_namespace\"\xaa\x01\n" + + "\fCheckRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12#\n" + + "\rcodegen_debug\x18\x03 \x01(\bR\fcodegenDebug\x12\x1f\n" + + "\vparse_tests\x18\x04 \x01(\bR\n" + + "parseTests\x12\x18\n" + + "\aenviron\x18\x05 \x03(\tR\aenviron\"\x87\x03\n" + + "\rExportRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x12\n" + + "\x04goos\x18\x02 \x01(\tR\x04goos\x12\x16\n" + + "\x06goarch\x18\x03 \x01(\tR\x06goarch\x12\x1f\n" + + "\vcgo_enabled\x18\x04 \x01(\bR\n" + + "cgoEnabled\x12\x18\n" + + "\aenviron\x18\x05 \x03(\tR\aenviron\x12;\n" + + "\x06docker\x18\x06 \x01(\v2!.encore.daemon.DockerExportParamsH\x00R\x06docker\x12&\n" + + "\x0finfra_conf_path\x18\a \x01(\tR\rinfraConfPath\x12\x1a\n" + + "\bservices\x18\b \x03(\tR\bservices\x12\x1a\n" + + "\bgateways\x18\t \x03(\tR\bgateways\x12&\n" + + "\x0fskip_infra_conf\x18\n" + + " \x01(\bR\rskipInfraConf\x12%\n" + + "\x0eworkspace_root\x18\v \x01(\tR\rworkspaceRootB\b\n" + + "\x06format\"\x96\x01\n" + + "\x12DockerExportParams\x12(\n" + + "\x10local_daemon_tag\x18\x01 \x01(\tR\x0elocalDaemonTag\x120\n" + + "\x14push_destination_tag\x18\x02 \x01(\tR\x12pushDestinationTag\x12$\n" + + "\x0ebase_image_tag\x18\x03 \x01(\tR\fbaseImageTag\"\xfe\x01\n" + + "\x10DBConnectRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x17\n" + + "\adb_name\x18\x02 \x01(\tR\x06dbName\x12\x19\n" + + "\benv_name\x18\x03 \x01(\tR\aenvName\x12?\n" + + "\fcluster_type\x18\x04 \x01(\x0e2\x1c.encore.daemon.DBClusterTypeR\vclusterType\x12!\n" + + "\tnamespace\x18\x05 \x01(\tH\x00R\tnamespace\x88\x01\x01\x12)\n" + + "\x04role\x18\x06 \x01(\x0e2\x15.encore.daemon.DBRoleR\x04roleB\f\n" + + "\n" + + "_namespace\"%\n" + + "\x11DBConnectResponse\x12\x10\n" + + "\x03dsn\x18\x01 \x01(\tR\x03dsn\"\xf7\x01\n" + + "\x0eDBProxyRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x19\n" + + "\benv_name\x18\x02 \x01(\tR\aenvName\x12\x12\n" + + "\x04port\x18\x03 \x01(\x05R\x04port\x12?\n" + + "\fcluster_type\x18\x04 \x01(\x0e2\x1c.encore.daemon.DBClusterTypeR\vclusterType\x12!\n" + + "\tnamespace\x18\x05 \x01(\tH\x00R\tnamespace\x88\x01\x01\x12)\n" + + "\x04role\x18\x06 \x01(\x0e2\x15.encore.daemon.DBRoleR\x04roleB\f\n" + + "\n" + + "_namespace\"\xc4\x01\n" + + "\x0eDBResetRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12%\n" + + "\x0edatabase_names\x18\x02 \x03(\tR\rdatabaseNames\x12?\n" + + "\fcluster_type\x18\x03 \x01(\x0e2\x1c.encore.daemon.DBClusterTypeR\vclusterType\x12!\n" + + "\tnamespace\x18\x04 \x01(\tH\x00R\tnamespace\x88\x01\x01B\f\n" + + "\n" + + "_namespace\"\x93\x04\n" + + "\x10GenClientRequest\x12\x15\n" + + "\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x19\n" + + "\benv_name\x18\x02 \x01(\tR\aenvName\x12\x12\n" + + "\x04lang\x18\x03 \x01(\tR\x04lang\x12\x1a\n" + + "\bfilepath\x18\x04 \x01(\tR\bfilepath\x12\x1a\n" + + "\bservices\x18\x05 \x03(\tR\bservices\x12+\n" + + "\x11excluded_services\x18\x06 \x03(\tR\x10excludedServices\x12#\n" + + "\rendpoint_tags\x18\a \x03(\tR\fendpointTags\x124\n" + + "\x16excluded_endpoint_tags\x18\b \x03(\tR\x14excludedEndpointTags\x12N\n" + + "!openapi_exclude_private_endpoints\x18\t \x01(\bH\x00R\x1eopenapiExcludePrivateEndpoints\x88\x01\x01\x12+\n" + + "\x0fts_shared_types\x18\n" + + " \x01(\bH\x01R\rtsSharedTypes\x88\x01\x01\x12-\n" + + "\x10ts_client_target\x18\v \x01(\tH\x02R\x0etsClientTarget\x88\x01\x01B$\n" + + "\"_openapi_exclude_private_endpointsB\x12\n" + + "\x10_ts_shared_typesB\x13\n" + + "\x11_ts_client_target\"'\n" + + "\x11GenClientResponse\x12\x12\n" + + "\x04code\x18\x01 \x01(\fR\x04code\"/\n" + + "\x12GenWrappersRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\"\x15\n" + + "\x13GenWrappersResponse\"Z\n" + + "\x15SecretsRefreshRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x10\n" + + "\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x03 \x01(\tR\x05value\"\x18\n" + + "\x16SecretsRefreshResponse\"L\n" + + "\x0fVersionResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x12\x1f\n" + + "\vconfig_hash\x18\x02 \x01(\tR\n" + + "configHash\"\xa4\x01\n" + + "\tNamespace\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + + "\x06active\x18\x03 \x01(\bR\x06active\x12\x1d\n" + + "\n" + + "created_at\x18\x04 \x01(\tR\tcreatedAt\x12)\n" + + "\x0elast_active_at\x18\x05 \x01(\tH\x00R\flastActiveAt\x88\x01\x01B\x11\n" + + "\x0f_last_active_at\"G\n" + + "\x16CreateNamespaceRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"_\n" + + "\x16SwitchNamespaceRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + + "\x06create\x18\x03 \x01(\bR\x06create\"2\n" + + "\x15ListNamespacesRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\"G\n" + + "\x16DeleteNamespaceRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"R\n" + + "\x16ListNamespacesResponse\x128\n" + + "\n" + + "namespaces\x18\x01 \x03(\v2\x18.encore.daemon.NamespaceR\n" + + "namespaces\"Z\n" + + "\x0fTelemetryConfig\x12\x17\n" + + "\aanon_id\x18\x01 \x01(\tR\x06anonId\x12\x18\n" + + "\aenabled\x18\x02 \x01(\bR\aenabled\x12\x14\n" + + "\x05debug\x18\x03 \x01(\bR\x05debug\"\x8c\x02\n" + + "\x0fDumpMetaRequest\x12\x19\n" + + "\bapp_root\x18\x01 \x01(\tR\aappRoot\x12\x1f\n" + + "\vworking_dir\x18\x02 \x01(\tR\n" + + "workingDir\x12\x18\n" + + "\aenviron\x18\x03 \x03(\tR\aenviron\x12\x1f\n" + + "\vparse_tests\x18\x04 \x01(\bR\n" + + "parseTests\x12=\n" + + "\x06format\x18\x05 \x01(\x0e2%.encore.daemon.DumpMetaRequest.FormatR\x06format\"C\n" + + "\x06Format\x12\x16\n" + + "\x12FORMAT_UNSPECIFIED\x10\x00\x12\x0f\n" + + "\vFORMAT_JSON\x10\x01\x12\x10\n" + + "\fFORMAT_PROTO\x10\x02\"&\n" + + "\x10DumpMetaResponse\x12\x12\n" + + "\x04meta\x18\x01 \x01(\fR\x04meta\"\xcb\x15\n" + + "\n" + + "SQLCPlugin\x1a6\n" + + "\x04File\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" + + "\bcontents\x18\x02 \x01(\fR\bcontents\x1a\xc9\x01\n" + + "\bSettings\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x12\x16\n" + + "\x06engine\x18\x02 \x01(\tR\x06engine\x12\x16\n" + + "\x06schema\x18\x03 \x03(\tR\x06schema\x12\x18\n" + + "\aqueries\x18\x04 \x03(\tR\aqueries\x12;\n" + + "\acodegen\x18\f \x01(\v2!.encore.daemon.SQLCPlugin.CodegenR\acodegenJ\x04\b\x05\x10\x06J\x04\b\b\x10\tJ\x04\b\t\x10\n" + + "J\x04\b\n" + + "\x10\vJ\x04\b\v\x10\f\x1a\xaf\x02\n" + + "\aCodegen\x12\x10\n" + + "\x03out\x18\x01 \x01(\tR\x03out\x12\x16\n" + + "\x06plugin\x18\x02 \x01(\tR\x06plugin\x12\x18\n" + + "\aoptions\x18\x03 \x01(\fR\aoptions\x12\x10\n" + + "\x03env\x18\x04 \x03(\tR\x03env\x12C\n" + + "\aprocess\x18\x05 \x01(\v2).encore.daemon.SQLCPlugin.Codegen.ProcessR\aprocess\x12:\n" + + "\x04wasm\x18\x06 \x01(\v2&.encore.daemon.SQLCPlugin.Codegen.WASMR\x04wasm\x1a\x1b\n" + + "\aProcess\x12\x10\n" + + "\x03cmd\x18\x01 \x01(\tR\x03cmd\x1a0\n" + + "\x04WASM\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\x12\x16\n" + + "\x06sha256\x18\x02 \x01(\tR\x06sha256\x1a\x9a\x01\n" + + "\aCatalog\x12\x18\n" + + "\acomment\x18\x01 \x01(\tR\acomment\x12%\n" + + "\x0edefault_schema\x18\x02 \x01(\tR\rdefaultSchema\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12:\n" + + "\aschemas\x18\x04 \x03(\v2 .encore.daemon.SQLCPlugin.SchemaR\aschemas\x1a\xf7\x01\n" + + "\x06Schema\x12\x18\n" + + "\acomment\x18\x01 \x01(\tR\acomment\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x127\n" + + "\x06tables\x18\x03 \x03(\v2\x1f.encore.daemon.SQLCPlugin.TableR\x06tables\x124\n" + + "\x05enums\x18\x04 \x03(\v2\x1e.encore.daemon.SQLCPlugin.EnumR\x05enums\x12P\n" + + "\x0fcomposite_types\x18\x05 \x03(\v2'.encore.daemon.SQLCPlugin.CompositeTypeR\x0ecompositeTypes\x1a=\n" + + "\rCompositeType\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\acomment\x18\x02 \x01(\tR\acomment\x1aH\n" + + "\x04Enum\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04vals\x18\x02 \x03(\tR\x04vals\x12\x18\n" + + "\acomment\x18\x03 \x01(\tR\acomment\x1a\x95\x01\n" + + "\x05Table\x126\n" + + "\x03rel\x18\x01 \x01(\v2$.encore.daemon.SQLCPlugin.IdentifierR\x03rel\x12:\n" + + "\acolumns\x18\x02 \x03(\v2 .encore.daemon.SQLCPlugin.ColumnR\acolumns\x12\x18\n" + + "\acomment\x18\x03 \x01(\tR\acomment\x1aR\n" + + "\n" + + "Identifier\x12\x18\n" + + "\acatalog\x18\x01 \x01(\tR\acatalog\x12\x16\n" + + "\x06schema\x18\x02 \x01(\tR\x06schema\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x1a\xc4\x04\n" + + "\x06Column\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" + + "\bnot_null\x18\x03 \x01(\bR\anotNull\x12\x19\n" + + "\bis_array\x18\x04 \x01(\bR\aisArray\x12\x18\n" + + "\acomment\x18\x05 \x01(\tR\acomment\x12\x16\n" + + "\x06length\x18\x06 \x01(\x05R\x06length\x12$\n" + + "\x0eis_named_param\x18\a \x01(\bR\fisNamedParam\x12 \n" + + "\fis_func_call\x18\b \x01(\bR\n" + + "isFuncCall\x12\x14\n" + + "\x05scope\x18\t \x01(\tR\x05scope\x12:\n" + + "\x05table\x18\n" + + " \x01(\v2$.encore.daemon.SQLCPlugin.IdentifierR\x05table\x12\x1f\n" + + "\vtable_alias\x18\v \x01(\tR\n" + + "tableAlias\x128\n" + + "\x04type\x18\f \x01(\v2$.encore.daemon.SQLCPlugin.IdentifierR\x04type\x12\"\n" + + "\ris_sqlc_slice\x18\r \x01(\bR\visSqlcSlice\x12E\n" + + "\vembed_table\x18\x0e \x01(\v2$.encore.daemon.SQLCPlugin.IdentifierR\n" + + "embedTable\x12#\n" + + "\roriginal_name\x18\x0f \x01(\tR\foriginalName\x12\x1a\n" + + "\bunsigned\x18\x10 \x01(\bR\bunsigned\x12\x1d\n" + + "\n" + + "array_dims\x18\x11 \x01(\x05R\tarrayDims\x1a\xca\x02\n" + + "\x05Query\x12\x12\n" + + "\x04text\x18\x01 \x01(\tR\x04text\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n" + + "\x03cmd\x18\x03 \x01(\tR\x03cmd\x12:\n" + + "\acolumns\x18\x04 \x03(\v2 .encore.daemon.SQLCPlugin.ColumnR\acolumns\x12?\n" + + "\x06params\x18\x05 \x03(\v2#.encore.daemon.SQLCPlugin.ParameterR\n" + + "parameters\x12\x1a\n" + + "\bcomments\x18\x06 \x03(\tR\bcomments\x12\x1a\n" + + "\bfilename\x18\a \x01(\tR\bfilename\x12R\n" + + "\x11insert_into_table\x18\b \x01(\v2$.encore.daemon.SQLCPlugin.IdentifierR\x11insert_into_table\x1a]\n" + + "\tParameter\x12\x16\n" + + "\x06number\x18\x01 \x01(\x05R\x06number\x128\n" + + "\x06column\x18\x02 \x01(\v2 .encore.daemon.SQLCPlugin.ColumnR\x06column\x1a\xbd\x02\n" + + "\x0fGenerateRequest\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".encore.daemon.SQLCPlugin.SettingsR\bsettings\x12;\n" + + "\acatalog\x18\x02 \x01(\v2!.encore.daemon.SQLCPlugin.CatalogR\acatalog\x129\n" + + "\aqueries\x18\x03 \x03(\v2\x1f.encore.daemon.SQLCPlugin.QueryR\aqueries\x12\"\n" + + "\fsqlc_version\x18\x04 \x01(\tR\fsqlc_version\x12&\n" + + "\x0eplugin_options\x18\x05 \x01(\fR\x0eplugin_options\x12&\n" + + "\x0eglobal_options\x18\x06 \x01(\fR\x0eglobal_options\x1aH\n" + + "\x10GenerateResponse\x124\n" + + "\x05files\x18\x01 \x03(\v2\x1e.encore.daemon.SQLCPlugin.FileR\x05files*p\n" + + "\x06DBRole\x12\x17\n" + + "\x13DB_ROLE_UNSPECIFIED\x10\x00\x12\x15\n" + + "\x11DB_ROLE_SUPERUSER\x10\x01\x12\x11\n" + + "\rDB_ROLE_ADMIN\x10\x02\x12\x11\n" + + "\rDB_ROLE_WRITE\x10\x03\x12\x10\n" + + "\fDB_ROLE_READ\x10\x04*\x7f\n" + + "\rDBClusterType\x12\x1f\n" + + "\x1bDB_CLUSTER_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13DB_CLUSTER_TYPE_RUN\x10\x01\x12\x18\n" + + "\x14DB_CLUSTER_TYPE_TEST\x10\x02\x12\x1a\n" + + "\x16DB_CLUSTER_TYPE_SHADOW\x10\x032\xa7\f\n" + + "\x06Daemon\x12A\n" + + "\x03Run\x12\x19.encore.daemon.RunRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12C\n" + + "\x04Test\x12\x1a.encore.daemon.TestRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12K\n" + + "\bTestSpec\x12\x1e.encore.daemon.TestSpecRequest\x1a\x1f.encore.daemon.TestSpecResponse\x12O\n" + + "\n" + + "ExecScript\x12 .encore.daemon.ExecScriptRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12E\n" + + "\x05Check\x12\x1b.encore.daemon.CheckRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12G\n" + + "\x06Export\x12\x1c.encore.daemon.ExportRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12N\n" + + "\tDBConnect\x12\x1f.encore.daemon.DBConnectRequest\x1a .encore.daemon.DBConnectResponse\x12I\n" + + "\aDBProxy\x12\x1d.encore.daemon.DBProxyRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12I\n" + + "\aDBReset\x12\x1d.encore.daemon.DBResetRequest\x1a\x1d.encore.daemon.CommandMessage0\x01\x12N\n" + + "\tGenClient\x12\x1f.encore.daemon.GenClientRequest\x1a .encore.daemon.GenClientResponse\x12T\n" + + "\vGenWrappers\x12!.encore.daemon.GenWrappersRequest\x1a\".encore.daemon.GenWrappersResponse\x12]\n" + + "\x0eSecretsRefresh\x12$.encore.daemon.SecretsRefreshRequest\x1a%.encore.daemon.SecretsRefreshResponse\x12A\n" + + "\aVersion\x12\x16.google.protobuf.Empty\x1a\x1e.encore.daemon.VersionResponse\x12R\n" + + "\x0fCreateNamespace\x12%.encore.daemon.CreateNamespaceRequest\x1a\x18.encore.daemon.Namespace\x12R\n" + + "\x0fSwitchNamespace\x12%.encore.daemon.SwitchNamespaceRequest\x1a\x18.encore.daemon.Namespace\x12]\n" + + "\x0eListNamespaces\x12$.encore.daemon.ListNamespacesRequest\x1a%.encore.daemon.ListNamespacesResponse\x12P\n" + + "\x0fDeleteNamespace\x12%.encore.daemon.DeleteNamespaceRequest\x1a\x16.google.protobuf.Empty\x12K\n" + + "\bDumpMeta\x12\x1e.encore.daemon.DumpMetaRequest\x1a\x1f.encore.daemon.DumpMetaResponse\x12C\n" + + "\tTelemetry\x12\x1e.encore.daemon.TelemetryConfig\x1a\x16.google.protobuf.Empty\x12N\n" + + "\tCreateApp\x12\x1f.encore.daemon.CreateAppRequest\x1a .encore.daemon.CreateAppResponseB\x1eZ\x1cencr.dev/proto/encore/daemonb\x06proto3" var ( file_encore_daemon_daemon_proto_rawDescOnce sync.Once - file_encore_daemon_daemon_proto_rawDescData = file_encore_daemon_daemon_proto_rawDesc + file_encore_daemon_daemon_proto_rawDescData []byte ) func file_encore_daemon_daemon_proto_rawDescGZIP() []byte { file_encore_daemon_daemon_proto_rawDescOnce.Do(func() { - file_encore_daemon_daemon_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_daemon_daemon_proto_rawDescData) + file_encore_daemon_daemon_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_daemon_daemon_proto_rawDesc), len(file_encore_daemon_daemon_proto_rawDesc))) }) return file_encore_daemon_daemon_proto_rawDescData } var file_encore_daemon_daemon_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_encore_daemon_daemon_proto_msgTypes = make([]protoimpl.MessageInfo, 51) -var file_encore_daemon_daemon_proto_goTypes = []interface{}{ +var file_encore_daemon_daemon_proto_goTypes = []any{ (DBRole)(0), // 0: encore.daemon.DBRole (DBClusterType)(0), // 1: encore.daemon.DBClusterType (RunRequest_BrowserMode)(0), // 2: encore.daemon.RunRequest.BrowserMode @@ -4662,641 +4250,27 @@ func file_encore_daemon_daemon_proto_init() { if File_encore_daemon_daemon_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_daemon_daemon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandOutput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandExit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandDisplayErrors); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAppRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAppResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestSpecRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestSpecResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecScriptRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DockerExportParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBConnectRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBConnectResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBProxyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBResetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenClientRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenClientResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenWrappersRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenWrappersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecretsRefreshRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecretsRefreshResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Namespace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNamespaceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SwitchNamespaceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNamespaceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TelemetryConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpMetaRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpMetaResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_File); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Settings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Codegen); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Catalog); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Schema); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_CompositeType); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Enum); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Table); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Identifier); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Column); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Query); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Parameter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_GenerateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_GenerateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Codegen_Process); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_daemon_daemon_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCPlugin_Codegen_WASM); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_daemon_daemon_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_encore_daemon_daemon_proto_msgTypes[0].OneofWrappers = []any{ (*CommandMessage_Output)(nil), (*CommandMessage_Exit)(nil), (*CommandMessage_Errors)(nil), } - file_encore_daemon_daemon_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_encore_daemon_daemon_proto_msgTypes[6].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[7].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[10].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[12].OneofWrappers = []any{ (*ExportRequest_Docker)(nil), } - file_encore_daemon_daemon_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[16].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[17].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_encore_daemon_daemon_proto_msgTypes[25].OneofWrappers = []interface{}{} + file_encore_daemon_daemon_proto_msgTypes[14].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[16].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[17].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[18].OneofWrappers = []any{} + file_encore_daemon_daemon_proto_msgTypes[25].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_daemon_daemon_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_daemon_daemon_proto_rawDesc), len(file_encore_daemon_daemon_proto_rawDesc)), NumEnums: 5, NumMessages: 51, NumExtensions: 0, @@ -5308,7 +4282,6 @@ func file_encore_daemon_daemon_proto_init() { MessageInfos: file_encore_daemon_daemon_proto_msgTypes, }.Build() File_encore_daemon_daemon_proto = out.File - file_encore_daemon_daemon_proto_rawDesc = nil file_encore_daemon_daemon_proto_goTypes = nil file_encore_daemon_daemon_proto_depIdxs = nil } diff --git a/proto/encore/daemon/daemon_grpc.pb.go b/proto/encore/daemon/daemon_grpc.pb.go index d956a651b5..32c295fcff 100644 --- a/proto/encore/daemon/daemon_grpc.pb.go +++ b/proto/encore/daemon/daemon_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.1 // source: encore/daemon/daemon.proto package daemon @@ -16,8 +16,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Daemon_Run_FullMethodName = "/encore.daemon.Daemon/Run" @@ -47,24 +47,24 @@ const ( // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type DaemonClient interface { // Run runs the application. - Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (Daemon_RunClient, error) + Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // Test runs tests. - Test(ctx context.Context, in *TestRequest, opts ...grpc.CallOption) (Daemon_TestClient, error) + Test(ctx context.Context, in *TestRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // TestSpec returns the specification for how to run tests. TestSpec(ctx context.Context, in *TestSpecRequest, opts ...grpc.CallOption) (*TestSpecResponse, error) // ExecScript executes a one-off script. - ExecScript(ctx context.Context, in *ExecScriptRequest, opts ...grpc.CallOption) (Daemon_ExecScriptClient, error) + ExecScript(ctx context.Context, in *ExecScriptRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // Check checks the app for compilation errors. - Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (Daemon_CheckClient, error) + Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // Export exports the app in various formats. - Export(ctx context.Context, in *ExportRequest, opts ...grpc.CallOption) (Daemon_ExportClient, error) + Export(ctx context.Context, in *ExportRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // DBConnect starts the database and returns the DSN for connecting to it. DBConnect(ctx context.Context, in *DBConnectRequest, opts ...grpc.CallOption) (*DBConnectResponse, error) // DBProxy starts a local database proxy for connecting to remote databases // on the encore.dev platform. - DBProxy(ctx context.Context, in *DBProxyRequest, opts ...grpc.CallOption) (Daemon_DBProxyClient, error) + DBProxy(ctx context.Context, in *DBProxyRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // DBReset resets the given databases, recreating them from scratch. - DBReset(ctx context.Context, in *DBResetRequest, opts ...grpc.CallOption) (Daemon_DBResetClient, error) + DBReset(ctx context.Context, in *DBResetRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) // GenClient generates a client based on the app's API. GenClient(ctx context.Context, in *GenClientRequest, opts ...grpc.CallOption) (*GenClientResponse, error) // GenWrappers generates user-facing wrapper code. @@ -97,12 +97,13 @@ func NewDaemonClient(cc grpc.ClientConnInterface) DaemonClient { return &daemonClient{cc} } -func (c *daemonClient) Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (Daemon_RunClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[0], Daemon_Run_FullMethodName, opts...) +func (c *daemonClient) Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[0], Daemon_Run_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonRunClient{stream} + x := &grpc.GenericClientStream[RunRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -112,29 +113,16 @@ func (c *daemonClient) Run(ctx context.Context, in *RunRequest, opts ...grpc.Cal return x, nil } -type Daemon_RunClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonRunClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_RunClient = grpc.ServerStreamingClient[CommandMessage] -func (x *daemonRunClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *daemonClient) Test(ctx context.Context, in *TestRequest, opts ...grpc.CallOption) (Daemon_TestClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[1], Daemon_Test_FullMethodName, opts...) +func (c *daemonClient) Test(ctx context.Context, in *TestRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[1], Daemon_Test_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonTestClient{stream} + x := &grpc.GenericClientStream[TestRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -144,38 +132,26 @@ func (c *daemonClient) Test(ctx context.Context, in *TestRequest, opts ...grpc.C return x, nil } -type Daemon_TestClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonTestClient struct { - grpc.ClientStream -} - -func (x *daemonTestClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_TestClient = grpc.ServerStreamingClient[CommandMessage] func (c *daemonClient) TestSpec(ctx context.Context, in *TestSpecRequest, opts ...grpc.CallOption) (*TestSpecResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TestSpecResponse) - err := c.cc.Invoke(ctx, Daemon_TestSpec_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_TestSpec_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *daemonClient) ExecScript(ctx context.Context, in *ExecScriptRequest, opts ...grpc.CallOption) (Daemon_ExecScriptClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[2], Daemon_ExecScript_FullMethodName, opts...) +func (c *daemonClient) ExecScript(ctx context.Context, in *ExecScriptRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[2], Daemon_ExecScript_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonExecScriptClient{stream} + x := &grpc.GenericClientStream[ExecScriptRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -185,29 +161,16 @@ func (c *daemonClient) ExecScript(ctx context.Context, in *ExecScriptRequest, op return x, nil } -type Daemon_ExecScriptClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonExecScriptClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_ExecScriptClient = grpc.ServerStreamingClient[CommandMessage] -func (x *daemonExecScriptClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *daemonClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (Daemon_CheckClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[3], Daemon_Check_FullMethodName, opts...) +func (c *daemonClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[3], Daemon_Check_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonCheckClient{stream} + x := &grpc.GenericClientStream[CheckRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -217,29 +180,16 @@ func (c *daemonClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc return x, nil } -type Daemon_CheckClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonCheckClient struct { - grpc.ClientStream -} - -func (x *daemonCheckClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_CheckClient = grpc.ServerStreamingClient[CommandMessage] -func (c *daemonClient) Export(ctx context.Context, in *ExportRequest, opts ...grpc.CallOption) (Daemon_ExportClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[4], Daemon_Export_FullMethodName, opts...) +func (c *daemonClient) Export(ctx context.Context, in *ExportRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[4], Daemon_Export_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonExportClient{stream} + x := &grpc.GenericClientStream[ExportRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -249,38 +199,26 @@ func (c *daemonClient) Export(ctx context.Context, in *ExportRequest, opts ...gr return x, nil } -type Daemon_ExportClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonExportClient struct { - grpc.ClientStream -} - -func (x *daemonExportClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_ExportClient = grpc.ServerStreamingClient[CommandMessage] func (c *daemonClient) DBConnect(ctx context.Context, in *DBConnectRequest, opts ...grpc.CallOption) (*DBConnectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DBConnectResponse) - err := c.cc.Invoke(ctx, Daemon_DBConnect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_DBConnect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *daemonClient) DBProxy(ctx context.Context, in *DBProxyRequest, opts ...grpc.CallOption) (Daemon_DBProxyClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[5], Daemon_DBProxy_FullMethodName, opts...) +func (c *daemonClient) DBProxy(ctx context.Context, in *DBProxyRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[5], Daemon_DBProxy_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonDBProxyClient{stream} + x := &grpc.GenericClientStream[DBProxyRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -290,29 +228,16 @@ func (c *daemonClient) DBProxy(ctx context.Context, in *DBProxyRequest, opts ... return x, nil } -type Daemon_DBProxyClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonDBProxyClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_DBProxyClient = grpc.ServerStreamingClient[CommandMessage] -func (x *daemonDBProxyClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *daemonClient) DBReset(ctx context.Context, in *DBResetRequest, opts ...grpc.CallOption) (Daemon_DBResetClient, error) { - stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[6], Daemon_DBReset_FullMethodName, opts...) +func (c *daemonClient) DBReset(ctx context.Context, in *DBResetRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CommandMessage], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Daemon_ServiceDesc.Streams[6], Daemon_DBReset_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &daemonDBResetClient{stream} + x := &grpc.GenericClientStream[DBResetRequest, CommandMessage]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -322,26 +247,13 @@ func (c *daemonClient) DBReset(ctx context.Context, in *DBResetRequest, opts ... return x, nil } -type Daemon_DBResetClient interface { - Recv() (*CommandMessage, error) - grpc.ClientStream -} - -type daemonDBResetClient struct { - grpc.ClientStream -} - -func (x *daemonDBResetClient) Recv() (*CommandMessage, error) { - m := new(CommandMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_DBResetClient = grpc.ServerStreamingClient[CommandMessage] func (c *daemonClient) GenClient(ctx context.Context, in *GenClientRequest, opts ...grpc.CallOption) (*GenClientResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GenClientResponse) - err := c.cc.Invoke(ctx, Daemon_GenClient_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_GenClient_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -349,8 +261,9 @@ func (c *daemonClient) GenClient(ctx context.Context, in *GenClientRequest, opts } func (c *daemonClient) GenWrappers(ctx context.Context, in *GenWrappersRequest, opts ...grpc.CallOption) (*GenWrappersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GenWrappersResponse) - err := c.cc.Invoke(ctx, Daemon_GenWrappers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_GenWrappers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -358,8 +271,9 @@ func (c *daemonClient) GenWrappers(ctx context.Context, in *GenWrappersRequest, } func (c *daemonClient) SecretsRefresh(ctx context.Context, in *SecretsRefreshRequest, opts ...grpc.CallOption) (*SecretsRefreshResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SecretsRefreshResponse) - err := c.cc.Invoke(ctx, Daemon_SecretsRefresh_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_SecretsRefresh_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -367,8 +281,9 @@ func (c *daemonClient) SecretsRefresh(ctx context.Context, in *SecretsRefreshReq } func (c *daemonClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(VersionResponse) - err := c.cc.Invoke(ctx, Daemon_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_Version_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -376,8 +291,9 @@ func (c *daemonClient) Version(ctx context.Context, in *emptypb.Empty, opts ...g } func (c *daemonClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*Namespace, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Namespace) - err := c.cc.Invoke(ctx, Daemon_CreateNamespace_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_CreateNamespace_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -385,8 +301,9 @@ func (c *daemonClient) CreateNamespace(ctx context.Context, in *CreateNamespaceR } func (c *daemonClient) SwitchNamespace(ctx context.Context, in *SwitchNamespaceRequest, opts ...grpc.CallOption) (*Namespace, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Namespace) - err := c.cc.Invoke(ctx, Daemon_SwitchNamespace_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_SwitchNamespace_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -394,8 +311,9 @@ func (c *daemonClient) SwitchNamespace(ctx context.Context, in *SwitchNamespaceR } func (c *daemonClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListNamespacesResponse) - err := c.cc.Invoke(ctx, Daemon_ListNamespaces_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_ListNamespaces_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -403,8 +321,9 @@ func (c *daemonClient) ListNamespaces(ctx context.Context, in *ListNamespacesReq } func (c *daemonClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Daemon_DeleteNamespace_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_DeleteNamespace_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -412,8 +331,9 @@ func (c *daemonClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceR } func (c *daemonClient) DumpMeta(ctx context.Context, in *DumpMetaRequest, opts ...grpc.CallOption) (*DumpMetaResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DumpMetaResponse) - err := c.cc.Invoke(ctx, Daemon_DumpMeta_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_DumpMeta_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -421,8 +341,9 @@ func (c *daemonClient) DumpMeta(ctx context.Context, in *DumpMetaRequest, opts . } func (c *daemonClient) Telemetry(ctx context.Context, in *TelemetryConfig, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Daemon_Telemetry_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_Telemetry_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -430,8 +351,9 @@ func (c *daemonClient) Telemetry(ctx context.Context, in *TelemetryConfig, opts } func (c *daemonClient) CreateApp(ctx context.Context, in *CreateAppRequest, opts ...grpc.CallOption) (*CreateAppResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CreateAppResponse) - err := c.cc.Invoke(ctx, Daemon_CreateApp_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Daemon_CreateApp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -440,27 +362,27 @@ func (c *daemonClient) CreateApp(ctx context.Context, in *CreateAppRequest, opts // DaemonServer is the server API for Daemon service. // All implementations must embed UnimplementedDaemonServer -// for forward compatibility +// for forward compatibility. type DaemonServer interface { // Run runs the application. - Run(*RunRequest, Daemon_RunServer) error + Run(*RunRequest, grpc.ServerStreamingServer[CommandMessage]) error // Test runs tests. - Test(*TestRequest, Daemon_TestServer) error + Test(*TestRequest, grpc.ServerStreamingServer[CommandMessage]) error // TestSpec returns the specification for how to run tests. TestSpec(context.Context, *TestSpecRequest) (*TestSpecResponse, error) // ExecScript executes a one-off script. - ExecScript(*ExecScriptRequest, Daemon_ExecScriptServer) error + ExecScript(*ExecScriptRequest, grpc.ServerStreamingServer[CommandMessage]) error // Check checks the app for compilation errors. - Check(*CheckRequest, Daemon_CheckServer) error + Check(*CheckRequest, grpc.ServerStreamingServer[CommandMessage]) error // Export exports the app in various formats. - Export(*ExportRequest, Daemon_ExportServer) error + Export(*ExportRequest, grpc.ServerStreamingServer[CommandMessage]) error // DBConnect starts the database and returns the DSN for connecting to it. DBConnect(context.Context, *DBConnectRequest) (*DBConnectResponse, error) // DBProxy starts a local database proxy for connecting to remote databases // on the encore.dev platform. - DBProxy(*DBProxyRequest, Daemon_DBProxyServer) error + DBProxy(*DBProxyRequest, grpc.ServerStreamingServer[CommandMessage]) error // DBReset resets the given databases, recreating them from scratch. - DBReset(*DBResetRequest, Daemon_DBResetServer) error + DBReset(*DBResetRequest, grpc.ServerStreamingServer[CommandMessage]) error // GenClient generates a client based on the app's API. GenClient(context.Context, *GenClientRequest) (*GenClientResponse, error) // GenWrappers generates user-facing wrapper code. @@ -486,35 +408,38 @@ type DaemonServer interface { mustEmbedUnimplementedDaemonServer() } -// UnimplementedDaemonServer must be embedded to have forward compatible implementations. -type UnimplementedDaemonServer struct { -} +// UnimplementedDaemonServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedDaemonServer struct{} -func (UnimplementedDaemonServer) Run(*RunRequest, Daemon_RunServer) error { +func (UnimplementedDaemonServer) Run(*RunRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method Run not implemented") } -func (UnimplementedDaemonServer) Test(*TestRequest, Daemon_TestServer) error { +func (UnimplementedDaemonServer) Test(*TestRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method Test not implemented") } func (UnimplementedDaemonServer) TestSpec(context.Context, *TestSpecRequest) (*TestSpecResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TestSpec not implemented") } -func (UnimplementedDaemonServer) ExecScript(*ExecScriptRequest, Daemon_ExecScriptServer) error { +func (UnimplementedDaemonServer) ExecScript(*ExecScriptRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method ExecScript not implemented") } -func (UnimplementedDaemonServer) Check(*CheckRequest, Daemon_CheckServer) error { +func (UnimplementedDaemonServer) Check(*CheckRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method Check not implemented") } -func (UnimplementedDaemonServer) Export(*ExportRequest, Daemon_ExportServer) error { +func (UnimplementedDaemonServer) Export(*ExportRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method Export not implemented") } func (UnimplementedDaemonServer) DBConnect(context.Context, *DBConnectRequest) (*DBConnectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DBConnect not implemented") } -func (UnimplementedDaemonServer) DBProxy(*DBProxyRequest, Daemon_DBProxyServer) error { +func (UnimplementedDaemonServer) DBProxy(*DBProxyRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method DBProxy not implemented") } -func (UnimplementedDaemonServer) DBReset(*DBResetRequest, Daemon_DBResetServer) error { +func (UnimplementedDaemonServer) DBReset(*DBResetRequest, grpc.ServerStreamingServer[CommandMessage]) error { return status.Errorf(codes.Unimplemented, "method DBReset not implemented") } func (UnimplementedDaemonServer) GenClient(context.Context, *GenClientRequest) (*GenClientResponse, error) { @@ -551,6 +476,7 @@ func (UnimplementedDaemonServer) CreateApp(context.Context, *CreateAppRequest) ( return nil, status.Errorf(codes.Unimplemented, "method CreateApp not implemented") } func (UnimplementedDaemonServer) mustEmbedUnimplementedDaemonServer() {} +func (UnimplementedDaemonServer) testEmbeddedByValue() {} // UnsafeDaemonServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DaemonServer will @@ -560,6 +486,13 @@ type UnsafeDaemonServer interface { } func RegisterDaemonServer(s grpc.ServiceRegistrar, srv DaemonServer) { + // If the following call pancis, it indicates UnimplementedDaemonServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Daemon_ServiceDesc, srv) } @@ -568,42 +501,22 @@ func _Daemon_Run_Handler(srv interface{}, stream grpc.ServerStream) error { if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).Run(m, &daemonRunServer{stream}) -} - -type Daemon_RunServer interface { - Send(*CommandMessage) error - grpc.ServerStream -} - -type daemonRunServer struct { - grpc.ServerStream + return srv.(DaemonServer).Run(m, &grpc.GenericServerStream[RunRequest, CommandMessage]{ServerStream: stream}) } -func (x *daemonRunServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_RunServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_Test_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TestRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).Test(m, &daemonTestServer{stream}) -} - -type Daemon_TestServer interface { - Send(*CommandMessage) error - grpc.ServerStream + return srv.(DaemonServer).Test(m, &grpc.GenericServerStream[TestRequest, CommandMessage]{ServerStream: stream}) } -type daemonTestServer struct { - grpc.ServerStream -} - -func (x *daemonTestServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_TestServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_TestSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TestSpecRequest) @@ -628,63 +541,33 @@ func _Daemon_ExecScript_Handler(srv interface{}, stream grpc.ServerStream) error if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).ExecScript(m, &daemonExecScriptServer{stream}) + return srv.(DaemonServer).ExecScript(m, &grpc.GenericServerStream[ExecScriptRequest, CommandMessage]{ServerStream: stream}) } -type Daemon_ExecScriptServer interface { - Send(*CommandMessage) error - grpc.ServerStream -} - -type daemonExecScriptServer struct { - grpc.ServerStream -} - -func (x *daemonExecScriptServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_ExecScriptServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_Check_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(CheckRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).Check(m, &daemonCheckServer{stream}) -} - -type Daemon_CheckServer interface { - Send(*CommandMessage) error - grpc.ServerStream + return srv.(DaemonServer).Check(m, &grpc.GenericServerStream[CheckRequest, CommandMessage]{ServerStream: stream}) } -type daemonCheckServer struct { - grpc.ServerStream -} - -func (x *daemonCheckServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_CheckServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_Export_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ExportRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).Export(m, &daemonExportServer{stream}) + return srv.(DaemonServer).Export(m, &grpc.GenericServerStream[ExportRequest, CommandMessage]{ServerStream: stream}) } -type Daemon_ExportServer interface { - Send(*CommandMessage) error - grpc.ServerStream -} - -type daemonExportServer struct { - grpc.ServerStream -} - -func (x *daemonExportServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_ExportServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_DBConnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DBConnectRequest) @@ -709,42 +592,22 @@ func _Daemon_DBProxy_Handler(srv interface{}, stream grpc.ServerStream) error { if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).DBProxy(m, &daemonDBProxyServer{stream}) + return srv.(DaemonServer).DBProxy(m, &grpc.GenericServerStream[DBProxyRequest, CommandMessage]{ServerStream: stream}) } -type Daemon_DBProxyServer interface { - Send(*CommandMessage) error - grpc.ServerStream -} - -type daemonDBProxyServer struct { - grpc.ServerStream -} - -func (x *daemonDBProxyServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_DBProxyServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_DBReset_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(DBResetRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DaemonServer).DBReset(m, &daemonDBResetServer{stream}) + return srv.(DaemonServer).DBReset(m, &grpc.GenericServerStream[DBResetRequest, CommandMessage]{ServerStream: stream}) } -type Daemon_DBResetServer interface { - Send(*CommandMessage) error - grpc.ServerStream -} - -type daemonDBResetServer struct { - grpc.ServerStream -} - -func (x *daemonDBResetServer) Send(m *CommandMessage) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Daemon_DBResetServer = grpc.ServerStreamingServer[CommandMessage] func _Daemon_GenClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GenClientRequest) diff --git a/proto/encore/engine/trace/trace.pb.go b/proto/encore/engine/trace/trace.pb.go index fa58a46a1f..12bc96203d 100644 --- a/proto/encore/engine/trace/trace.pb.go +++ b/proto/encore/engine/trace/trace.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/engine/trace/trace.proto package trace @@ -12,6 +12,7 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -313,21 +314,18 @@ func (LogMessage_Level) EnumDescriptor() ([]byte, []int) { } type TraceID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` + Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` unknownFields protoimpl.UnknownFields - - High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` - Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TraceID) Reset() { *x = TraceID{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TraceID) String() string { @@ -338,7 +336,7 @@ func (*TraceID) ProtoMessage() {} func (x *TraceID) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -368,23 +366,20 @@ func (x *TraceID) GetLow() uint64 { } type Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TraceId *TraceID `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` - SpanId uint64 `protobuf:"varint,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` - ParentSpanId uint64 `protobuf:"varint,3,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"` - ParentTraceId *TraceID `protobuf:"bytes,32,opt,name=parent_trace_id,json=parentTraceId,proto3" json:"parent_trace_id,omitempty"` - Goid uint32 `protobuf:"varint,4,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - DefLoc int32 `protobuf:"varint,8,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` - Err []byte `protobuf:"bytes,11,opt,name=err,proto3" json:"err,omitempty"` - Events []*Event `protobuf:"bytes,12,rep,name=events,proto3" json:"events,omitempty"` - Type Request_Type `protobuf:"varint,14,opt,name=type,proto3,enum=encore.engine.trace.Request_Type" json:"type,omitempty"` - ErrStack *StackTrace `protobuf:"bytes,15,opt,name=err_stack,json=errStack,proto3" json:"err_stack,omitempty"` // null if unavailable - PanicStack *StackTrace `protobuf:"bytes,34,opt,name=panic_stack,json=panicStack,proto3" json:"panic_stack,omitempty"` // null if unavailable + state protoimpl.MessageState `protogen:"open.v1"` + TraceId *TraceID `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` + SpanId uint64 `protobuf:"varint,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` + ParentSpanId uint64 `protobuf:"varint,3,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"` + ParentTraceId *TraceID `protobuf:"bytes,32,opt,name=parent_trace_id,json=parentTraceId,proto3" json:"parent_trace_id,omitempty"` + Goid uint32 `protobuf:"varint,4,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + DefLoc int32 `protobuf:"varint,8,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` + Err []byte `protobuf:"bytes,11,opt,name=err,proto3" json:"err,omitempty"` + Events []*Event `protobuf:"bytes,12,rep,name=events,proto3" json:"events,omitempty"` + Type Request_Type `protobuf:"varint,14,opt,name=type,proto3,enum=encore.engine.trace.Request_Type" json:"type,omitempty"` + ErrStack *StackTrace `protobuf:"bytes,15,opt,name=err_stack,json=errStack,proto3" json:"err_stack,omitempty"` // null if unavailable + PanicStack *StackTrace `protobuf:"bytes,34,opt,name=panic_stack,json=panicStack,proto3" json:"panic_stack,omitempty"` // null if unavailable // abs_start_time is the absolute unix timestamp // (in nanosecond resolution) of when the request started. AbsStartTime uint64 `protobuf:"varint,16,opt,name=abs_start_time,json=absStartTime,proto3" json:"abs_start_time,omitempty"` @@ -405,20 +400,20 @@ type Request struct { PathParams []string `protobuf:"bytes,26,rep,name=path_params,json=pathParams,proto3" json:"path_params,omitempty"` RequestPayload []byte `protobuf:"bytes,27,opt,name=request_payload,json=requestPayload,proto3" json:"request_payload,omitempty"` ResponsePayload []byte `protobuf:"bytes,28,opt,name=response_payload,json=responsePayload,proto3" json:"response_payload,omitempty"` - RawRequestHeaders map[string]string `protobuf:"bytes,29,rep,name=raw_request_headers,json=rawRequestHeaders,proto3" json:"raw_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - RawResponseHeaders map[string]string `protobuf:"bytes,30,rep,name=raw_response_headers,json=rawResponseHeaders,proto3" json:"raw_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + RawRequestHeaders map[string]string `protobuf:"bytes,29,rep,name=raw_request_headers,json=rawRequestHeaders,proto3" json:"raw_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + RawResponseHeaders map[string]string `protobuf:"bytes,30,rep,name=raw_response_headers,json=rawResponseHeaders,proto3" json:"raw_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // external_request_id is the value of the X-Request-ID header. ExternalRequestId string `protobuf:"bytes,31,opt,name=external_request_id,json=externalRequestId,proto3" json:"external_request_id,omitempty"` ExternalCorrelationId string `protobuf:"bytes,33,opt,name=external_correlation_id,json=externalCorrelationId,proto3" json:"external_correlation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Request) Reset() { *x = Request{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Request) String() string { @@ -429,7 +424,7 @@ func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -676,11 +671,8 @@ func (x *Request) GetExternalCorrelationId() string { } type Event struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Data: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Data: // // *Event_Rpc // *Event_Tx @@ -692,16 +684,16 @@ type Event struct { // *Event_ServiceInit // *Event_Cache // *Event_BodyStream - Data isEvent_Data `protobuf_oneof:"data"` + Data isEvent_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Event) Reset() { *x = Event{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Event) String() string { @@ -712,7 +704,7 @@ func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -727,79 +719,99 @@ func (*Event) Descriptor() ([]byte, []int) { return file_encore_engine_trace_trace_proto_rawDescGZIP(), []int{2} } -func (m *Event) GetData() isEvent_Data { - if m != nil { - return m.Data +func (x *Event) GetData() isEvent_Data { + if x != nil { + return x.Data } return nil } func (x *Event) GetRpc() *RPCCall { - if x, ok := x.GetData().(*Event_Rpc); ok { - return x.Rpc + if x != nil { + if x, ok := x.Data.(*Event_Rpc); ok { + return x.Rpc + } } return nil } func (x *Event) GetTx() *DBTransaction { - if x, ok := x.GetData().(*Event_Tx); ok { - return x.Tx + if x != nil { + if x, ok := x.Data.(*Event_Tx); ok { + return x.Tx + } } return nil } func (x *Event) GetQuery() *DBQuery { - if x, ok := x.GetData().(*Event_Query); ok { - return x.Query + if x != nil { + if x, ok := x.Data.(*Event_Query); ok { + return x.Query + } } return nil } func (x *Event) GetGoroutine() *Goroutine { - if x, ok := x.GetData().(*Event_Goroutine); ok { - return x.Goroutine + if x != nil { + if x, ok := x.Data.(*Event_Goroutine); ok { + return x.Goroutine + } } return nil } func (x *Event) GetHttp() *HTTPCall { - if x, ok := x.GetData().(*Event_Http); ok { - return x.Http + if x != nil { + if x, ok := x.Data.(*Event_Http); ok { + return x.Http + } } return nil } func (x *Event) GetLog() *LogMessage { - if x, ok := x.GetData().(*Event_Log); ok { - return x.Log + if x != nil { + if x, ok := x.Data.(*Event_Log); ok { + return x.Log + } } return nil } func (x *Event) GetPublishedMsg() *PubsubMsgPublished { - if x, ok := x.GetData().(*Event_PublishedMsg); ok { - return x.PublishedMsg + if x != nil { + if x, ok := x.Data.(*Event_PublishedMsg); ok { + return x.PublishedMsg + } } return nil } func (x *Event) GetServiceInit() *ServiceInit { - if x, ok := x.GetData().(*Event_ServiceInit); ok { - return x.ServiceInit + if x != nil { + if x, ok := x.Data.(*Event_ServiceInit); ok { + return x.ServiceInit + } } return nil } func (x *Event) GetCache() *CacheOp { - if x, ok := x.GetData().(*Event_Cache); ok { - return x.Cache + if x != nil { + if x, ok := x.Data.(*Event_Cache); ok { + return x.Cache + } } return nil } func (x *Event) GetBodyStream() *BodyStream { - if x, ok := x.GetData().(*Event_BodyStream); ok { - return x.BodyStream + if x != nil { + if x, ok := x.Data.(*Event_BodyStream); ok { + return x.BodyStream + } } return nil } @@ -869,26 +881,23 @@ func (*Event_Cache) isEvent_Data() {} func (*Event_BodyStream) isEvent_Data() {} type RPCCall struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` + Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` + DefLoc int32 `protobuf:"varint,4,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` + StartTime uint64 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Err []byte `protobuf:"bytes,7,opt,name=err,proto3" json:"err,omitempty"` + Stack *StackTrace `protobuf:"bytes,8,opt,name=stack,proto3" json:"stack,omitempty"` // where it was called (null if unavailable) unknownFields protoimpl.UnknownFields - - SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` - Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` - DefLoc int32 `protobuf:"varint,4,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` - StartTime uint64 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Err []byte `protobuf:"bytes,7,opt,name=err,proto3" json:"err,omitempty"` - Stack *StackTrace `protobuf:"bytes,8,opt,name=stack,proto3" json:"stack,omitempty"` // where it was called (null if unavailable) + sizeCache protoimpl.SizeCache } func (x *RPCCall) Reset() { *x = RPCCall{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPCCall) String() string { @@ -899,7 +908,7 @@ func (*RPCCall) ProtoMessage() {} func (x *RPCCall) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -964,22 +973,19 @@ func (x *RPCCall) GetStack() *StackTrace { } type Goroutine struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Goroutine) Reset() { *x = Goroutine{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Goroutine) String() string { @@ -990,7 +996,7 @@ func (*Goroutine) ProtoMessage() {} func (x *Goroutine) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1027,27 +1033,24 @@ func (x *Goroutine) GetEndTime() uint64 { } type DBTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` + Completion DBTransaction_CompletionType `protobuf:"varint,7,opt,name=completion,proto3,enum=encore.engine.trace.DBTransaction_CompletionType" json:"completion,omitempty"` + Queries []*DBQuery `protobuf:"bytes,8,rep,name=queries,proto3" json:"queries,omitempty"` + BeginStack *StackTrace `protobuf:"bytes,9,opt,name=begin_stack,json=beginStack,proto3" json:"begin_stack,omitempty"` // null if unavailable + EndStack *StackTrace `protobuf:"bytes,10,opt,name=end_stack,json=endStack,proto3" json:"end_stack,omitempty"` // null if unavailable unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` - Completion DBTransaction_CompletionType `protobuf:"varint,7,opt,name=completion,proto3,enum=encore.engine.trace.DBTransaction_CompletionType" json:"completion,omitempty"` - Queries []*DBQuery `protobuf:"bytes,8,rep,name=queries,proto3" json:"queries,omitempty"` - BeginStack *StackTrace `protobuf:"bytes,9,opt,name=begin_stack,json=beginStack,proto3" json:"begin_stack,omitempty"` // null if unavailable - EndStack *StackTrace `protobuf:"bytes,10,opt,name=end_stack,json=endStack,proto3" json:"end_stack,omitempty"` // null if unavailable + sizeCache protoimpl.SizeCache } func (x *DBTransaction) Reset() { *x = DBTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBTransaction) String() string { @@ -1058,7 +1061,7 @@ func (*DBTransaction) ProtoMessage() {} func (x *DBTransaction) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1130,25 +1133,22 @@ func (x *DBTransaction) GetEndStack() *StackTrace { } type DBQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Query []byte `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"` + Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` + Stack *StackTrace `protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Query []byte `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"` - Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` - Stack *StackTrace `protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable + sizeCache protoimpl.SizeCache } func (x *DBQuery) Reset() { *x = DBQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBQuery) String() string { @@ -1159,7 +1159,7 @@ func (*DBQuery) ProtoMessage() {} func (x *DBQuery) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1217,27 +1217,24 @@ func (x *DBQuery) GetStack() *StackTrace { } type PubsubMsgPublished struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint64 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Topic string `protobuf:"bytes,5,opt,name=topic,proto3" json:"topic,omitempty"` + Message []byte `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` + MessageId string `protobuf:"bytes,7,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + Err []byte `protobuf:"bytes,8,opt,name=err,proto3" json:"err,omitempty"` + Stack *StackTrace `protobuf:"bytes,9,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Goid uint64 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Topic string `protobuf:"bytes,5,opt,name=topic,proto3" json:"topic,omitempty"` - Message []byte `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` - MessageId string `protobuf:"bytes,7,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` - Err []byte `protobuf:"bytes,8,opt,name=err,proto3" json:"err,omitempty"` - Stack *StackTrace `protobuf:"bytes,9,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubsubMsgPublished) Reset() { *x = PubsubMsgPublished{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubsubMsgPublished) String() string { @@ -1248,7 +1245,7 @@ func (*PubsubMsgPublished) ProtoMessage() {} func (x *PubsubMsgPublished) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1320,26 +1317,23 @@ func (x *PubsubMsgPublished) GetStack() *StackTrace { } type ServiceInit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint64 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + DefLoc int32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Service string `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` + Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` + ErrStack *StackTrace `protobuf:"bytes,7,opt,name=err_stack,json=errStack,proto3" json:"err_stack,omitempty"` // null if not an error unknownFields protoimpl.UnknownFields - - Goid uint64 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - DefLoc int32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Service string `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` - Err []byte `protobuf:"bytes,6,opt,name=err,proto3" json:"err,omitempty"` - ErrStack *StackTrace `protobuf:"bytes,7,opt,name=err_stack,json=errStack,proto3" json:"err_stack,omitempty"` // null if not an error + sizeCache protoimpl.SizeCache } func (x *ServiceInit) Reset() { *x = ServiceInit{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceInit) String() string { @@ -1350,7 +1344,7 @@ func (*ServiceInit) ProtoMessage() {} func (x *ServiceInit) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1415,31 +1409,28 @@ func (x *ServiceInit) GetErrStack() *StackTrace { } type CacheOp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + DefLoc int32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Operation string `protobuf:"bytes,5,opt,name=operation,proto3" json:"operation,omitempty"` + Keys []string `protobuf:"bytes,6,rep,name=keys,proto3" json:"keys,omitempty"` + Inputs [][]byte `protobuf:"bytes,7,rep,name=inputs,proto3" json:"inputs,omitempty"` + Outputs [][]byte `protobuf:"bytes,8,rep,name=outputs,proto3" json:"outputs,omitempty"` + Stack *StackTrace `protobuf:"bytes,9,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable + Err []byte `protobuf:"bytes,10,opt,name=err,proto3" json:"err,omitempty"` // set iff result == ERR + Write bool `protobuf:"varint,11,opt,name=write,proto3" json:"write,omitempty"` + Result CacheOp_Result `protobuf:"varint,12,opt,name=result,proto3,enum=encore.engine.trace.CacheOp_Result" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - DefLoc int32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3" json:"def_loc,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Operation string `protobuf:"bytes,5,opt,name=operation,proto3" json:"operation,omitempty"` - Keys []string `protobuf:"bytes,6,rep,name=keys,proto3" json:"keys,omitempty"` - Inputs [][]byte `protobuf:"bytes,7,rep,name=inputs,proto3" json:"inputs,omitempty"` - Outputs [][]byte `protobuf:"bytes,8,rep,name=outputs,proto3" json:"outputs,omitempty"` - Stack *StackTrace `protobuf:"bytes,9,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable - Err []byte `protobuf:"bytes,10,opt,name=err,proto3" json:"err,omitempty"` // set iff result == ERR - Write bool `protobuf:"varint,11,opt,name=write,proto3" json:"write,omitempty"` - Result CacheOp_Result `protobuf:"varint,12,opt,name=result,proto3,enum=encore.engine.trace.CacheOp_Result" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CacheOp) Reset() { *x = CacheOp{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheOp) String() string { @@ -1450,7 +1441,7 @@ func (*CacheOp) ProtoMessage() {} func (x *CacheOp) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1550,22 +1541,19 @@ func (x *CacheOp) GetResult() CacheOp_Result { } type BodyStream struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsResponse bool `protobuf:"varint,1,opt,name=is_response,json=isResponse,proto3" json:"is_response,omitempty"` + Overflowed bool `protobuf:"varint,2,opt,name=overflowed,proto3" json:"overflowed,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields - - IsResponse bool `protobuf:"varint,1,opt,name=is_response,json=isResponse,proto3" json:"is_response,omitempty"` - Overflowed bool `protobuf:"varint,2,opt,name=overflowed,proto3" json:"overflowed,omitempty"` - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BodyStream) Reset() { *x = BodyStream{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BodyStream) String() string { @@ -1576,7 +1564,7 @@ func (*BodyStream) ProtoMessage() {} func (x *BodyStream) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1613,29 +1601,26 @@ func (x *BodyStream) GetData() []byte { } type HTTPCall struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` - Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` - StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Method string `protobuf:"bytes,5,opt,name=method,proto3" json:"method,omitempty"` - Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` - StatusCode uint32 `protobuf:"varint,7,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` - Err []byte `protobuf:"bytes,8,opt,name=err,proto3" json:"err,omitempty"` - BodyClosedTime uint64 `protobuf:"varint,9,opt,name=body_closed_time,json=bodyClosedTime,proto3" json:"body_closed_time,omitempty"` - Events []*HTTPTraceEvent `protobuf:"bytes,10,rep,name=events,proto3" json:"events,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` + Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` + StartTime uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime uint64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Method string `protobuf:"bytes,5,opt,name=method,proto3" json:"method,omitempty"` + Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` + StatusCode uint32 `protobuf:"varint,7,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` + Err []byte `protobuf:"bytes,8,opt,name=err,proto3" json:"err,omitempty"` + BodyClosedTime uint64 `protobuf:"varint,9,opt,name=body_closed_time,json=bodyClosedTime,proto3" json:"body_closed_time,omitempty"` + Events []*HTTPTraceEvent `protobuf:"bytes,10,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPCall) Reset() { *x = HTTPCall{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPCall) String() string { @@ -1646,7 +1631,7 @@ func (*HTTPCall) ProtoMessage() {} func (x *HTTPCall) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1732,13 +1717,10 @@ func (x *HTTPCall) GetEvents() []*HTTPTraceEvent { } type HTTPTraceEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code HTTPTraceEventCode `protobuf:"varint,1,opt,name=code,proto3,enum=encore.engine.trace.HTTPTraceEventCode" json:"code,omitempty"` - Time uint64 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"` - // Types that are assignable to Data: + state protoimpl.MessageState `protogen:"open.v1"` + Code HTTPTraceEventCode `protobuf:"varint,1,opt,name=code,proto3,enum=encore.engine.trace.HTTPTraceEventCode" json:"code,omitempty"` + Time uint64 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"` + // Types that are valid to be assigned to Data: // // *HTTPTraceEvent_GetConn // *HTTPTraceEvent_GotConn @@ -1749,16 +1731,16 @@ type HTTPTraceEvent struct { // *HTTPTraceEvent_ConnectDone // *HTTPTraceEvent_TlsHandshakeDone // *HTTPTraceEvent_WroteRequest - Data isHTTPTraceEvent_Data `protobuf_oneof:"data"` + Data isHTTPTraceEvent_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPTraceEvent) Reset() { *x = HTTPTraceEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPTraceEvent) String() string { @@ -1769,7 +1751,7 @@ func (*HTTPTraceEvent) ProtoMessage() {} func (x *HTTPTraceEvent) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1798,72 +1780,90 @@ func (x *HTTPTraceEvent) GetTime() uint64 { return 0 } -func (m *HTTPTraceEvent) GetData() isHTTPTraceEvent_Data { - if m != nil { - return m.Data +func (x *HTTPTraceEvent) GetData() isHTTPTraceEvent_Data { + if x != nil { + return x.Data } return nil } func (x *HTTPTraceEvent) GetGetConn() *HTTPGetConnData { - if x, ok := x.GetData().(*HTTPTraceEvent_GetConn); ok { - return x.GetConn + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_GetConn); ok { + return x.GetConn + } } return nil } func (x *HTTPTraceEvent) GetGotConn() *HTTPGotConnData { - if x, ok := x.GetData().(*HTTPTraceEvent_GotConn); ok { - return x.GotConn + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_GotConn); ok { + return x.GotConn + } } return nil } func (x *HTTPTraceEvent) GetGot_1XxResponse() *HTTPGot1XxResponseData { - if x, ok := x.GetData().(*HTTPTraceEvent_Got_1XxResponse); ok { - return x.Got_1XxResponse + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_Got_1XxResponse); ok { + return x.Got_1XxResponse + } } return nil } func (x *HTTPTraceEvent) GetDnsStart() *HTTPDNSStartData { - if x, ok := x.GetData().(*HTTPTraceEvent_DnsStart); ok { - return x.DnsStart + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_DnsStart); ok { + return x.DnsStart + } } return nil } func (x *HTTPTraceEvent) GetDnsDone() *HTTPDNSDoneData { - if x, ok := x.GetData().(*HTTPTraceEvent_DnsDone); ok { - return x.DnsDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_DnsDone); ok { + return x.DnsDone + } } return nil } func (x *HTTPTraceEvent) GetConnectStart() *HTTPConnectStartData { - if x, ok := x.GetData().(*HTTPTraceEvent_ConnectStart); ok { - return x.ConnectStart + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_ConnectStart); ok { + return x.ConnectStart + } } return nil } func (x *HTTPTraceEvent) GetConnectDone() *HTTPConnectDoneData { - if x, ok := x.GetData().(*HTTPTraceEvent_ConnectDone); ok { - return x.ConnectDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_ConnectDone); ok { + return x.ConnectDone + } } return nil } func (x *HTTPTraceEvent) GetTlsHandshakeDone() *HTTPTLSHandshakeDoneData { - if x, ok := x.GetData().(*HTTPTraceEvent_TlsHandshakeDone); ok { - return x.TlsHandshakeDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_TlsHandshakeDone); ok { + return x.TlsHandshakeDone + } } return nil } func (x *HTTPTraceEvent) GetWroteRequest() *HTTPWroteRequestData { - if x, ok := x.GetData().(*HTTPTraceEvent_WroteRequest); ok { - return x.WroteRequest + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_WroteRequest); ok { + return x.WroteRequest + } } return nil } @@ -1927,20 +1927,17 @@ func (*HTTPTraceEvent_TlsHandshakeDone) isHTTPTraceEvent_Data() {} func (*HTTPTraceEvent_WroteRequest) isHTTPTraceEvent_Data() {} type HTTPGetConnData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + HostPort string `protobuf:"bytes,1,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"` unknownFields protoimpl.UnknownFields - - HostPort string `protobuf:"bytes,1,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPGetConnData) Reset() { *x = HTTPGetConnData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGetConnData) String() string { @@ -1951,7 +1948,7 @@ func (*HTTPGetConnData) ProtoMessage() {} func (x *HTTPGetConnData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1974,22 +1971,19 @@ func (x *HTTPGetConnData) GetHostPort() string { } type HTTPGotConnData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Reused bool `protobuf:"varint,1,opt,name=reused,proto3" json:"reused,omitempty"` - WasIdle bool `protobuf:"varint,2,opt,name=was_idle,json=wasIdle,proto3" json:"was_idle,omitempty"` - IdleDurationNs int64 `protobuf:"varint,3,opt,name=idle_duration_ns,json=idleDurationNs,proto3" json:"idle_duration_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Reused bool `protobuf:"varint,1,opt,name=reused,proto3" json:"reused,omitempty"` + WasIdle bool `protobuf:"varint,2,opt,name=was_idle,json=wasIdle,proto3" json:"was_idle,omitempty"` + IdleDurationNs int64 `protobuf:"varint,3,opt,name=idle_duration_ns,json=idleDurationNs,proto3" json:"idle_duration_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPGotConnData) Reset() { *x = HTTPGotConnData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGotConnData) String() string { @@ -2000,7 +1994,7 @@ func (*HTTPGotConnData) ProtoMessage() {} func (x *HTTPGotConnData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2037,20 +2031,17 @@ func (x *HTTPGotConnData) GetIdleDurationNs() int64 { } type HTTPGot1XxResponseData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPGot1XxResponseData) Reset() { *x = HTTPGot1XxResponseData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGot1XxResponseData) String() string { @@ -2061,7 +2052,7 @@ func (*HTTPGot1XxResponseData) ProtoMessage() {} func (x *HTTPGot1XxResponseData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2084,20 +2075,17 @@ func (x *HTTPGot1XxResponseData) GetCode() int32 { } type HTTPDNSStartData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` unknownFields protoimpl.UnknownFields - - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPDNSStartData) Reset() { *x = HTTPDNSStartData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPDNSStartData) String() string { @@ -2108,7 +2096,7 @@ func (*HTTPDNSStartData) ProtoMessage() {} func (x *HTTPDNSStartData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2131,21 +2119,18 @@ func (x *HTTPDNSStartData) GetHost() string { } type HTTPDNSDoneData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` + Addrs []*DNSAddr `protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"` unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` - Addrs []*DNSAddr `protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPDNSDoneData) Reset() { *x = HTTPDNSDoneData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPDNSDoneData) String() string { @@ -2156,7 +2141,7 @@ func (*HTTPDNSDoneData) ProtoMessage() {} func (x *HTTPDNSDoneData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2186,20 +2171,17 @@ func (x *HTTPDNSDoneData) GetAddrs() []*DNSAddr { } type DNSAddr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` unknownFields protoimpl.UnknownFields - - Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DNSAddr) Reset() { *x = DNSAddr{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DNSAddr) String() string { @@ -2210,7 +2192,7 @@ func (*DNSAddr) ProtoMessage() {} func (x *DNSAddr) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2233,21 +2215,18 @@ func (x *DNSAddr) GetIp() []byte { } type HTTPConnectStartData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` - Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPConnectStartData) Reset() { *x = HTTPConnectStartData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPConnectStartData) String() string { @@ -2258,7 +2237,7 @@ func (*HTTPConnectStartData) ProtoMessage() {} func (x *HTTPConnectStartData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2288,22 +2267,19 @@ func (x *HTTPConnectStartData) GetAddr() string { } type HTTPConnectDoneData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` + Err []byte `protobuf:"bytes,3,opt,name=err,proto3" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` - Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` - Err []byte `protobuf:"bytes,3,opt,name=err,proto3" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPConnectDoneData) Reset() { *x = HTTPConnectDoneData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPConnectDoneData) String() string { @@ -2314,7 +2290,7 @@ func (*HTTPConnectDoneData) ProtoMessage() {} func (x *HTTPConnectDoneData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2351,24 +2327,21 @@ func (x *HTTPConnectDoneData) GetErr() []byte { } type HTTPTLSHandshakeDoneData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` - TlsVersion uint32 `protobuf:"varint,2,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` - CipherSuite uint32 `protobuf:"varint,3,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"` - ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` - NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` + TlsVersion uint32 `protobuf:"varint,2,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` + CipherSuite uint32 `protobuf:"varint,3,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"` + ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` + NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPTLSHandshakeDoneData) Reset() { *x = HTTPTLSHandshakeDoneData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPTLSHandshakeDoneData) String() string { @@ -2379,7 +2352,7 @@ func (*HTTPTLSHandshakeDoneData) ProtoMessage() {} func (x *HTTPTLSHandshakeDoneData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2430,20 +2403,17 @@ func (x *HTTPTLSHandshakeDoneData) GetNegotiatedProtocol() string { } type HTTPWroteRequestData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPWroteRequestData) Reset() { *x = HTTPWroteRequestData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPWroteRequestData) String() string { @@ -2454,7 +2424,7 @@ func (*HTTPWroteRequestData) ProtoMessage() {} func (x *HTTPWroteRequestData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2477,26 +2447,23 @@ func (x *HTTPWroteRequestData) GetErr() []byte { } type LogMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` + Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` + Time uint64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` + Level LogMessage_Level `protobuf:"varint,4,opt,name=level,proto3,enum=encore.engine.trace.LogMessage_Level" json:"level,omitempty"` + Msg string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg,omitempty"` + Fields []*LogField `protobuf:"bytes,6,rep,name=fields,proto3" json:"fields,omitempty"` + Stack *StackTrace `protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable unknownFields protoimpl.UnknownFields - - SpanId uint64 `protobuf:"varint,1,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` - Goid uint32 `protobuf:"varint,2,opt,name=goid,proto3" json:"goid,omitempty"` - Time uint64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` - Level LogMessage_Level `protobuf:"varint,4,opt,name=level,proto3,enum=encore.engine.trace.LogMessage_Level" json:"level,omitempty"` - Msg string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg,omitempty"` - Fields []*LogField `protobuf:"bytes,6,rep,name=fields,proto3" json:"fields,omitempty"` - Stack *StackTrace `protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty"` // null if unavailable + sizeCache protoimpl.SizeCache } func (x *LogMessage) Reset() { *x = LogMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogMessage) String() string { @@ -2507,7 +2474,7 @@ func (*LogMessage) ProtoMessage() {} func (x *LogMessage) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2572,12 +2539,9 @@ func (x *LogMessage) GetStack() *StackTrace { } type LogField struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Types that are valid to be assigned to Value: // // *LogField_ErrorWithoutStack // *LogField_ErrorWithStack @@ -2591,16 +2555,16 @@ type LogField struct { // *LogField_Uint // *LogField_Float32 // *LogField_Float64 - Value isLogField_Value `protobuf_oneof:"value"` + Value isLogField_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LogField) Reset() { *x = LogField{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogField) String() string { @@ -2611,7 +2575,7 @@ func (*LogField) ProtoMessage() {} func (x *LogField) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2633,93 +2597,117 @@ func (x *LogField) GetKey() string { return "" } -func (m *LogField) GetValue() isLogField_Value { - if m != nil { - return m.Value +func (x *LogField) GetValue() isLogField_Value { + if x != nil { + return x.Value } return nil } func (x *LogField) GetErrorWithoutStack() string { - if x, ok := x.GetValue().(*LogField_ErrorWithoutStack); ok { - return x.ErrorWithoutStack + if x != nil { + if x, ok := x.Value.(*LogField_ErrorWithoutStack); ok { + return x.ErrorWithoutStack + } } return "" } func (x *LogField) GetErrorWithStack() *ErrWithStack { - if x, ok := x.GetValue().(*LogField_ErrorWithStack); ok { - return x.ErrorWithStack + if x != nil { + if x, ok := x.Value.(*LogField_ErrorWithStack); ok { + return x.ErrorWithStack + } } return nil } func (x *LogField) GetStr() string { - if x, ok := x.GetValue().(*LogField_Str); ok { - return x.Str + if x != nil { + if x, ok := x.Value.(*LogField_Str); ok { + return x.Str + } } return "" } func (x *LogField) GetBool() bool { - if x, ok := x.GetValue().(*LogField_Bool); ok { - return x.Bool + if x != nil { + if x, ok := x.Value.(*LogField_Bool); ok { + return x.Bool + } } return false } func (x *LogField) GetTime() *timestamppb.Timestamp { - if x, ok := x.GetValue().(*LogField_Time); ok { - return x.Time + if x != nil { + if x, ok := x.Value.(*LogField_Time); ok { + return x.Time + } } return nil } func (x *LogField) GetDur() int64 { - if x, ok := x.GetValue().(*LogField_Dur); ok { - return x.Dur + if x != nil { + if x, ok := x.Value.(*LogField_Dur); ok { + return x.Dur + } } return 0 } func (x *LogField) GetUuid() []byte { - if x, ok := x.GetValue().(*LogField_Uuid); ok { - return x.Uuid + if x != nil { + if x, ok := x.Value.(*LogField_Uuid); ok { + return x.Uuid + } } return nil } func (x *LogField) GetJson() []byte { - if x, ok := x.GetValue().(*LogField_Json); ok { - return x.Json + if x != nil { + if x, ok := x.Value.(*LogField_Json); ok { + return x.Json + } } return nil } func (x *LogField) GetInt() int64 { - if x, ok := x.GetValue().(*LogField_Int); ok { - return x.Int + if x != nil { + if x, ok := x.Value.(*LogField_Int); ok { + return x.Int + } } return 0 } func (x *LogField) GetUint() uint64 { - if x, ok := x.GetValue().(*LogField_Uint); ok { - return x.Uint + if x != nil { + if x, ok := x.Value.(*LogField_Uint); ok { + return x.Uint + } } return 0 } func (x *LogField) GetFloat32() float32 { - if x, ok := x.GetValue().(*LogField_Float32); ok { - return x.Float32 + if x != nil { + if x, ok := x.Value.(*LogField_Float32); ok { + return x.Float32 + } } return 0 } func (x *LogField) GetFloat64() float64 { - if x, ok := x.GetValue().(*LogField_Float64); ok { - return x.Float64 + if x != nil { + if x, ok := x.Value.(*LogField_Float64); ok { + return x.Float64 + } } return 0 } @@ -2801,21 +2789,18 @@ func (*LogField_Float32) isLogField_Value() {} func (*LogField_Float64) isLogField_Value() {} type ErrWithStack struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ErrWithStack) Reset() { *x = ErrWithStack{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ErrWithStack) String() string { @@ -2826,7 +2811,7 @@ func (*ErrWithStack) ProtoMessage() {} func (x *ErrWithStack) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2856,21 +2841,18 @@ func (x *ErrWithStack) GetStack() *StackTrace { } type StackTrace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Pcs []int64 `protobuf:"varint,1,rep,packed,name=pcs,proto3" json:"pcs,omitempty"` + Frames []*StackFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"` unknownFields protoimpl.UnknownFields - - Pcs []int64 `protobuf:"varint,1,rep,packed,name=pcs,proto3" json:"pcs,omitempty"` - Frames []*StackFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StackTrace) Reset() { *x = StackTrace{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StackTrace) String() string { @@ -2881,7 +2863,7 @@ func (*StackTrace) ProtoMessage() {} func (x *StackTrace) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2911,22 +2893,19 @@ func (x *StackTrace) GetFrames() []*StackFrame { } type StackFrame struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` + Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` unknownFields protoimpl.UnknownFields - - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` - Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` - Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StackFrame) Reset() { *x = StackFrame{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace_trace_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace_trace_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StackFrame) String() string { @@ -2937,7 +2916,7 @@ func (*StackFrame) ProtoMessage() {} func (x *StackFrame) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace_trace_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2975,495 +2954,302 @@ func (x *StackFrame) GetLine() int32 { var File_encore_engine_trace_trace_proto protoreflect.FileDescriptor -var file_encore_engine_trace_trace_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x22, 0xa2, 0x0c, 0x0a, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x49, 0x44, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0f, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x49, 0x44, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, 0x4c, 0x6f, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x08, 0x65, 0x72, 0x72, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x6e, 0x69, - 0x63, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x61, 0x62, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x13, 0x72, 0x61, - 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x61, - 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x66, 0x0a, 0x14, 0x72, 0x61, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x12, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x1f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, - 0x44, 0x0a, 0x16, 0x52, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x45, 0x0a, 0x17, 0x52, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x41, 0x55, 0x54, 0x48, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x55, 0x42, 0x53, 0x55, - 0x42, 0x5f, 0x4d, 0x53, 0x47, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0xe7, 0x04, - 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x70, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x61, - 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x72, 0x70, 0x63, 0x12, 0x34, 0x0a, 0x02, 0x74, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x44, 0x42, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x74, 0x78, 0x12, - 0x34, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x2e, 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x67, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x47, - 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x72, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, - 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x33, 0x0a, 0x03, 0x6c, 0x6f, - 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x6f, - 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, - 0x4d, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x48, 0x00, - 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x45, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x4f, 0x70, 0x48, 0x00, 0x52, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x62, - 0x6f, 0x64, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, - 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd8, 0x01, 0x0a, 0x07, 0x52, 0x50, 0x43, 0x43, - 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x67, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, 0x4c, 0x6f, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x4a, 0x04, 0x08, 0x03, - 0x10, 0x04, 0x22, 0x5f, 0x0a, 0x09, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, - 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x22, 0xb2, 0x03, 0x0a, 0x0d, 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x51, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, - 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x02, - 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x42, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xfa, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x6f, - 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, - 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x35, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x5f, - 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, 0x4c, 0x6f, - 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x5f, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x08, 0x65, 0x72, 0x72, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0xb7, 0x03, 0x0a, 0x07, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x5f, 0x6c, 0x6f, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, 0x4c, 0x6f, 0x63, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x45, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x53, 0x55, - 0x43, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, - 0x4c, 0x49, 0x43, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x52, 0x52, 0x10, 0x04, 0x22, - 0x61, 0x0a, 0x0a, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, - 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xb5, 0x02, 0x0a, 0x08, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x12, - 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, - 0x65, 0x72, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, - 0x6f, 0x64, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa3, 0x06, 0x0a, 0x0e, 0x48, - 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x41, - 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x6e, 0x12, 0x41, 0x0a, 0x08, 0x67, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, - 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x67, 0x6f, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x57, 0x0a, 0x10, 0x67, 0x6f, 0x74, 0x5f, 0x31, 0x78, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x67, - 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, - 0x09, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, 0x53, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, - 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x64, - 0x6e, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x44, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x74, 0x6c, 0x73, 0x5f, 0x68, - 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x4c, - 0x53, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x6f, 0x6e, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x10, 0x74, 0x6c, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, - 0x6b, 0x65, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x72, 0x6f, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x72, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x2e, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x22, 0x6e, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, - 0x61, 0x73, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, - 0x61, 0x73, 0x49, 0x64, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0e, 0x69, 0x64, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x73, - 0x22, 0x2c, 0x0a, 0x16, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x26, - 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, 0x53, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, - 0x53, 0x44, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x61, - 0x64, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x2e, 0x44, 0x4e, 0x53, 0x41, 0x64, 0x64, 0x72, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x22, - 0x19, 0x0a, 0x07, 0x44, 0x4e, 0x53, 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x22, 0x44, 0x0a, 0x14, 0x48, 0x54, - 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, - 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, - 0x22, 0x55, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, - 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0xc2, 0x01, 0x0a, 0x18, 0x48, 0x54, 0x54, 0x50, - 0x54, 0x4c, 0x53, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x6f, 0x6e, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6c, 0x73, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, - 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, - 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6e, - 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, - 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x28, 0x0a, 0x14, - 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0xc8, 0x02, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x22, 0x3c, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, - 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, - 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, - 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, - 0x04, 0x22, 0xa4, 0x03, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x30, 0x0a, 0x13, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x61, - 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x48, - 0x00, 0x52, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x30, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x03, 0x64, 0x75, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, 0x64, 0x75, - 0x72, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x03, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, 0x69, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x00, 0x52, 0x04, 0x75, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x33, 0x32, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x42, - 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x57, - 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x57, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, - 0x52, 0x03, 0x70, 0x63, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x50, - 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, - 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, - 0x2a, 0xa0, 0x02, 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, - 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x52, 0x45, - 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, - 0x10, 0x47, 0x4f, 0x54, 0x5f, 0x31, 0x58, 0x58, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, - 0x45, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x4e, 0x53, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x06, - 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, - 0x4f, 0x4e, 0x45, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x4c, 0x53, 0x5f, 0x48, 0x41, 0x4e, - 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x09, 0x12, 0x16, - 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, - 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x52, 0x4f, 0x54, 0x45, 0x5f, - 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x52, 0x4f, - 0x54, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, - 0x57, 0x41, 0x49, 0x54, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, - 0x45, 0x10, 0x0d, 0x42, 0x24, 0x5a, 0x22, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, 0x76, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_encore_engine_trace_trace_proto_rawDesc = "" + + "\n" + + "\x1fencore/engine/trace/trace.proto\x12\x13encore.engine.trace\x1a\x1fgoogle/protobuf/timestamp.proto\"/\n" + + "\aTraceID\x12\x12\n" + + "\x04high\x18\x01 \x01(\x04R\x04high\x12\x10\n" + + "\x03low\x18\x02 \x01(\x04R\x03low\"\xa2\f\n" + + "\aRequest\x127\n" + + "\btrace_id\x18\x01 \x01(\v2\x1c.encore.engine.trace.TraceIDR\atraceId\x12\x17\n" + + "\aspan_id\x18\x02 \x01(\x04R\x06spanId\x12$\n" + + "\x0eparent_span_id\x18\x03 \x01(\x04R\fparentSpanId\x12D\n" + + "\x0fparent_trace_id\x18 \x01(\v2\x1c.encore.engine.trace.TraceIDR\rparentTraceId\x12\x12\n" + + "\x04goid\x18\x04 \x01(\rR\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x05 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x06 \x01(\x04R\aendTime\x12\x17\n" + + "\adef_loc\x18\b \x01(\x05R\x06defLoc\x12\x10\n" + + "\x03err\x18\v \x01(\fR\x03err\x122\n" + + "\x06events\x18\f \x03(\v2\x1a.encore.engine.trace.EventR\x06events\x125\n" + + "\x04type\x18\x0e \x01(\x0e2!.encore.engine.trace.Request.TypeR\x04type\x12<\n" + + "\terr_stack\x18\x0f \x01(\v2\x1f.encore.engine.trace.StackTraceR\berrStack\x12@\n" + + "\vpanic_stack\x18\" \x01(\v2\x1f.encore.engine.trace.StackTraceR\n" + + "panicStack\x12$\n" + + "\x0eabs_start_time\x18\x10 \x01(\x04R\fabsStartTime\x12!\n" + + "\fservice_name\x18\x11 \x01(\tR\vserviceName\x12#\n" + + "\rendpoint_name\x18\x12 \x01(\tR\fendpointName\x12\x1d\n" + + "\n" + + "topic_name\x18\x13 \x01(\tR\ttopicName\x12+\n" + + "\x11subscription_name\x18\x14 \x01(\tR\x10subscriptionName\x12\x1d\n" + + "\n" + + "message_id\x18\x15 \x01(\tR\tmessageId\x12\x18\n" + + "\aattempt\x18\x16 \x01(\rR\aattempt\x12!\n" + + "\fpublish_time\x18\x17 \x01(\x04R\vpublishTime\x12\x16\n" + + "\x06inputs\x18\t \x03(\fR\x06inputs\x12\x18\n" + + "\aoutputs\x18\n" + + " \x03(\fR\aoutputs\x12\x10\n" + + "\x03uid\x18\r \x01(\tR\x03uid\x12\x1f\n" + + "\vhttp_method\x18\x18 \x01(\tR\n" + + "httpMethod\x12\x12\n" + + "\x04path\x18\x19 \x01(\tR\x04path\x12\x1f\n" + + "\vpath_params\x18\x1a \x03(\tR\n" + + "pathParams\x12'\n" + + "\x0frequest_payload\x18\x1b \x01(\fR\x0erequestPayload\x12)\n" + + "\x10response_payload\x18\x1c \x01(\fR\x0fresponsePayload\x12c\n" + + "\x13raw_request_headers\x18\x1d \x03(\v23.encore.engine.trace.Request.RawRequestHeadersEntryR\x11rawRequestHeaders\x12f\n" + + "\x14raw_response_headers\x18\x1e \x03(\v24.encore.engine.trace.Request.RawResponseHeadersEntryR\x12rawResponseHeaders\x12.\n" + + "\x13external_request_id\x18\x1f \x01(\tR\x11externalRequestId\x126\n" + + "\x17external_correlation_id\x18! \x01(\tR\x15externalCorrelationId\x1aD\n" + + "\x16RawRequestHeadersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aE\n" + + "\x17RawResponseHeadersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\")\n" + + "\x04Type\x12\a\n" + + "\x03RPC\x10\x00\x12\b\n" + + "\x04AUTH\x10\x01\x12\x0e\n" + + "\n" + + "PUBSUB_MSG\x10\x02J\x04\b\a\x10\b\"\xe7\x04\n" + + "\x05Event\x120\n" + + "\x03rpc\x18\x01 \x01(\v2\x1c.encore.engine.trace.RPCCallH\x00R\x03rpc\x124\n" + + "\x02tx\x18\x02 \x01(\v2\".encore.engine.trace.DBTransactionH\x00R\x02tx\x124\n" + + "\x05query\x18\x03 \x01(\v2\x1c.encore.engine.trace.DBQueryH\x00R\x05query\x12>\n" + + "\tgoroutine\x18\x04 \x01(\v2\x1e.encore.engine.trace.GoroutineH\x00R\tgoroutine\x123\n" + + "\x04http\x18\x05 \x01(\v2\x1d.encore.engine.trace.HTTPCallH\x00R\x04http\x123\n" + + "\x03log\x18\x06 \x01(\v2\x1f.encore.engine.trace.LogMessageH\x00R\x03log\x12M\n" + + "\fpublishedMsg\x18\a \x01(\v2'.encore.engine.trace.PubsubMsgPublishedH\x00R\fpublishedMsg\x12E\n" + + "\fservice_init\x18\b \x01(\v2 .encore.engine.trace.ServiceInitH\x00R\vserviceInit\x124\n" + + "\x05cache\x18\t \x01(\v2\x1c.encore.engine.trace.CacheOpH\x00R\x05cache\x12B\n" + + "\vbody_stream\x18\n" + + " \x01(\v2\x1f.encore.engine.trace.BodyStreamH\x00R\n" + + "bodyStreamB\x06\n" + + "\x04data\"\xd8\x01\n" + + "\aRPCCall\x12\x17\n" + + "\aspan_id\x18\x01 \x01(\x04R\x06spanId\x12\x12\n" + + "\x04goid\x18\x02 \x01(\rR\x04goid\x12\x17\n" + + "\adef_loc\x18\x04 \x01(\x05R\x06defLoc\x12\x1d\n" + + "\n" + + "start_time\x18\x05 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x06 \x01(\x04R\aendTime\x12\x10\n" + + "\x03err\x18\a \x01(\fR\x03err\x125\n" + + "\x05stack\x18\b \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stackJ\x04\b\x03\x10\x04\"_\n" + + "\tGoroutine\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTimeJ\x04\b\x02\x10\x03\"\xb2\x03\n" + + "\rDBTransaction\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x04 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x05 \x01(\x04R\aendTime\x12\x10\n" + + "\x03err\x18\x06 \x01(\fR\x03err\x12Q\n" + + "\n" + + "completion\x18\a \x01(\x0e21.encore.engine.trace.DBTransaction.CompletionTypeR\n" + + "completion\x126\n" + + "\aqueries\x18\b \x03(\v2\x1c.encore.engine.trace.DBQueryR\aqueries\x12@\n" + + "\vbegin_stack\x18\t \x01(\v2\x1f.encore.engine.trace.StackTraceR\n" + + "beginStack\x12<\n" + + "\tend_stack\x18\n" + + " \x01(\v2\x1f.encore.engine.trace.StackTraceR\bendStack\"*\n" + + "\x0eCompletionType\x12\f\n" + + "\bROLLBACK\x10\x00\x12\n" + + "\n" + + "\x06COMMIT\x10\x01J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04\"\xbc\x01\n" + + "\aDBQuery\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTime\x12\x14\n" + + "\x05query\x18\x05 \x01(\fR\x05query\x12\x10\n" + + "\x03err\x18\x06 \x01(\fR\x03err\x125\n" + + "\x05stack\x18\a \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stackJ\x04\b\x02\x10\x03\"\xfa\x01\n" + + "\x12PubsubMsgPublished\x12\x12\n" + + "\x04goid\x18\x01 \x01(\x04R\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTime\x12\x14\n" + + "\x05topic\x18\x05 \x01(\tR\x05topic\x12\x18\n" + + "\amessage\x18\x06 \x01(\fR\amessage\x12\x1d\n" + + "\n" + + "message_id\x18\a \x01(\tR\tmessageId\x12\x10\n" + + "\x03err\x18\b \x01(\fR\x03err\x125\n" + + "\x05stack\x18\t \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stack\"\xde\x01\n" + + "\vServiceInit\x12\x12\n" + + "\x04goid\x18\x01 \x01(\x04R\x04goid\x12\x17\n" + + "\adef_loc\x18\x02 \x01(\x05R\x06defLoc\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTime\x12\x18\n" + + "\aservice\x18\x05 \x01(\tR\aservice\x12\x10\n" + + "\x03err\x18\x06 \x01(\fR\x03err\x12<\n" + + "\terr_stack\x18\a \x01(\v2\x1f.encore.engine.trace.StackTraceR\berrStack\"\xb7\x03\n" + + "\aCacheOp\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12\x17\n" + + "\adef_loc\x18\x02 \x01(\x05R\x06defLoc\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTime\x12\x1c\n" + + "\toperation\x18\x05 \x01(\tR\toperation\x12\x12\n" + + "\x04keys\x18\x06 \x03(\tR\x04keys\x12\x16\n" + + "\x06inputs\x18\a \x03(\fR\x06inputs\x12\x18\n" + + "\aoutputs\x18\b \x03(\fR\aoutputs\x125\n" + + "\x05stack\x18\t \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stack\x12\x10\n" + + "\x03err\x18\n" + + " \x01(\fR\x03err\x12\x14\n" + + "\x05write\x18\v \x01(\bR\x05write\x12;\n" + + "\x06result\x18\f \x01(\x0e2#.encore.engine.trace.CacheOp.ResultR\x06result\"E\n" + + "\x06Result\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x06\n" + + "\x02OK\x10\x01\x12\x0f\n" + + "\vNO_SUCH_KEY\x10\x02\x12\f\n" + + "\bCONFLICT\x10\x03\x12\a\n" + + "\x03ERR\x10\x04\"a\n" + + "\n" + + "BodyStream\x12\x1f\n" + + "\vis_response\x18\x01 \x01(\bR\n" + + "isResponse\x12\x1e\n" + + "\n" + + "overflowed\x18\x02 \x01(\bR\n" + + "overflowed\x12\x12\n" + + "\x04data\x18\x03 \x01(\fR\x04data\"\xb5\x02\n" + + "\bHTTPCall\x12\x17\n" + + "\aspan_id\x18\x01 \x01(\x04R\x06spanId\x12\x12\n" + + "\x04goid\x18\x02 \x01(\rR\x04goid\x12\x1d\n" + + "\n" + + "start_time\x18\x03 \x01(\x04R\tstartTime\x12\x19\n" + + "\bend_time\x18\x04 \x01(\x04R\aendTime\x12\x16\n" + + "\x06method\x18\x05 \x01(\tR\x06method\x12\x10\n" + + "\x03url\x18\x06 \x01(\tR\x03url\x12\x1f\n" + + "\vstatus_code\x18\a \x01(\rR\n" + + "statusCode\x12\x10\n" + + "\x03err\x18\b \x01(\fR\x03err\x12(\n" + + "\x10body_closed_time\x18\t \x01(\x04R\x0ebodyClosedTime\x12;\n" + + "\x06events\x18\n" + + " \x03(\v2#.encore.engine.trace.HTTPTraceEventR\x06events\"\xa3\x06\n" + + "\x0eHTTPTraceEvent\x12;\n" + + "\x04code\x18\x01 \x01(\x0e2'.encore.engine.trace.HTTPTraceEventCodeR\x04code\x12\x12\n" + + "\x04time\x18\x02 \x01(\x04R\x04time\x12A\n" + + "\bget_conn\x18\x03 \x01(\v2$.encore.engine.trace.HTTPGetConnDataH\x00R\agetConn\x12A\n" + + "\bgot_conn\x18\x04 \x01(\v2$.encore.engine.trace.HTTPGotConnDataH\x00R\agotConn\x12W\n" + + "\x10got_1xx_response\x18\x05 \x01(\v2+.encore.engine.trace.HTTPGot1xxResponseDataH\x00R\x0egot1xxResponse\x12D\n" + + "\tdns_start\x18\x06 \x01(\v2%.encore.engine.trace.HTTPDNSStartDataH\x00R\bdnsStart\x12A\n" + + "\bdns_done\x18\a \x01(\v2$.encore.engine.trace.HTTPDNSDoneDataH\x00R\adnsDone\x12P\n" + + "\rconnect_start\x18\b \x01(\v2).encore.engine.trace.HTTPConnectStartDataH\x00R\fconnectStart\x12M\n" + + "\fconnect_done\x18\t \x01(\v2(.encore.engine.trace.HTTPConnectDoneDataH\x00R\vconnectDone\x12]\n" + + "\x12tls_handshake_done\x18\n" + + " \x01(\v2-.encore.engine.trace.HTTPTLSHandshakeDoneDataH\x00R\x10tlsHandshakeDone\x12P\n" + + "\rwrote_request\x18\v \x01(\v2).encore.engine.trace.HTTPWroteRequestDataH\x00R\fwroteRequestB\x06\n" + + "\x04data\".\n" + + "\x0fHTTPGetConnData\x12\x1b\n" + + "\thost_port\x18\x01 \x01(\tR\bhostPort\"n\n" + + "\x0fHTTPGotConnData\x12\x16\n" + + "\x06reused\x18\x01 \x01(\bR\x06reused\x12\x19\n" + + "\bwas_idle\x18\x02 \x01(\bR\awasIdle\x12(\n" + + "\x10idle_duration_ns\x18\x03 \x01(\x03R\x0eidleDurationNs\",\n" + + "\x16HTTPGot1xxResponseData\x12\x12\n" + + "\x04code\x18\x01 \x01(\x05R\x04code\"&\n" + + "\x10HTTPDNSStartData\x12\x12\n" + + "\x04host\x18\x01 \x01(\tR\x04host\"W\n" + + "\x0fHTTPDNSDoneData\x12\x10\n" + + "\x03err\x18\x01 \x01(\fR\x03err\x122\n" + + "\x05addrs\x18\x02 \x03(\v2\x1c.encore.engine.trace.DNSAddrR\x05addrs\"\x19\n" + + "\aDNSAddr\x12\x0e\n" + + "\x02ip\x18\x01 \x01(\fR\x02ip\"D\n" + + "\x14HTTPConnectStartData\x12\x18\n" + + "\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" + + "\x04addr\x18\x02 \x01(\tR\x04addr\"U\n" + + "\x13HTTPConnectDoneData\x12\x18\n" + + "\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" + + "\x04addr\x18\x02 \x01(\tR\x04addr\x12\x10\n" + + "\x03err\x18\x03 \x01(\fR\x03err\"\xc2\x01\n" + + "\x18HTTPTLSHandshakeDoneData\x12\x10\n" + + "\x03err\x18\x01 \x01(\fR\x03err\x12\x1f\n" + + "\vtls_version\x18\x02 \x01(\rR\n" + + "tlsVersion\x12!\n" + + "\fcipher_suite\x18\x03 \x01(\rR\vcipherSuite\x12\x1f\n" + + "\vserver_name\x18\x04 \x01(\tR\n" + + "serverName\x12/\n" + + "\x13negotiated_protocol\x18\x05 \x01(\tR\x12negotiatedProtocol\"(\n" + + "\x14HTTPWroteRequestData\x12\x10\n" + + "\x03err\x18\x01 \x01(\fR\x03err\"\xc8\x02\n" + + "\n" + + "LogMessage\x12\x17\n" + + "\aspan_id\x18\x01 \x01(\x04R\x06spanId\x12\x12\n" + + "\x04goid\x18\x02 \x01(\rR\x04goid\x12\x12\n" + + "\x04time\x18\x03 \x01(\x04R\x04time\x12;\n" + + "\x05level\x18\x04 \x01(\x0e2%.encore.engine.trace.LogMessage.LevelR\x05level\x12\x10\n" + + "\x03msg\x18\x05 \x01(\tR\x03msg\x125\n" + + "\x06fields\x18\x06 \x03(\v2\x1d.encore.engine.trace.LogFieldR\x06fields\x125\n" + + "\x05stack\x18\a \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stack\"<\n" + + "\x05Level\x12\t\n" + + "\x05DEBUG\x10\x00\x12\b\n" + + "\x04INFO\x10\x01\x12\t\n" + + "\x05ERROR\x10\x02\x12\b\n" + + "\x04WARN\x10\x03\x12\t\n" + + "\x05TRACE\x10\x04\"\xa4\x03\n" + + "\bLogField\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x120\n" + + "\x13error_without_stack\x18\x02 \x01(\tH\x00R\x11errorWithoutStack\x12M\n" + + "\x10error_with_stack\x18\r \x01(\v2!.encore.engine.trace.ErrWithStackH\x00R\x0eerrorWithStack\x12\x12\n" + + "\x03str\x18\x03 \x01(\tH\x00R\x03str\x12\x14\n" + + "\x04bool\x18\x04 \x01(\bH\x00R\x04bool\x120\n" + + "\x04time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x04time\x12\x12\n" + + "\x03dur\x18\x06 \x01(\x03H\x00R\x03dur\x12\x14\n" + + "\x04uuid\x18\a \x01(\fH\x00R\x04uuid\x12\x14\n" + + "\x04json\x18\b \x01(\fH\x00R\x04json\x12\x12\n" + + "\x03int\x18\t \x01(\x03H\x00R\x03int\x12\x14\n" + + "\x04uint\x18\n" + + " \x01(\x04H\x00R\x04uint\x12\x1a\n" + + "\afloat32\x18\v \x01(\x02H\x00R\afloat32\x12\x1a\n" + + "\afloat64\x18\f \x01(\x01H\x00R\afloat64B\a\n" + + "\x05value\"[\n" + + "\fErrWithStack\x12\x14\n" + + "\x05error\x18\x01 \x01(\tR\x05error\x125\n" + + "\x05stack\x18\x02 \x01(\v2\x1f.encore.engine.trace.StackTraceR\x05stack\"W\n" + + "\n" + + "StackTrace\x12\x10\n" + + "\x03pcs\x18\x01 \x03(\x03R\x03pcs\x127\n" + + "\x06frames\x18\x02 \x03(\v2\x1f.encore.engine.trace.StackFrameR\x06frames\"P\n" + + "\n" + + "StackFrame\x12\x1a\n" + + "\bfilename\x18\x01 \x01(\tR\bfilename\x12\x12\n" + + "\x04func\x18\x02 \x01(\tR\x04func\x12\x12\n" + + "\x04line\x18\x03 \x01(\x05R\x04line*\xa0\x02\n" + + "\x12HTTPTraceEventCode\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\f\n" + + "\bGET_CONN\x10\x01\x12\f\n" + + "\bGOT_CONN\x10\x02\x12\x1b\n" + + "\x17GOT_FIRST_RESPONSE_BYTE\x10\x03\x12\x14\n" + + "\x10GOT_1XX_RESPONSE\x10\x04\x12\r\n" + + "\tDNS_START\x10\x05\x12\f\n" + + "\bDNS_DONE\x10\x06\x12\x11\n" + + "\rCONNECT_START\x10\a\x12\x10\n" + + "\fCONNECT_DONE\x10\b\x12\x17\n" + + "\x13TLS_HANDSHAKE_START\x10\t\x12\x16\n" + + "\x12TLS_HANDSHAKE_DONE\x10\n" + + "\x12\x11\n" + + "\rWROTE_HEADERS\x10\v\x12\x11\n" + + "\rWROTE_REQUEST\x10\f\x12\x15\n" + + "\x11WAIT_100_CONTINUE\x10\rB$Z\"encr.dev/proto/encore/engine/traceb\x06proto3" var ( file_encore_engine_trace_trace_proto_rawDescOnce sync.Once - file_encore_engine_trace_trace_proto_rawDescData = file_encore_engine_trace_trace_proto_rawDesc + file_encore_engine_trace_trace_proto_rawDescData []byte ) func file_encore_engine_trace_trace_proto_rawDescGZIP() []byte { file_encore_engine_trace_trace_proto_rawDescOnce.Do(func() { - file_encore_engine_trace_trace_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_engine_trace_trace_proto_rawDescData) + file_encore_engine_trace_trace_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_engine_trace_trace_proto_rawDesc), len(file_encore_engine_trace_trace_proto_rawDesc))) }) return file_encore_engine_trace_trace_proto_rawDescData } var file_encore_engine_trace_trace_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_encore_engine_trace_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 30) -var file_encore_engine_trace_trace_proto_goTypes = []interface{}{ +var file_encore_engine_trace_trace_proto_goTypes = []any{ (HTTPTraceEventCode)(0), // 0: encore.engine.trace.HTTPTraceEventCode (Request_Type)(0), // 1: encore.engine.trace.Request.Type (DBTransaction_CompletionType)(0), // 2: encore.engine.trace.DBTransaction.CompletionType @@ -3561,345 +3347,7 @@ func file_encore_engine_trace_trace_proto_init() { if File_encore_engine_trace_trace_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_engine_trace_trace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TraceID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Request); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Event); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCCall); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Goroutine); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBTransaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubMsgPublished); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceInit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheOp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BodyStream); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPCall); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPTraceEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGetConnData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGotConnData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGot1XxResponseData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPDNSStartData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPDNSDoneData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSAddr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPConnectStartData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPConnectDoneData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPTLSHandshakeDoneData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPWroteRequestData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogField); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrWithStack); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StackTrace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace_trace_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StackFrame); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_engine_trace_trace_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_encore_engine_trace_trace_proto_msgTypes[2].OneofWrappers = []any{ (*Event_Rpc)(nil), (*Event_Tx)(nil), (*Event_Query)(nil), @@ -3911,7 +3359,7 @@ func file_encore_engine_trace_trace_proto_init() { (*Event_Cache)(nil), (*Event_BodyStream)(nil), } - file_encore_engine_trace_trace_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_encore_engine_trace_trace_proto_msgTypes[12].OneofWrappers = []any{ (*HTTPTraceEvent_GetConn)(nil), (*HTTPTraceEvent_GotConn)(nil), (*HTTPTraceEvent_Got_1XxResponse)(nil), @@ -3922,7 +3370,7 @@ func file_encore_engine_trace_trace_proto_init() { (*HTTPTraceEvent_TlsHandshakeDone)(nil), (*HTTPTraceEvent_WroteRequest)(nil), } - file_encore_engine_trace_trace_proto_msgTypes[24].OneofWrappers = []interface{}{ + file_encore_engine_trace_trace_proto_msgTypes[24].OneofWrappers = []any{ (*LogField_ErrorWithoutStack)(nil), (*LogField_ErrorWithStack)(nil), (*LogField_Str)(nil), @@ -3940,7 +3388,7 @@ func file_encore_engine_trace_trace_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_engine_trace_trace_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_engine_trace_trace_proto_rawDesc), len(file_encore_engine_trace_trace_proto_rawDesc)), NumEnums: 5, NumMessages: 30, NumExtensions: 0, @@ -3952,7 +3400,6 @@ func file_encore_engine_trace_trace_proto_init() { MessageInfos: file_encore_engine_trace_trace_proto_msgTypes, }.Build() File_encore_engine_trace_trace_proto = out.File - file_encore_engine_trace_trace_proto_rawDesc = nil file_encore_engine_trace_trace_proto_goTypes = nil file_encore_engine_trace_trace_proto_depIdxs = nil } diff --git a/proto/encore/engine/trace2/trace2.pb.go b/proto/encore/engine/trace2/trace2.pb.go index 0ceca01e45..6fd7ae6afa 100644 --- a/proto/encore/engine/trace2/trace2.pb.go +++ b/proto/encore/engine/trace2/trace2.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/engine/trace2/trace2.proto package trace2 @@ -12,6 +12,7 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -323,10 +324,7 @@ func (LogMessage_Level) EnumDescriptor() ([]byte, []int) { // SpanSummary summarizes a span for display purposes. type SpanSummary struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` Type SpanSummary_SpanType `protobuf:"varint,3,opt,name=type,proto3,enum=encore.engine.trace2.SpanSummary_SpanType" json:"type,omitempty"` @@ -343,15 +341,15 @@ type SpanSummary struct { TestSkipped *bool `protobuf:"varint,14,opt,name=test_skipped,json=testSkipped,proto3,oneof" json:"test_skipped,omitempty"` // whether the test was skipped SrcFile *string `protobuf:"bytes,15,opt,name=src_file,json=srcFile,proto3,oneof" json:"src_file,omitempty"` // the source file where the span was started (if available) SrcLine *uint32 `protobuf:"varint,16,opt,name=src_line,json=srcLine,proto3,oneof" json:"src_line,omitempty"` // the source line where the span was started (if available) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SpanSummary) Reset() { *x = SpanSummary{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SpanSummary) String() string { @@ -362,7 +360,7 @@ func (*SpanSummary) ProtoMessage() {} func (x *SpanSummary) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -490,21 +488,18 @@ func (x *SpanSummary) GetSrcLine() uint32 { } type TraceID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` + Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` unknownFields protoimpl.UnknownFields - - High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` - Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TraceID) Reset() { *x = TraceID{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TraceID) String() string { @@ -515,7 +510,7 @@ func (*TraceID) ProtoMessage() {} func (x *TraceID) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -545,20 +540,17 @@ func (x *TraceID) GetLow() uint64 { } type EventList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Events []*TraceEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` unknownFields protoimpl.UnknownFields - - Events []*TraceEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EventList) Reset() { *x = EventList{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EventList) String() string { @@ -569,7 +561,7 @@ func (*EventList) ProtoMessage() {} func (x *EventList) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -592,29 +584,26 @@ func (x *EventList) GetEvents() []*TraceEvent { } type TraceEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` TraceId *TraceID `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` SpanId uint64 `protobuf:"varint,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` EventId uint64 `protobuf:"varint,3,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` EventTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *TraceEvent_SpanStart // *TraceEvent_SpanEnd // *TraceEvent_SpanEvent - Event isTraceEvent_Event `protobuf_oneof:"event"` + Event isTraceEvent_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TraceEvent) Reset() { *x = TraceEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TraceEvent) String() string { @@ -625,7 +614,7 @@ func (*TraceEvent) ProtoMessage() {} func (x *TraceEvent) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -668,30 +657,36 @@ func (x *TraceEvent) GetEventTime() *timestamppb.Timestamp { return nil } -func (m *TraceEvent) GetEvent() isTraceEvent_Event { - if m != nil { - return m.Event +func (x *TraceEvent) GetEvent() isTraceEvent_Event { + if x != nil { + return x.Event } return nil } func (x *TraceEvent) GetSpanStart() *SpanStart { - if x, ok := x.GetEvent().(*TraceEvent_SpanStart); ok { - return x.SpanStart + if x != nil { + if x, ok := x.Event.(*TraceEvent_SpanStart); ok { + return x.SpanStart + } } return nil } func (x *TraceEvent) GetSpanEnd() *SpanEnd { - if x, ok := x.GetEvent().(*TraceEvent_SpanEnd); ok { - return x.SpanEnd + if x != nil { + if x, ok := x.Event.(*TraceEvent_SpanEnd); ok { + return x.SpanEnd + } } return nil } func (x *TraceEvent) GetSpanEvent() *SpanEvent { - if x, ok := x.GetEvent().(*TraceEvent_SpanEvent); ok { - return x.SpanEvent + if x != nil { + if x, ok := x.Event.(*TraceEvent_SpanEvent); ok { + return x.SpanEvent + } } return nil } @@ -719,32 +714,29 @@ func (*TraceEvent_SpanEnd) isTraceEvent_Event() {} func (*TraceEvent_SpanEvent) isTraceEvent_Event() {} type SpanStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - ParentTraceId *TraceID `protobuf:"bytes,2,opt,name=parent_trace_id,json=parentTraceId,proto3,oneof" json:"parent_trace_id,omitempty"` - ParentSpanId *uint64 `protobuf:"varint,3,opt,name=parent_span_id,json=parentSpanId,proto3,oneof" json:"parent_span_id,omitempty"` - CallerEventId *uint64 `protobuf:"varint,4,opt,name=caller_event_id,json=callerEventId,proto3,oneof" json:"caller_event_id,omitempty"` - ExternalCorrelationId *string `protobuf:"bytes,5,opt,name=external_correlation_id,json=externalCorrelationId,proto3,oneof" json:"external_correlation_id,omitempty"` - DefLoc *uint32 `protobuf:"varint,6,opt,name=def_loc,json=defLoc,proto3,oneof" json:"def_loc,omitempty"` - // Types that are assignable to Data: + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + ParentTraceId *TraceID `protobuf:"bytes,2,opt,name=parent_trace_id,json=parentTraceId,proto3,oneof" json:"parent_trace_id,omitempty"` + ParentSpanId *uint64 `protobuf:"varint,3,opt,name=parent_span_id,json=parentSpanId,proto3,oneof" json:"parent_span_id,omitempty"` + CallerEventId *uint64 `protobuf:"varint,4,opt,name=caller_event_id,json=callerEventId,proto3,oneof" json:"caller_event_id,omitempty"` + ExternalCorrelationId *string `protobuf:"bytes,5,opt,name=external_correlation_id,json=externalCorrelationId,proto3,oneof" json:"external_correlation_id,omitempty"` + DefLoc *uint32 `protobuf:"varint,6,opt,name=def_loc,json=defLoc,proto3,oneof" json:"def_loc,omitempty"` + // Types that are valid to be assigned to Data: // // *SpanStart_Request // *SpanStart_Auth // *SpanStart_PubsubMessage // *SpanStart_Test - Data isSpanStart_Data `protobuf_oneof:"data"` + Data isSpanStart_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SpanStart) Reset() { *x = SpanStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SpanStart) String() string { @@ -755,7 +747,7 @@ func (*SpanStart) ProtoMessage() {} func (x *SpanStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -812,37 +804,45 @@ func (x *SpanStart) GetDefLoc() uint32 { return 0 } -func (m *SpanStart) GetData() isSpanStart_Data { - if m != nil { - return m.Data +func (x *SpanStart) GetData() isSpanStart_Data { + if x != nil { + return x.Data } return nil } func (x *SpanStart) GetRequest() *RequestSpanStart { - if x, ok := x.GetData().(*SpanStart_Request); ok { - return x.Request + if x != nil { + if x, ok := x.Data.(*SpanStart_Request); ok { + return x.Request + } } return nil } func (x *SpanStart) GetAuth() *AuthSpanStart { - if x, ok := x.GetData().(*SpanStart_Auth); ok { - return x.Auth + if x != nil { + if x, ok := x.Data.(*SpanStart_Auth); ok { + return x.Auth + } } return nil } func (x *SpanStart) GetPubsubMessage() *PubsubMessageSpanStart { - if x, ok := x.GetData().(*SpanStart_PubsubMessage); ok { - return x.PubsubMessage + if x != nil { + if x, ok := x.Data.(*SpanStart_PubsubMessage); ok { + return x.PubsubMessage + } } return nil } func (x *SpanStart) GetTest() *TestSpanStart { - if x, ok := x.GetData().(*SpanStart_Test); ok { - return x.Test + if x != nil { + if x, ok := x.Data.(*SpanStart_Test); ok { + return x.Test + } } return nil } @@ -876,32 +876,29 @@ func (*SpanStart_PubsubMessage) isSpanStart_Data() {} func (*SpanStart_Test) isSpanStart_Data() {} type SpanEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DurationNanos uint64 `protobuf:"varint,1,opt,name=duration_nanos,json=durationNanos,proto3" json:"duration_nanos,omitempty"` - Error *Error `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + DurationNanos uint64 `protobuf:"varint,1,opt,name=duration_nanos,json=durationNanos,proto3" json:"duration_nanos,omitempty"` + Error *Error `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` // panic_stack is the stack trace if the span ended due to a panic PanicStack *StackTrace `protobuf:"bytes,3,opt,name=panic_stack,json=panicStack,proto3,oneof" json:"panic_stack,omitempty"` ParentTraceId *TraceID `protobuf:"bytes,4,opt,name=parent_trace_id,json=parentTraceId,proto3,oneof" json:"parent_trace_id,omitempty"` ParentSpanId *uint64 `protobuf:"varint,5,opt,name=parent_span_id,json=parentSpanId,proto3,oneof" json:"parent_span_id,omitempty"` - // Types that are assignable to Data: + // Types that are valid to be assigned to Data: // // *SpanEnd_Request // *SpanEnd_Auth // *SpanEnd_PubsubMessage // *SpanEnd_Test - Data isSpanEnd_Data `protobuf_oneof:"data"` + Data isSpanEnd_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SpanEnd) Reset() { *x = SpanEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SpanEnd) String() string { @@ -912,7 +909,7 @@ func (*SpanEnd) ProtoMessage() {} func (x *SpanEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -962,37 +959,45 @@ func (x *SpanEnd) GetParentSpanId() uint64 { return 0 } -func (m *SpanEnd) GetData() isSpanEnd_Data { - if m != nil { - return m.Data +func (x *SpanEnd) GetData() isSpanEnd_Data { + if x != nil { + return x.Data } return nil } func (x *SpanEnd) GetRequest() *RequestSpanEnd { - if x, ok := x.GetData().(*SpanEnd_Request); ok { - return x.Request + if x != nil { + if x, ok := x.Data.(*SpanEnd_Request); ok { + return x.Request + } } return nil } func (x *SpanEnd) GetAuth() *AuthSpanEnd { - if x, ok := x.GetData().(*SpanEnd_Auth); ok { - return x.Auth + if x != nil { + if x, ok := x.Data.(*SpanEnd_Auth); ok { + return x.Auth + } } return nil } func (x *SpanEnd) GetPubsubMessage() *PubsubMessageSpanEnd { - if x, ok := x.GetData().(*SpanEnd_PubsubMessage); ok { - return x.PubsubMessage + if x != nil { + if x, ok := x.Data.(*SpanEnd_PubsubMessage); ok { + return x.PubsubMessage + } } return nil } func (x *SpanEnd) GetTest() *TestSpanEnd { - if x, ok := x.GetData().(*SpanEnd_Test); ok { - return x.Test + if x != nil { + if x, ok := x.Data.(*SpanEnd_Test); ok { + return x.Test + } } return nil } @@ -1026,30 +1031,27 @@ func (*SpanEnd_PubsubMessage) isSpanEnd_Data() {} func (*SpanEnd_Test) isSpanEnd_Data() {} type RequestSpanStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` - HttpMethod string `protobuf:"bytes,3,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"` - Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` - PathParams []string `protobuf:"bytes,5,rep,name=path_params,json=pathParams,proto3" json:"path_params,omitempty"` - RequestHeaders map[string]string `protobuf:"bytes,6,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - RequestPayload []byte `protobuf:"bytes,7,opt,name=request_payload,json=requestPayload,proto3,oneof" json:"request_payload,omitempty"` - ExtCorrelationId *string `protobuf:"bytes,8,opt,name=ext_correlation_id,json=extCorrelationId,proto3,oneof" json:"ext_correlation_id,omitempty"` - Uid *string `protobuf:"bytes,9,opt,name=uid,proto3,oneof" json:"uid,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` + HttpMethod string `protobuf:"bytes,3,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"` + Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` + PathParams []string `protobuf:"bytes,5,rep,name=path_params,json=pathParams,proto3" json:"path_params,omitempty"` + RequestHeaders map[string]string `protobuf:"bytes,6,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + RequestPayload []byte `protobuf:"bytes,7,opt,name=request_payload,json=requestPayload,proto3,oneof" json:"request_payload,omitempty"` + ExtCorrelationId *string `protobuf:"bytes,8,opt,name=ext_correlation_id,json=extCorrelationId,proto3,oneof" json:"ext_correlation_id,omitempty"` + Uid *string `protobuf:"bytes,9,opt,name=uid,proto3,oneof" json:"uid,omitempty"` // mocked is true if the request was handled by a mock - Mocked bool `protobuf:"varint,10,opt,name=mocked,proto3" json:"mocked,omitempty"` + Mocked bool `protobuf:"varint,10,opt,name=mocked,proto3" json:"mocked,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequestSpanStart) Reset() { *x = RequestSpanStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequestSpanStart) String() string { @@ -1060,7 +1062,7 @@ func (*RequestSpanStart) ProtoMessage() {} func (x *RequestSpanStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1146,26 +1148,23 @@ func (x *RequestSpanStart) GetMocked() bool { } type RequestSpanEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Repeat service/endpoint name here to make it possible // to consume end events without having to look up the start. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` HttpStatusCode uint32 `protobuf:"varint,3,opt,name=http_status_code,json=httpStatusCode,proto3" json:"http_status_code,omitempty"` - ResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` ResponsePayload []byte `protobuf:"bytes,5,opt,name=response_payload,json=responsePayload,proto3,oneof" json:"response_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequestSpanEnd) Reset() { *x = RequestSpanEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequestSpanEnd) String() string { @@ -1176,7 +1175,7 @@ func (*RequestSpanEnd) ProtoMessage() {} func (x *RequestSpanEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1227,22 +1226,19 @@ func (x *RequestSpanEnd) GetResponsePayload() []byte { } type AuthSpanStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` + AuthPayload []byte `protobuf:"bytes,3,opt,name=auth_payload,json=authPayload,proto3,oneof" json:"auth_payload,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` - AuthPayload []byte `protobuf:"bytes,3,opt,name=auth_payload,json=authPayload,proto3,oneof" json:"auth_payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AuthSpanStart) Reset() { *x = AuthSpanStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthSpanStart) String() string { @@ -1253,7 +1249,7 @@ func (*AuthSpanStart) ProtoMessage() {} func (x *AuthSpanStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1290,25 +1286,22 @@ func (x *AuthSpanStart) GetAuthPayload() []byte { } type AuthSpanEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Repeat service/endpoint name here to make it possible // to consume end events without having to look up the start. - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` - Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` - UserData []byte `protobuf:"bytes,4,opt,name=user_data,json=userData,proto3,oneof" json:"user_data,omitempty"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + EndpointName string `protobuf:"bytes,2,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"` + Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` + UserData []byte `protobuf:"bytes,4,opt,name=user_data,json=userData,proto3,oneof" json:"user_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthSpanEnd) Reset() { *x = AuthSpanEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthSpanEnd) String() string { @@ -1319,7 +1312,7 @@ func (*AuthSpanEnd) ProtoMessage() {} func (x *AuthSpanEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1363,10 +1356,7 @@ func (x *AuthSpanEnd) GetUserData() []byte { } type PubsubMessageSpanStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` TopicName string `protobuf:"bytes,2,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` SubscriptionName string `protobuf:"bytes,3,opt,name=subscription_name,json=subscriptionName,proto3" json:"subscription_name,omitempty"` @@ -1374,15 +1364,15 @@ type PubsubMessageSpanStart struct { Attempt uint32 `protobuf:"varint,5,opt,name=attempt,proto3" json:"attempt,omitempty"` PublishTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` MessagePayload []byte `protobuf:"bytes,7,opt,name=message_payload,json=messagePayload,proto3,oneof" json:"message_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubsubMessageSpanStart) Reset() { *x = PubsubMessageSpanStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubsubMessageSpanStart) String() string { @@ -1393,7 +1383,7 @@ func (*PubsubMessageSpanStart) ProtoMessage() {} func (x *PubsubMessageSpanStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1458,24 +1448,21 @@ func (x *PubsubMessageSpanStart) GetMessagePayload() []byte { } type PubsubMessageSpanEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Repeat service/topic/subscription name here to make it possible // to consume end events without having to look up the start. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` TopicName string `protobuf:"bytes,2,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` SubscriptionName string `protobuf:"bytes,3,opt,name=subscription_name,json=subscriptionName,proto3" json:"subscription_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubsubMessageSpanEnd) Reset() { *x = PubsubMessageSpanEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubsubMessageSpanEnd) String() string { @@ -1486,7 +1473,7 @@ func (*PubsubMessageSpanEnd) ProtoMessage() {} func (x *PubsubMessageSpanEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1523,24 +1510,21 @@ func (x *PubsubMessageSpanEnd) GetSubscriptionName() string { } type TestSpanStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + TestName string `protobuf:"bytes,2,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"` + Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` + TestFile string `protobuf:"bytes,4,opt,name=test_file,json=testFile,proto3" json:"test_file,omitempty"` + TestLine uint32 `protobuf:"varint,5,opt,name=test_line,json=testLine,proto3" json:"test_line,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - TestName string `protobuf:"bytes,2,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"` - Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` - TestFile string `protobuf:"bytes,4,opt,name=test_file,json=testFile,proto3" json:"test_file,omitempty"` - TestLine uint32 `protobuf:"varint,5,opt,name=test_line,json=testLine,proto3" json:"test_line,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TestSpanStart) Reset() { *x = TestSpanStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TestSpanStart) String() string { @@ -1551,7 +1535,7 @@ func (*TestSpanStart) ProtoMessage() {} func (x *TestSpanStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1602,23 +1586,20 @@ func (x *TestSpanStart) GetTestLine() uint32 { } type TestSpanEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + TestName string `protobuf:"bytes,2,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"` + Failed bool `protobuf:"varint,3,opt,name=failed,proto3" json:"failed,omitempty"` + Skipped bool `protobuf:"varint,4,opt,name=skipped,proto3" json:"skipped,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - TestName string `protobuf:"bytes,2,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"` - Failed bool `protobuf:"varint,3,opt,name=failed,proto3" json:"failed,omitempty"` - Skipped bool `protobuf:"varint,4,opt,name=skipped,proto3" json:"skipped,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TestSpanEnd) Reset() { *x = TestSpanEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TestSpanEnd) String() string { @@ -1629,7 +1610,7 @@ func (*TestSpanEnd) ProtoMessage() {} func (x *TestSpanEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1673,16 +1654,13 @@ func (x *TestSpanEnd) GetSkipped() bool { } type SpanEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` - DefLoc *uint32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3,oneof" json:"def_loc,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Goid uint32 `protobuf:"varint,1,opt,name=goid,proto3" json:"goid,omitempty"` + DefLoc *uint32 `protobuf:"varint,2,opt,name=def_loc,json=defLoc,proto3,oneof" json:"def_loc,omitempty"` // correlation_event_id is the other event // this event is correlated with. CorrelationEventId *uint64 `protobuf:"varint,3,opt,name=correlation_event_id,json=correlationEventId,proto3,oneof" json:"correlation_event_id,omitempty"` - // Types that are assignable to Data: + // Types that are valid to be assigned to Data: // // *SpanEvent_LogMessage // *SpanEvent_BodyStream @@ -1710,16 +1688,16 @@ type SpanEvent struct { // *SpanEvent_BucketListObjectsEnd // *SpanEvent_BucketDeleteObjectsStart // *SpanEvent_BucketDeleteObjectsEnd - Data isSpanEvent_Data `protobuf_oneof:"data"` + Data isSpanEvent_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SpanEvent) Reset() { *x = SpanEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SpanEvent) String() string { @@ -1730,7 +1708,7 @@ func (*SpanEvent) ProtoMessage() {} func (x *SpanEvent) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1766,191 +1744,243 @@ func (x *SpanEvent) GetCorrelationEventId() uint64 { return 0 } -func (m *SpanEvent) GetData() isSpanEvent_Data { - if m != nil { - return m.Data +func (x *SpanEvent) GetData() isSpanEvent_Data { + if x != nil { + return x.Data } return nil } func (x *SpanEvent) GetLogMessage() *LogMessage { - if x, ok := x.GetData().(*SpanEvent_LogMessage); ok { - return x.LogMessage + if x != nil { + if x, ok := x.Data.(*SpanEvent_LogMessage); ok { + return x.LogMessage + } } return nil } func (x *SpanEvent) GetBodyStream() *BodyStream { - if x, ok := x.GetData().(*SpanEvent_BodyStream); ok { - return x.BodyStream + if x != nil { + if x, ok := x.Data.(*SpanEvent_BodyStream); ok { + return x.BodyStream + } } return nil } func (x *SpanEvent) GetRpcCallStart() *RPCCallStart { - if x, ok := x.GetData().(*SpanEvent_RpcCallStart); ok { - return x.RpcCallStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_RpcCallStart); ok { + return x.RpcCallStart + } } return nil } func (x *SpanEvent) GetRpcCallEnd() *RPCCallEnd { - if x, ok := x.GetData().(*SpanEvent_RpcCallEnd); ok { - return x.RpcCallEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_RpcCallEnd); ok { + return x.RpcCallEnd + } } return nil } func (x *SpanEvent) GetDbTransactionStart() *DBTransactionStart { - if x, ok := x.GetData().(*SpanEvent_DbTransactionStart); ok { - return x.DbTransactionStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_DbTransactionStart); ok { + return x.DbTransactionStart + } } return nil } func (x *SpanEvent) GetDbTransactionEnd() *DBTransactionEnd { - if x, ok := x.GetData().(*SpanEvent_DbTransactionEnd); ok { - return x.DbTransactionEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_DbTransactionEnd); ok { + return x.DbTransactionEnd + } } return nil } func (x *SpanEvent) GetDbQueryStart() *DBQueryStart { - if x, ok := x.GetData().(*SpanEvent_DbQueryStart); ok { - return x.DbQueryStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_DbQueryStart); ok { + return x.DbQueryStart + } } return nil } func (x *SpanEvent) GetDbQueryEnd() *DBQueryEnd { - if x, ok := x.GetData().(*SpanEvent_DbQueryEnd); ok { - return x.DbQueryEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_DbQueryEnd); ok { + return x.DbQueryEnd + } } return nil } func (x *SpanEvent) GetHttpCallStart() *HTTPCallStart { - if x, ok := x.GetData().(*SpanEvent_HttpCallStart); ok { - return x.HttpCallStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_HttpCallStart); ok { + return x.HttpCallStart + } } return nil } func (x *SpanEvent) GetHttpCallEnd() *HTTPCallEnd { - if x, ok := x.GetData().(*SpanEvent_HttpCallEnd); ok { - return x.HttpCallEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_HttpCallEnd); ok { + return x.HttpCallEnd + } } return nil } func (x *SpanEvent) GetPubsubPublishStart() *PubsubPublishStart { - if x, ok := x.GetData().(*SpanEvent_PubsubPublishStart); ok { - return x.PubsubPublishStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_PubsubPublishStart); ok { + return x.PubsubPublishStart + } } return nil } func (x *SpanEvent) GetPubsubPublishEnd() *PubsubPublishEnd { - if x, ok := x.GetData().(*SpanEvent_PubsubPublishEnd); ok { - return x.PubsubPublishEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_PubsubPublishEnd); ok { + return x.PubsubPublishEnd + } } return nil } func (x *SpanEvent) GetCacheCallStart() *CacheCallStart { - if x, ok := x.GetData().(*SpanEvent_CacheCallStart); ok { - return x.CacheCallStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_CacheCallStart); ok { + return x.CacheCallStart + } } return nil } func (x *SpanEvent) GetCacheCallEnd() *CacheCallEnd { - if x, ok := x.GetData().(*SpanEvent_CacheCallEnd); ok { - return x.CacheCallEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_CacheCallEnd); ok { + return x.CacheCallEnd + } } return nil } func (x *SpanEvent) GetServiceInitStart() *ServiceInitStart { - if x, ok := x.GetData().(*SpanEvent_ServiceInitStart); ok { - return x.ServiceInitStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_ServiceInitStart); ok { + return x.ServiceInitStart + } } return nil } func (x *SpanEvent) GetServiceInitEnd() *ServiceInitEnd { - if x, ok := x.GetData().(*SpanEvent_ServiceInitEnd); ok { - return x.ServiceInitEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_ServiceInitEnd); ok { + return x.ServiceInitEnd + } } return nil } func (x *SpanEvent) GetBucketObjectUploadStart() *BucketObjectUploadStart { - if x, ok := x.GetData().(*SpanEvent_BucketObjectUploadStart); ok { - return x.BucketObjectUploadStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectUploadStart); ok { + return x.BucketObjectUploadStart + } } return nil } func (x *SpanEvent) GetBucketObjectUploadEnd() *BucketObjectUploadEnd { - if x, ok := x.GetData().(*SpanEvent_BucketObjectUploadEnd); ok { - return x.BucketObjectUploadEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectUploadEnd); ok { + return x.BucketObjectUploadEnd + } } return nil } func (x *SpanEvent) GetBucketObjectDownloadStart() *BucketObjectDownloadStart { - if x, ok := x.GetData().(*SpanEvent_BucketObjectDownloadStart); ok { - return x.BucketObjectDownloadStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectDownloadStart); ok { + return x.BucketObjectDownloadStart + } } return nil } func (x *SpanEvent) GetBucketObjectDownloadEnd() *BucketObjectDownloadEnd { - if x, ok := x.GetData().(*SpanEvent_BucketObjectDownloadEnd); ok { - return x.BucketObjectDownloadEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectDownloadEnd); ok { + return x.BucketObjectDownloadEnd + } } return nil } func (x *SpanEvent) GetBucketObjectGetAttrsStart() *BucketObjectGetAttrsStart { - if x, ok := x.GetData().(*SpanEvent_BucketObjectGetAttrsStart); ok { - return x.BucketObjectGetAttrsStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectGetAttrsStart); ok { + return x.BucketObjectGetAttrsStart + } } return nil } func (x *SpanEvent) GetBucketObjectGetAttrsEnd() *BucketObjectGetAttrsEnd { - if x, ok := x.GetData().(*SpanEvent_BucketObjectGetAttrsEnd); ok { - return x.BucketObjectGetAttrsEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketObjectGetAttrsEnd); ok { + return x.BucketObjectGetAttrsEnd + } } return nil } func (x *SpanEvent) GetBucketListObjectsStart() *BucketListObjectsStart { - if x, ok := x.GetData().(*SpanEvent_BucketListObjectsStart); ok { - return x.BucketListObjectsStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketListObjectsStart); ok { + return x.BucketListObjectsStart + } } return nil } func (x *SpanEvent) GetBucketListObjectsEnd() *BucketListObjectsEnd { - if x, ok := x.GetData().(*SpanEvent_BucketListObjectsEnd); ok { - return x.BucketListObjectsEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketListObjectsEnd); ok { + return x.BucketListObjectsEnd + } } return nil } func (x *SpanEvent) GetBucketDeleteObjectsStart() *BucketDeleteObjectsStart { - if x, ok := x.GetData().(*SpanEvent_BucketDeleteObjectsStart); ok { - return x.BucketDeleteObjectsStart + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketDeleteObjectsStart); ok { + return x.BucketDeleteObjectsStart + } } return nil } func (x *SpanEvent) GetBucketDeleteObjectsEnd() *BucketDeleteObjectsEnd { - if x, ok := x.GetData().(*SpanEvent_BucketDeleteObjectsEnd); ok { - return x.BucketDeleteObjectsEnd + if x != nil { + if x, ok := x.Data.(*SpanEvent_BucketDeleteObjectsEnd); ok { + return x.BucketDeleteObjectsEnd + } } return nil } @@ -2116,22 +2146,19 @@ func (*SpanEvent_BucketDeleteObjectsStart) isSpanEvent_Data() {} func (*SpanEvent_BucketDeleteObjectsEnd) isSpanEvent_Data() {} type RPCCallStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TargetServiceName string `protobuf:"bytes,1,opt,name=target_service_name,json=targetServiceName,proto3" json:"target_service_name,omitempty"` - TargetEndpointName string `protobuf:"bytes,2,opt,name=target_endpoint_name,json=targetEndpointName,proto3" json:"target_endpoint_name,omitempty"` - Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TargetServiceName string `protobuf:"bytes,1,opt,name=target_service_name,json=targetServiceName,proto3" json:"target_service_name,omitempty"` + TargetEndpointName string `protobuf:"bytes,2,opt,name=target_endpoint_name,json=targetEndpointName,proto3" json:"target_endpoint_name,omitempty"` + Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RPCCallStart) Reset() { *x = RPCCallStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPCCallStart) String() string { @@ -2142,7 +2169,7 @@ func (*RPCCallStart) ProtoMessage() {} func (x *RPCCallStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2179,20 +2206,17 @@ func (x *RPCCallStart) GetStack() *StackTrace { } type RPCCallEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RPCCallEnd) Reset() { *x = RPCCallEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPCCallEnd) String() string { @@ -2203,7 +2227,7 @@ func (*RPCCallEnd) ProtoMessage() {} func (x *RPCCallEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2226,18 +2250,16 @@ func (x *RPCCallEnd) GetErr() *Error { } type GoroutineStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GoroutineStart) Reset() { *x = GoroutineStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GoroutineStart) String() string { @@ -2248,7 +2270,7 @@ func (*GoroutineStart) ProtoMessage() {} func (x *GoroutineStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2264,18 +2286,16 @@ func (*GoroutineStart) Descriptor() ([]byte, []int) { } type GoroutineEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GoroutineEnd) Reset() { *x = GoroutineEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GoroutineEnd) String() string { @@ -2286,7 +2306,7 @@ func (*GoroutineEnd) ProtoMessage() {} func (x *GoroutineEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2302,20 +2322,17 @@ func (*GoroutineEnd) Descriptor() ([]byte, []int) { } type DBTransactionStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Stack *StackTrace `protobuf:"bytes,1,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Stack *StackTrace `protobuf:"bytes,1,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DBTransactionStart) Reset() { *x = DBTransactionStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBTransactionStart) String() string { @@ -2326,7 +2343,7 @@ func (*DBTransactionStart) ProtoMessage() {} func (x *DBTransactionStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2349,22 +2366,19 @@ func (x *DBTransactionStart) GetStack() *StackTrace { } type DBTransactionEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Completion DBTransactionEnd_CompletionType `protobuf:"varint,1,opt,name=completion,proto3,enum=encore.engine.trace2.DBTransactionEnd_CompletionType" json:"completion,omitempty"` + Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` + Err *Error `protobuf:"bytes,3,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Completion DBTransactionEnd_CompletionType `protobuf:"varint,1,opt,name=completion,proto3,enum=encore.engine.trace2.DBTransactionEnd_CompletionType" json:"completion,omitempty"` - Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` - Err *Error `protobuf:"bytes,3,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DBTransactionEnd) Reset() { *x = DBTransactionEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBTransactionEnd) String() string { @@ -2375,7 +2389,7 @@ func (*DBTransactionEnd) ProtoMessage() {} func (x *DBTransactionEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2412,21 +2426,18 @@ func (x *DBTransactionEnd) GetErr() *Error { } type DBQueryStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DBQueryStart) Reset() { *x = DBQueryStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBQueryStart) String() string { @@ -2437,7 +2448,7 @@ func (*DBQueryStart) ProtoMessage() {} func (x *DBQueryStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2467,20 +2478,17 @@ func (x *DBQueryStart) GetStack() *StackTrace { } type DBQueryEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DBQueryEnd) Reset() { *x = DBQueryEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBQueryEnd) String() string { @@ -2491,7 +2499,7 @@ func (*DBQueryEnd) ProtoMessage() {} func (x *DBQueryEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2514,22 +2522,19 @@ func (x *DBQueryEnd) GetErr() *Error { } type PubsubPublishStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + Message []byte `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - Message []byte `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubsubPublishStart) Reset() { *x = PubsubPublishStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubsubPublishStart) String() string { @@ -2540,7 +2545,7 @@ func (*PubsubPublishStart) ProtoMessage() {} func (x *PubsubPublishStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2577,21 +2582,18 @@ func (x *PubsubPublishStart) GetStack() *StackTrace { } type PubsubPublishEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MessageId *string `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3,oneof" json:"message_id,omitempty"` + Err *Error `protobuf:"bytes,2,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - MessageId *string `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3,oneof" json:"message_id,omitempty"` - Err *Error `protobuf:"bytes,2,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubsubPublishEnd) Reset() { *x = PubsubPublishEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubsubPublishEnd) String() string { @@ -2602,7 +2604,7 @@ func (*PubsubPublishEnd) ProtoMessage() {} func (x *PubsubPublishEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2632,20 +2634,17 @@ func (x *PubsubPublishEnd) GetErr() *Error { } type ServiceInitStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` unknownFields protoimpl.UnknownFields - - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ServiceInitStart) Reset() { *x = ServiceInitStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceInitStart) String() string { @@ -2656,7 +2655,7 @@ func (*ServiceInitStart) ProtoMessage() {} func (x *ServiceInitStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2679,20 +2678,17 @@ func (x *ServiceInitStart) GetService() string { } type ServiceInitEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ServiceInitEnd) Reset() { *x = ServiceInitEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceInitEnd) String() string { @@ -2703,7 +2699,7 @@ func (*ServiceInitEnd) ProtoMessage() {} func (x *ServiceInitEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2726,23 +2722,20 @@ func (x *ServiceInitEnd) GetErr() *Error { } type CacheCallStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + Keys []string `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"` + Write bool `protobuf:"varint,3,opt,name=write,proto3" json:"write,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` // TODO include more info (like inputs) unknownFields protoimpl.UnknownFields - - Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` - Keys []string `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"` - Write bool `protobuf:"varint,3,opt,name=write,proto3" json:"write,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` // TODO include more info (like inputs) + sizeCache protoimpl.SizeCache } func (x *CacheCallStart) Reset() { *x = CacheCallStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheCallStart) String() string { @@ -2753,7 +2746,7 @@ func (*CacheCallStart) ProtoMessage() {} func (x *CacheCallStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2797,21 +2790,18 @@ func (x *CacheCallStart) GetStack() *StackTrace { } type CacheCallEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result CacheCallEnd_Result `protobuf:"varint,1,opt,name=result,proto3,enum=encore.engine.trace2.CacheCallEnd_Result" json:"result,omitempty"` + Err *Error `protobuf:"bytes,2,opt,name=err,proto3,oneof" json:"err,omitempty"` // TODO include more info (like outputs) unknownFields protoimpl.UnknownFields - - Result CacheCallEnd_Result `protobuf:"varint,1,opt,name=result,proto3,enum=encore.engine.trace2.CacheCallEnd_Result" json:"result,omitempty"` - Err *Error `protobuf:"bytes,2,opt,name=err,proto3,oneof" json:"err,omitempty"` // TODO include more info (like outputs) + sizeCache protoimpl.SizeCache } func (x *CacheCallEnd) Reset() { *x = CacheCallEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheCallEnd) String() string { @@ -2822,7 +2812,7 @@ func (*CacheCallEnd) ProtoMessage() {} func (x *CacheCallEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2852,23 +2842,20 @@ func (x *CacheCallEnd) GetErr() *Error { } type BucketObjectUploadStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Attrs *BucketObjectAttributes `protobuf:"bytes,3,opt,name=attrs,proto3" json:"attrs,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Attrs *BucketObjectAttributes `protobuf:"bytes,3,opt,name=attrs,proto3" json:"attrs,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectUploadStart) Reset() { *x = BucketObjectUploadStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectUploadStart) String() string { @@ -2879,7 +2866,7 @@ func (*BucketObjectUploadStart) ProtoMessage() {} func (x *BucketObjectUploadStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2923,22 +2910,19 @@ func (x *BucketObjectUploadStart) GetStack() *StackTrace { } type BucketObjectUploadEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + Size *uint64 `protobuf:"varint,2,opt,name=size,proto3,oneof" json:"size,omitempty"` + Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - Size *uint64 `protobuf:"varint,2,opt,name=size,proto3,oneof" json:"size,omitempty"` - Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectUploadEnd) Reset() { *x = BucketObjectUploadEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectUploadEnd) String() string { @@ -2949,7 +2933,7 @@ func (*BucketObjectUploadEnd) ProtoMessage() {} func (x *BucketObjectUploadEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2986,23 +2970,20 @@ func (x *BucketObjectUploadEnd) GetVersion() string { } type BucketObjectDownloadStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectDownloadStart) Reset() { *x = BucketObjectDownloadStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectDownloadStart) String() string { @@ -3013,7 +2994,7 @@ func (*BucketObjectDownloadStart) ProtoMessage() {} func (x *BucketObjectDownloadStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3057,21 +3038,18 @@ func (x *BucketObjectDownloadStart) GetStack() *StackTrace { } type BucketObjectDownloadEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + Size *uint64 `protobuf:"varint,2,opt,name=size,proto3,oneof" json:"size,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - Size *uint64 `protobuf:"varint,2,opt,name=size,proto3,oneof" json:"size,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectDownloadEnd) Reset() { *x = BucketObjectDownloadEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectDownloadEnd) String() string { @@ -3082,7 +3060,7 @@ func (*BucketObjectDownloadEnd) ProtoMessage() {} func (x *BucketObjectDownloadEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3112,23 +3090,20 @@ func (x *BucketObjectDownloadEnd) GetSize() uint64 { } type BucketObjectGetAttrsStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectGetAttrsStart) Reset() { *x = BucketObjectGetAttrsStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectGetAttrsStart) String() string { @@ -3139,7 +3114,7 @@ func (*BucketObjectGetAttrsStart) ProtoMessage() {} func (x *BucketObjectGetAttrsStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3183,21 +3158,18 @@ func (x *BucketObjectGetAttrsStart) GetStack() *StackTrace { } type BucketObjectGetAttrsEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + Attrs *BucketObjectAttributes `protobuf:"bytes,2,opt,name=attrs,proto3,oneof" json:"attrs,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - Attrs *BucketObjectAttributes `protobuf:"bytes,2,opt,name=attrs,proto3,oneof" json:"attrs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectGetAttrsEnd) Reset() { *x = BucketObjectGetAttrsEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectGetAttrsEnd) String() string { @@ -3208,7 +3180,7 @@ func (*BucketObjectGetAttrsEnd) ProtoMessage() {} func (x *BucketObjectGetAttrsEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3238,22 +3210,19 @@ func (x *BucketObjectGetAttrsEnd) GetAttrs() *BucketObjectAttributes { } type BucketListObjectsStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Prefix *string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` + Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - Prefix *string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` - Stack *StackTrace `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketListObjectsStart) Reset() { *x = BucketListObjectsStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketListObjectsStart) String() string { @@ -3264,7 +3233,7 @@ func (*BucketListObjectsStart) ProtoMessage() {} func (x *BucketListObjectsStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3301,22 +3270,19 @@ func (x *BucketListObjectsStart) GetStack() *StackTrace { } type BucketListObjectsEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + Observed uint64 `protobuf:"varint,2,opt,name=observed,proto3" json:"observed,omitempty"` + HasMore bool `protobuf:"varint,3,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - Observed uint64 `protobuf:"varint,2,opt,name=observed,proto3" json:"observed,omitempty"` - HasMore bool `protobuf:"varint,3,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketListObjectsEnd) Reset() { *x = BucketListObjectsEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketListObjectsEnd) String() string { @@ -3327,7 +3293,7 @@ func (*BucketListObjectsEnd) ProtoMessage() {} func (x *BucketListObjectsEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3364,22 +3330,19 @@ func (x *BucketListObjectsEnd) GetHasMore() bool { } type BucketDeleteObjectsStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` + Entries []*BucketDeleteObjectEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields - - Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"` - Entries []*BucketDeleteObjectEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketDeleteObjectsStart) Reset() { *x = BucketDeleteObjectsStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketDeleteObjectsStart) String() string { @@ -3390,7 +3353,7 @@ func (*BucketDeleteObjectsStart) ProtoMessage() {} func (x *BucketDeleteObjectsStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3427,21 +3390,18 @@ func (x *BucketDeleteObjectsStart) GetEntries() []*BucketDeleteObjectEntry { } type BucketDeleteObjectEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Object string `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"` + Version *string `protobuf:"bytes,2,opt,name=version,proto3,oneof" json:"version,omitempty"` unknownFields protoimpl.UnknownFields - - Object string `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"` - Version *string `protobuf:"bytes,2,opt,name=version,proto3,oneof" json:"version,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketDeleteObjectEntry) Reset() { *x = BucketDeleteObjectEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketDeleteObjectEntry) String() string { @@ -3452,7 +3412,7 @@ func (*BucketDeleteObjectEntry) ProtoMessage() {} func (x *BucketDeleteObjectEntry) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3482,20 +3442,17 @@ func (x *BucketDeleteObjectEntry) GetVersion() string { } type BucketDeleteObjectsEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err *Error `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketDeleteObjectsEnd) Reset() { *x = BucketDeleteObjectsEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketDeleteObjectsEnd) String() string { @@ -3506,7 +3463,7 @@ func (*BucketDeleteObjectsEnd) ProtoMessage() {} func (x *BucketDeleteObjectsEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3529,23 +3486,20 @@ func (x *BucketDeleteObjectsEnd) GetErr() *Error { } type BucketObjectAttributes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Size *uint64 `protobuf:"varint,1,opt,name=size,proto3,oneof" json:"size,omitempty"` + Version *string `protobuf:"bytes,2,opt,name=version,proto3,oneof" json:"version,omitempty"` + Etag *string `protobuf:"bytes,3,opt,name=etag,proto3,oneof" json:"etag,omitempty"` + ContentType *string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3,oneof" json:"content_type,omitempty"` unknownFields protoimpl.UnknownFields - - Size *uint64 `protobuf:"varint,1,opt,name=size,proto3,oneof" json:"size,omitempty"` - Version *string `protobuf:"bytes,2,opt,name=version,proto3,oneof" json:"version,omitempty"` - Etag *string `protobuf:"bytes,3,opt,name=etag,proto3,oneof" json:"etag,omitempty"` - ContentType *string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3,oneof" json:"content_type,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BucketObjectAttributes) Reset() { *x = BucketObjectAttributes{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketObjectAttributes) String() string { @@ -3556,7 +3510,7 @@ func (*BucketObjectAttributes) ProtoMessage() {} func (x *BucketObjectAttributes) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3600,22 +3554,19 @@ func (x *BucketObjectAttributes) GetContentType() string { } type BodyStream struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsResponse bool `protobuf:"varint,1,opt,name=is_response,json=isResponse,proto3" json:"is_response,omitempty"` + Overflowed bool `protobuf:"varint,2,opt,name=overflowed,proto3" json:"overflowed,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields - - IsResponse bool `protobuf:"varint,1,opt,name=is_response,json=isResponse,proto3" json:"is_response,omitempty"` - Overflowed bool `protobuf:"varint,2,opt,name=overflowed,proto3" json:"overflowed,omitempty"` - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BodyStream) Reset() { *x = BodyStream{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BodyStream) String() string { @@ -3626,7 +3577,7 @@ func (*BodyStream) ProtoMessage() {} func (x *BodyStream) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3663,26 +3614,23 @@ func (x *BodyStream) GetData() []byte { } type HTTPCallStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CorrelationParentSpanId uint64 `protobuf:"varint,1,opt,name=correlation_parent_span_id,json=correlationParentSpanId,proto3" json:"correlation_parent_span_id,omitempty"` - Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` - Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CorrelationParentSpanId uint64 `protobuf:"varint,1,opt,name=correlation_parent_span_id,json=correlationParentSpanId,proto3" json:"correlation_parent_span_id,omitempty"` + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` // start_nanotime is used to compute timings based on the // nanotime in the HTTP trace events. StartNanotime int64 `protobuf:"varint,5,opt,name=start_nanotime,json=startNanotime,proto3" json:"start_nanotime,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPCallStart) Reset() { *x = HTTPCallStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPCallStart) String() string { @@ -3693,7 +3641,7 @@ func (*HTTPCallStart) ProtoMessage() {} func (x *HTTPCallStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3744,25 +3692,22 @@ func (x *HTTPCallStart) GetStartNanotime() int64 { } type HTTPCallEnd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // status_code is set if we got a HTTP response. StatusCode *uint32 `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3,oneof" json:"status_code,omitempty"` // err is set otherwise. Err *Error `protobuf:"bytes,2,opt,name=err,proto3,oneof" json:"err,omitempty"` // TODO these should be moved to be asynchronous via a separate event. - TraceEvents []*HTTPTraceEvent `protobuf:"bytes,3,rep,name=trace_events,json=traceEvents,proto3" json:"trace_events,omitempty"` + TraceEvents []*HTTPTraceEvent `protobuf:"bytes,3,rep,name=trace_events,json=traceEvents,proto3" json:"trace_events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPCallEnd) Reset() { *x = HTTPCallEnd{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPCallEnd) String() string { @@ -3773,7 +3718,7 @@ func (*HTTPCallEnd) ProtoMessage() {} func (x *HTTPCallEnd) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3810,12 +3755,9 @@ func (x *HTTPCallEnd) GetTraceEvents() []*HTTPTraceEvent { } type HTTPTraceEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Nanotime int64 `protobuf:"varint,1,opt,name=nanotime,proto3" json:"nanotime,omitempty"` - // Types that are assignable to Data: + state protoimpl.MessageState `protogen:"open.v1"` + Nanotime int64 `protobuf:"varint,1,opt,name=nanotime,proto3" json:"nanotime,omitempty"` + // Types that are valid to be assigned to Data: // // *HTTPTraceEvent_GetConn // *HTTPTraceEvent_GotConn @@ -3831,16 +3773,16 @@ type HTTPTraceEvent struct { // *HTTPTraceEvent_WroteRequest // *HTTPTraceEvent_Wait_100Continue // *HTTPTraceEvent_ClosedBody - Data isHTTPTraceEvent_Data `protobuf_oneof:"data"` + Data isHTTPTraceEvent_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPTraceEvent) Reset() { *x = HTTPTraceEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPTraceEvent) String() string { @@ -3851,7 +3793,7 @@ func (*HTTPTraceEvent) ProtoMessage() {} func (x *HTTPTraceEvent) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3873,107 +3815,135 @@ func (x *HTTPTraceEvent) GetNanotime() int64 { return 0 } -func (m *HTTPTraceEvent) GetData() isHTTPTraceEvent_Data { - if m != nil { - return m.Data +func (x *HTTPTraceEvent) GetData() isHTTPTraceEvent_Data { + if x != nil { + return x.Data } return nil } func (x *HTTPTraceEvent) GetGetConn() *HTTPGetConn { - if x, ok := x.GetData().(*HTTPTraceEvent_GetConn); ok { - return x.GetConn + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_GetConn); ok { + return x.GetConn + } } return nil } func (x *HTTPTraceEvent) GetGotConn() *HTTPGotConn { - if x, ok := x.GetData().(*HTTPTraceEvent_GotConn); ok { - return x.GotConn + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_GotConn); ok { + return x.GotConn + } } return nil } func (x *HTTPTraceEvent) GetGotFirstResponseByte() *HTTPGotFirstResponseByte { - if x, ok := x.GetData().(*HTTPTraceEvent_GotFirstResponseByte); ok { - return x.GotFirstResponseByte + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_GotFirstResponseByte); ok { + return x.GotFirstResponseByte + } } return nil } func (x *HTTPTraceEvent) GetGot_1XxResponse() *HTTPGot1XxResponse { - if x, ok := x.GetData().(*HTTPTraceEvent_Got_1XxResponse); ok { - return x.Got_1XxResponse + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_Got_1XxResponse); ok { + return x.Got_1XxResponse + } } return nil } func (x *HTTPTraceEvent) GetDnsStart() *HTTPDNSStart { - if x, ok := x.GetData().(*HTTPTraceEvent_DnsStart); ok { - return x.DnsStart + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_DnsStart); ok { + return x.DnsStart + } } return nil } func (x *HTTPTraceEvent) GetDnsDone() *HTTPDNSDone { - if x, ok := x.GetData().(*HTTPTraceEvent_DnsDone); ok { - return x.DnsDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_DnsDone); ok { + return x.DnsDone + } } return nil } func (x *HTTPTraceEvent) GetConnectStart() *HTTPConnectStart { - if x, ok := x.GetData().(*HTTPTraceEvent_ConnectStart); ok { - return x.ConnectStart + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_ConnectStart); ok { + return x.ConnectStart + } } return nil } func (x *HTTPTraceEvent) GetConnectDone() *HTTPConnectDone { - if x, ok := x.GetData().(*HTTPTraceEvent_ConnectDone); ok { - return x.ConnectDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_ConnectDone); ok { + return x.ConnectDone + } } return nil } func (x *HTTPTraceEvent) GetTlsHandshakeStart() *HTTPTLSHandshakeStart { - if x, ok := x.GetData().(*HTTPTraceEvent_TlsHandshakeStart); ok { - return x.TlsHandshakeStart + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_TlsHandshakeStart); ok { + return x.TlsHandshakeStart + } } return nil } func (x *HTTPTraceEvent) GetTlsHandshakeDone() *HTTPTLSHandshakeDone { - if x, ok := x.GetData().(*HTTPTraceEvent_TlsHandshakeDone); ok { - return x.TlsHandshakeDone + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_TlsHandshakeDone); ok { + return x.TlsHandshakeDone + } } return nil } func (x *HTTPTraceEvent) GetWroteHeaders() *HTTPWroteHeaders { - if x, ok := x.GetData().(*HTTPTraceEvent_WroteHeaders); ok { - return x.WroteHeaders + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_WroteHeaders); ok { + return x.WroteHeaders + } } return nil } func (x *HTTPTraceEvent) GetWroteRequest() *HTTPWroteRequest { - if x, ok := x.GetData().(*HTTPTraceEvent_WroteRequest); ok { - return x.WroteRequest + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_WroteRequest); ok { + return x.WroteRequest + } } return nil } func (x *HTTPTraceEvent) GetWait_100Continue() *HTTPWait100Continue { - if x, ok := x.GetData().(*HTTPTraceEvent_Wait_100Continue); ok { - return x.Wait_100Continue + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_Wait_100Continue); ok { + return x.Wait_100Continue + } } return nil } func (x *HTTPTraceEvent) GetClosedBody() *HTTPClosedBodyData { - if x, ok := x.GetData().(*HTTPTraceEvent_ClosedBody); ok { - return x.ClosedBody + if x != nil { + if x, ok := x.Data.(*HTTPTraceEvent_ClosedBody); ok { + return x.ClosedBody + } } return nil } @@ -4067,20 +4037,17 @@ func (*HTTPTraceEvent_Wait_100Continue) isHTTPTraceEvent_Data() {} func (*HTTPTraceEvent_ClosedBody) isHTTPTraceEvent_Data() {} type HTTPGetConn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + HostPort string `protobuf:"bytes,1,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"` unknownFields protoimpl.UnknownFields - - HostPort string `protobuf:"bytes,1,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPGetConn) Reset() { *x = HTTPGetConn{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGetConn) String() string { @@ -4091,7 +4058,7 @@ func (*HTTPGetConn) ProtoMessage() {} func (x *HTTPGetConn) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4114,22 +4081,19 @@ func (x *HTTPGetConn) GetHostPort() string { } type HTTPGotConn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Reused bool `protobuf:"varint,1,opt,name=reused,proto3" json:"reused,omitempty"` - WasIdle bool `protobuf:"varint,2,opt,name=was_idle,json=wasIdle,proto3" json:"was_idle,omitempty"` - IdleDurationNs int64 `protobuf:"varint,3,opt,name=idle_duration_ns,json=idleDurationNs,proto3" json:"idle_duration_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Reused bool `protobuf:"varint,1,opt,name=reused,proto3" json:"reused,omitempty"` + WasIdle bool `protobuf:"varint,2,opt,name=was_idle,json=wasIdle,proto3" json:"was_idle,omitempty"` + IdleDurationNs int64 `protobuf:"varint,3,opt,name=idle_duration_ns,json=idleDurationNs,proto3" json:"idle_duration_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPGotConn) Reset() { *x = HTTPGotConn{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGotConn) String() string { @@ -4140,7 +4104,7 @@ func (*HTTPGotConn) ProtoMessage() {} func (x *HTTPGotConn) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4177,18 +4141,16 @@ func (x *HTTPGotConn) GetIdleDurationNs() int64 { } type HTTPGotFirstResponseByte struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPGotFirstResponseByte) Reset() { *x = HTTPGotFirstResponseByte{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGotFirstResponseByte) String() string { @@ -4199,7 +4161,7 @@ func (*HTTPGotFirstResponseByte) ProtoMessage() {} func (x *HTTPGotFirstResponseByte) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4215,20 +4177,17 @@ func (*HTTPGotFirstResponseByte) Descriptor() ([]byte, []int) { } type HTTPGot1XxResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPGot1XxResponse) Reset() { *x = HTTPGot1XxResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPGot1XxResponse) String() string { @@ -4239,7 +4198,7 @@ func (*HTTPGot1XxResponse) ProtoMessage() {} func (x *HTTPGot1XxResponse) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4262,20 +4221,17 @@ func (x *HTTPGot1XxResponse) GetCode() int32 { } type HTTPDNSStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` unknownFields protoimpl.UnknownFields - - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPDNSStart) Reset() { *x = HTTPDNSStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPDNSStart) String() string { @@ -4286,7 +4242,7 @@ func (*HTTPDNSStart) ProtoMessage() {} func (x *HTTPDNSStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4309,21 +4265,18 @@ func (x *HTTPDNSStart) GetHost() string { } type HTTPDNSDone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + Addrs []*DNSAddr `protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"` unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - Addrs []*DNSAddr `protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPDNSDone) Reset() { *x = HTTPDNSDone{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPDNSDone) String() string { @@ -4334,7 +4287,7 @@ func (*HTTPDNSDone) ProtoMessage() {} func (x *HTTPDNSDone) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4364,20 +4317,17 @@ func (x *HTTPDNSDone) GetAddrs() []*DNSAddr { } type DNSAddr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` unknownFields protoimpl.UnknownFields - - Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DNSAddr) Reset() { *x = DNSAddr{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DNSAddr) String() string { @@ -4388,7 +4338,7 @@ func (*DNSAddr) ProtoMessage() {} func (x *DNSAddr) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4411,21 +4361,18 @@ func (x *DNSAddr) GetIp() []byte { } type HTTPConnectStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` - Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPConnectStart) Reset() { *x = HTTPConnectStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPConnectStart) String() string { @@ -4436,7 +4383,7 @@ func (*HTTPConnectStart) ProtoMessage() {} func (x *HTTPConnectStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4466,22 +4413,19 @@ func (x *HTTPConnectStart) GetAddr() string { } type HTTPConnectDone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` + Err []byte `protobuf:"bytes,3,opt,name=err,proto3" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` - Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` - Err []byte `protobuf:"bytes,3,opt,name=err,proto3" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPConnectDone) Reset() { *x = HTTPConnectDone{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPConnectDone) String() string { @@ -4492,7 +4436,7 @@ func (*HTTPConnectDone) ProtoMessage() {} func (x *HTTPConnectDone) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4529,18 +4473,16 @@ func (x *HTTPConnectDone) GetErr() []byte { } type HTTPTLSHandshakeStart struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPTLSHandshakeStart) Reset() { *x = HTTPTLSHandshakeStart{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPTLSHandshakeStart) String() string { @@ -4551,7 +4493,7 @@ func (*HTTPTLSHandshakeStart) ProtoMessage() {} func (x *HTTPTLSHandshakeStart) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4567,24 +4509,21 @@ func (*HTTPTLSHandshakeStart) Descriptor() ([]byte, []int) { } type HTTPTLSHandshakeDone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` - TlsVersion uint32 `protobuf:"varint,2,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` - CipherSuite uint32 `protobuf:"varint,3,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"` - ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` - NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + TlsVersion uint32 `protobuf:"varint,2,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` + CipherSuite uint32 `protobuf:"varint,3,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"` + ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` + NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPTLSHandshakeDone) Reset() { *x = HTTPTLSHandshakeDone{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPTLSHandshakeDone) String() string { @@ -4595,7 +4534,7 @@ func (*HTTPTLSHandshakeDone) ProtoMessage() {} func (x *HTTPTLSHandshakeDone) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4646,18 +4585,16 @@ func (x *HTTPTLSHandshakeDone) GetNegotiatedProtocol() string { } type HTTPWroteHeaders struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPWroteHeaders) Reset() { *x = HTTPWroteHeaders{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPWroteHeaders) String() string { @@ -4668,7 +4605,7 @@ func (*HTTPWroteHeaders) ProtoMessage() {} func (x *HTTPWroteHeaders) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4684,20 +4621,17 @@ func (*HTTPWroteHeaders) Descriptor() ([]byte, []int) { } type HTTPWroteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPWroteRequest) Reset() { *x = HTTPWroteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPWroteRequest) String() string { @@ -4708,7 +4642,7 @@ func (*HTTPWroteRequest) ProtoMessage() {} func (x *HTTPWroteRequest) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4731,18 +4665,16 @@ func (x *HTTPWroteRequest) GetErr() []byte { } type HTTPWait100Continue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HTTPWait100Continue) Reset() { *x = HTTPWait100Continue{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPWait100Continue) String() string { @@ -4753,7 +4685,7 @@ func (*HTTPWait100Continue) ProtoMessage() {} func (x *HTTPWait100Continue) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4769,20 +4701,17 @@ func (*HTTPWait100Continue) Descriptor() ([]byte, []int) { } type HTTPClosedBodyData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` unknownFields protoimpl.UnknownFields - - Err []byte `protobuf:"bytes,1,opt,name=err,proto3,oneof" json:"err,omitempty"` + sizeCache protoimpl.SizeCache } func (x *HTTPClosedBodyData) Reset() { *x = HTTPClosedBodyData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HTTPClosedBodyData) String() string { @@ -4793,7 +4722,7 @@ func (*HTTPClosedBodyData) ProtoMessage() {} func (x *HTTPClosedBodyData) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4816,23 +4745,20 @@ func (x *HTTPClosedBodyData) GetErr() []byte { } type LogMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Level LogMessage_Level `protobuf:"varint,1,opt,name=level,proto3,enum=encore.engine.trace2.LogMessage_Level" json:"level,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Fields []*LogField `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` + Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Level LogMessage_Level `protobuf:"varint,1,opt,name=level,proto3,enum=encore.engine.trace2.LogMessage_Level" json:"level,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` - Fields []*LogField `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` - Stack *StackTrace `protobuf:"bytes,4,opt,name=stack,proto3" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *LogMessage) Reset() { *x = LogMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogMessage) String() string { @@ -4843,7 +4769,7 @@ func (*LogMessage) ProtoMessage() {} func (x *LogMessage) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4887,12 +4813,9 @@ func (x *LogMessage) GetStack() *StackTrace { } type LogField struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Types that are valid to be assigned to Value: // // *LogField_Error // *LogField_Str @@ -4905,16 +4828,16 @@ type LogField struct { // *LogField_Uint // *LogField_Float32 // *LogField_Float64 - Value isLogField_Value `protobuf_oneof:"value"` + Value isLogField_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LogField) Reset() { *x = LogField{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogField) String() string { @@ -4925,7 +4848,7 @@ func (*LogField) ProtoMessage() {} func (x *LogField) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4947,86 +4870,108 @@ func (x *LogField) GetKey() string { return "" } -func (m *LogField) GetValue() isLogField_Value { - if m != nil { - return m.Value +func (x *LogField) GetValue() isLogField_Value { + if x != nil { + return x.Value } return nil } func (x *LogField) GetError() *Error { - if x, ok := x.GetValue().(*LogField_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Value.(*LogField_Error); ok { + return x.Error + } } return nil } func (x *LogField) GetStr() string { - if x, ok := x.GetValue().(*LogField_Str); ok { - return x.Str + if x != nil { + if x, ok := x.Value.(*LogField_Str); ok { + return x.Str + } } return "" } func (x *LogField) GetBool() bool { - if x, ok := x.GetValue().(*LogField_Bool); ok { - return x.Bool + if x != nil { + if x, ok := x.Value.(*LogField_Bool); ok { + return x.Bool + } } return false } func (x *LogField) GetTime() *timestamppb.Timestamp { - if x, ok := x.GetValue().(*LogField_Time); ok { - return x.Time + if x != nil { + if x, ok := x.Value.(*LogField_Time); ok { + return x.Time + } } return nil } func (x *LogField) GetDur() int64 { - if x, ok := x.GetValue().(*LogField_Dur); ok { - return x.Dur + if x != nil { + if x, ok := x.Value.(*LogField_Dur); ok { + return x.Dur + } } return 0 } func (x *LogField) GetUuid() []byte { - if x, ok := x.GetValue().(*LogField_Uuid); ok { - return x.Uuid + if x != nil { + if x, ok := x.Value.(*LogField_Uuid); ok { + return x.Uuid + } } return nil } func (x *LogField) GetJson() []byte { - if x, ok := x.GetValue().(*LogField_Json); ok { - return x.Json + if x != nil { + if x, ok := x.Value.(*LogField_Json); ok { + return x.Json + } } return nil } func (x *LogField) GetInt() int64 { - if x, ok := x.GetValue().(*LogField_Int); ok { - return x.Int + if x != nil { + if x, ok := x.Value.(*LogField_Int); ok { + return x.Int + } } return 0 } func (x *LogField) GetUint() uint64 { - if x, ok := x.GetValue().(*LogField_Uint); ok { - return x.Uint + if x != nil { + if x, ok := x.Value.(*LogField_Uint); ok { + return x.Uint + } } return 0 } func (x *LogField) GetFloat32() float32 { - if x, ok := x.GetValue().(*LogField_Float32); ok { - return x.Float32 + if x != nil { + if x, ok := x.Value.(*LogField_Float32); ok { + return x.Float32 + } } return 0 } func (x *LogField) GetFloat64() float64 { - if x, ok := x.GetValue().(*LogField_Float64); ok { - return x.Float64 + if x != nil { + if x, ok := x.Value.(*LogField_Float64); ok { + return x.Float64 + } } return 0 } @@ -5102,21 +5047,18 @@ func (*LogField_Float32) isLogField_Value() {} func (*LogField_Float64) isLogField_Value() {} type StackTrace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Pcs []int64 `protobuf:"varint,1,rep,packed,name=pcs,proto3" json:"pcs,omitempty"` + Frames []*StackFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"` unknownFields protoimpl.UnknownFields - - Pcs []int64 `protobuf:"varint,1,rep,packed,name=pcs,proto3" json:"pcs,omitempty"` - Frames []*StackFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StackTrace) Reset() { *x = StackTrace{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StackTrace) String() string { @@ -5127,7 +5069,7 @@ func (*StackTrace) ProtoMessage() {} func (x *StackTrace) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5157,22 +5099,19 @@ func (x *StackTrace) GetFrames() []*StackFrame { } type StackFrame struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` + Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` unknownFields protoimpl.UnknownFields - - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` - Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` - Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StackFrame) Reset() { *x = StackFrame{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StackFrame) String() string { @@ -5183,7 +5122,7 @@ func (*StackFrame) ProtoMessage() {} func (x *StackFrame) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5220,21 +5159,18 @@ func (x *StackFrame) GetLine() int32 { } type Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3,oneof" json:"stack,omitempty"` unknownFields protoimpl.UnknownFields - - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - Stack *StackTrace `protobuf:"bytes,2,opt,name=stack,proto3,oneof" json:"stack,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Error) Reset() { *x = Error{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_engine_trace2_trace2_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_engine_trace2_trace2_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Error) String() string { @@ -5245,7 +5181,7 @@ func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { mi := &file_encore_engine_trace2_trace2_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5276,927 +5212,490 @@ func (x *Error) GetStack() *StackTrace { var File_encore_engine_trace2_trace2_proto protoreflect.FileDescriptor -var file_encore_engine_trace2_trace2_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x06, 0x0a, 0x0b, 0x53, - 0x70, 0x61, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x3e, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, - 0x53, 0x70, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x69, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x10, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6b, 0x69, - 0x70, 0x70, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0b, 0x74, 0x65, - 0x73, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, - 0x73, 0x72, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x07, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, - 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, - 0x52, 0x07, 0x73, 0x72, 0x63, 0x4c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4c, 0x0a, 0x08, - 0x53, 0x70, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x48, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, - 0x50, 0x55, 0x42, 0x53, 0x55, 0x42, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x03, - 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x53, 0x54, 0x10, 0x04, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x2f, 0x0a, 0x07, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, - 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x22, 0x45, 0x0a, 0x09, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x49, 0x44, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, - 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x73, - 0x70, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3a, 0x0a, - 0x08, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x48, 0x00, - 0x52, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x70, 0x61, - 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9a, 0x05, 0x0a, 0x09, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x48, 0x01, - 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0c, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, - 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x15, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x5f, 0x6c, - 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, 0x4c, - 0x6f, 0x63, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, - 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x61, 0x75, 0x74, - 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x61, 0x75, 0x74, 0x68, 0x12, 0x55, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x74, - 0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, - 0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, - 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x6c, 0x6f, - 0x63, 0x22, 0xf9, 0x04, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x0b, - 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x48, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x48, 0x03, 0x52, 0x0d, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x45, - 0x6e, 0x64, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, - 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x48, 0x00, - 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x74, - 0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x04, - 0x74, 0x65, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, - 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x04, - 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x68, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, - 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x10, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x75, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6d, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x41, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x69, 0x64, 0x22, 0xf1, 0x02, 0x0a, 0x0e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x64, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x90, 0x01, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x75, 0x74, - 0x68, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x53, 0x70, 0x61, 0x6e, 0x45, - 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc1, 0x02, 0x0a, - 0x16, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x70, - 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, - 0x3d, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, - 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x22, 0x85, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x73, - 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x73, - 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, - 0x73, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x7f, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, - 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x22, 0xe3, 0x13, 0x0a, 0x09, 0x53, 0x70, 0x61, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x64, 0x65, 0x66, - 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x64, 0x65, - 0x66, 0x4c, 0x6f, 0x63, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, - 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x42, 0x6f, 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x6f, - 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x70, 0x63, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x61, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x70, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0a, - 0x72, 0x70, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x5c, 0x0a, 0x14, 0x64, 0x62, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x48, 0x00, 0x52, 0x12, 0x64, 0x62, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x56, 0x0a, 0x12, 0x64, 0x62, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x44, 0x42, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x10, - 0x64, 0x62, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x12, 0x4a, 0x0a, 0x0e, 0x64, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x64, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x0c, - 0x64, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x64, 0x12, 0x4d, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x00, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x65, - 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x68, - 0x74, 0x74, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x5c, 0x0a, 0x14, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x48, 0x00, 0x52, 0x12, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x56, 0x0a, 0x12, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x50, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x10, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x64, - 0x12, 0x50, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x48, 0x00, - 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x56, - 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, - 0x6e, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x6c, 0x0a, 0x1a, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x17, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x66, 0x0a, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, - 0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x15, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, 0x12, 0x72, - 0x0a, 0x1c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x1c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x19, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x6c, 0x0a, 0x1a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x64, - 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x17, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, - 0x12, 0x73, 0x0a, 0x1d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x74, 0x41, 0x74, - 0x74, 0x72, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x19, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x1b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, - 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x17, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x45, 0x6e, 0x64, 0x12, 0x69, 0x0a, 0x19, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x16, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, - 0x63, 0x0a, 0x17, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x14, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x45, 0x6e, 0x64, 0x12, 0x6f, 0x0a, 0x1b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x18, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x69, 0x0a, 0x19, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, - 0x6e, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x16, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x64, - 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x66, - 0x5f, 0x6c, 0x6f, 0x63, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa8, 0x01, - 0x0a, 0x0c, 0x52, 0x50, 0x43, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2e, - 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, - 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x48, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x43, - 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, - 0x72, 0x72, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x65, 0x45, 0x6e, 0x64, 0x22, 0x4c, 0x0a, 0x12, 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x22, 0x89, 0x02, 0x0a, 0x10, 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, - 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0x5c, - 0x0a, 0x0c, 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x48, 0x0a, 0x0a, - 0x44, 0x42, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0x7c, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x22, 0x81, 0x01, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, - 0x03, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x65, 0x72, 0x72, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, - 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0xd4, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x65, - 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x22, - 0x45, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0f, - 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x53, 0x55, 0x43, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, - 0x03, 0x45, 0x52, 0x52, 0x10, 0x04, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0xc5, - 0x01, 0x0a, 0x17, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x61, 0x74, - 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x36, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0xa0, 0x01, 0x0a, 0x15, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x64, - 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x65, 0x72, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x19, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x0a, 0x17, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, - 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x19, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x64, - 0x12, 0x32, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x48, 0x01, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x65, 0x72, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, - 0x90, 0x01, 0x0a, 0x16, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, - 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, - 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, - 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0xb3, - 0x01, 0x0a, 0x18, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x47, 0x0a, 0x07, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x17, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x16, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x03, - 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x16, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x00, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x65, - 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x65, 0x74, 0x61, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x0a, 0x42, - 0x6f, 0x64, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x76, - 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd5, - 0x01, 0x0a, 0x0d, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, - 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, - 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x61, - 0x6e, 0x6f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x43, - 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x03, - 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, - 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, - 0x72, 0x22, 0x90, 0x09, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x61, 0x6e, 0x6f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x61, 0x6e, 0x6f, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, - 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, - 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x67, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x6e, - 0x12, 0x67, 0x0a, 0x17, 0x67, 0x6f, 0x74, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, - 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x14, 0x67, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x67, 0x6f, 0x74, - 0x5f, 0x31, 0x78, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, - 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, - 0x0e, 0x67, 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x41, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, - 0x53, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, - 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x44, 0x6f, - 0x6e, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x6f, 0x6e, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, - 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x6e, 0x65, 0x48, 0x00, - 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x5d, 0x0a, - 0x13, 0x74, 0x6c, 0x73, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x4c, 0x53, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, - 0x6b, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x11, 0x74, 0x6c, 0x73, 0x48, 0x61, - 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5a, 0x0a, 0x12, - 0x74, 0x6c, 0x73, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6f, - 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, - 0x48, 0x54, 0x54, 0x50, 0x54, 0x4c, 0x53, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, - 0x44, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x10, 0x74, 0x6c, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x73, - 0x68, 0x61, 0x6b, 0x65, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x77, 0x72, 0x6f, 0x74, - 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x72, 0x6f, 0x74, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x77, 0x72, 0x6f, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x72, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x31, - 0x30, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x61, 0x69, - 0x74, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, - 0x77, 0x61, 0x69, 0x74, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x12, - 0x4b, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x6f, 0x64, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x06, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x22, 0x6a, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x73, 0x5f, 0x69, - 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x61, 0x73, 0x49, 0x64, - 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x69, 0x64, - 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x73, 0x22, 0x1a, 0x0a, 0x18, - 0x48, 0x54, 0x54, 0x50, 0x47, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, - 0x47, 0x6f, 0x74, 0x31, 0x78, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, 0x53, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x44, 0x4e, - 0x53, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, - 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x44, 0x4e, 0x53, 0x41, 0x64, 0x64, 0x72, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, - 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0x19, 0x0a, 0x07, 0x44, 0x4e, 0x53, - 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x02, 0x69, 0x70, 0x22, 0x40, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x22, 0x51, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x48, 0x54, 0x54, - 0x50, 0x54, 0x4c, 0x53, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x48, 0x54, 0x54, 0x50, 0x54, 0x4c, 0x53, 0x48, 0x61, - 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x65, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, - 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x69, 0x70, 0x68, 0x65, - 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6e, 0x65, 0x67, 0x6f, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, - 0x22, 0x12, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, 0x65, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x57, 0x72, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x72, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, 0x57, - 0x61, 0x69, 0x74, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x22, 0x33, - 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x6f, 0x64, 0x79, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x15, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x03, 0x65, 0x72, 0x72, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x65, 0x72, 0x72, 0x22, 0x8a, 0x02, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, - 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x22, 0x3c, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, - 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x04, - 0x22, 0xd8, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x33, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x30, - 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x03, 0x64, 0x75, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x03, 0x64, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6a, 0x73, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x03, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x03, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, 0x75, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x36, - 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x36, 0x34, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x58, 0x0a, 0x0a, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x63, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x70, 0x63, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x46, 0x72, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x60, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2a, 0xb1, 0x02, 0x0a, 0x12, 0x48, 0x54, - 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, - 0x08, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x47, - 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x54, - 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, - 0x42, 0x59, 0x54, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x4f, 0x54, 0x5f, 0x31, 0x58, - 0x58, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x44, - 0x4e, 0x53, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x08, 0x12, 0x17, - 0x0a, 0x13, 0x54, 0x4c, 0x53, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x5f, 0x48, - 0x41, 0x4e, 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x0a, 0x12, - 0x11, 0x0a, 0x0d, 0x57, 0x52, 0x4f, 0x54, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, - 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x52, 0x4f, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x31, 0x30, - 0x30, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, - 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x10, 0x0e, 0x42, 0x25, 0x5a, - 0x23, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_engine_trace2_trace2_proto_rawDesc = "" + + "\n" + + "!encore/engine/trace2/trace2.proto\x12\x14encore.engine.trace2\x1a\x1fgoogle/protobuf/timestamp.proto\"\xae\x06\n" + + "\vSpanSummary\x12\x19\n" + + "\btrace_id\x18\x01 \x01(\tR\atraceId\x12\x17\n" + + "\aspan_id\x18\x02 \x01(\tR\x06spanId\x12>\n" + + "\x04type\x18\x03 \x01(\x0e2*.encore.engine.trace2.SpanSummary.SpanTypeR\x04type\x12\x17\n" + + "\ais_root\x18\x04 \x01(\bR\x06isRoot\x12\x19\n" + + "\bis_error\x18\x05 \x01(\bR\aisError\x12'\n" + + "\x0fdeployed_commit\x18\x06 \x01(\tR\x0edeployedCommit\x129\n" + + "\n" + + "started_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12%\n" + + "\x0eduration_nanos\x18\b \x01(\x04R\rdurationNanos\x12!\n" + + "\fservice_name\x18\t \x01(\tR\vserviceName\x12(\n" + + "\rendpoint_name\x18\n" + + " \x01(\tH\x00R\fendpointName\x88\x01\x01\x12\"\n" + + "\n" + + "topic_name\x18\v \x01(\tH\x01R\ttopicName\x88\x01\x01\x120\n" + + "\x11subscription_name\x18\f \x01(\tH\x02R\x10subscriptionName\x88\x01\x01\x12\"\n" + + "\n" + + "message_id\x18\r \x01(\tH\x03R\tmessageId\x88\x01\x01\x12&\n" + + "\ftest_skipped\x18\x0e \x01(\bH\x04R\vtestSkipped\x88\x01\x01\x12\x1e\n" + + "\bsrc_file\x18\x0f \x01(\tH\x05R\asrcFile\x88\x01\x01\x12\x1e\n" + + "\bsrc_line\x18\x10 \x01(\rH\x06R\asrcLine\x88\x01\x01\"L\n" + + "\bSpanType\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\v\n" + + "\aREQUEST\x10\x01\x12\b\n" + + "\x04AUTH\x10\x02\x12\x12\n" + + "\x0ePUBSUB_MESSAGE\x10\x03\x12\b\n" + + "\x04TEST\x10\x04B\x10\n" + + "\x0e_endpoint_nameB\r\n" + + "\v_topic_nameB\x14\n" + + "\x12_subscription_nameB\r\n" + + "\v_message_idB\x0f\n" + + "\r_test_skippedB\v\n" + + "\t_src_fileB\v\n" + + "\t_src_line\"/\n" + + "\aTraceID\x12\x12\n" + + "\x04high\x18\x01 \x01(\x04R\x04high\x12\x10\n" + + "\x03low\x18\x02 \x01(\x04R\x03low\"E\n" + + "\tEventList\x128\n" + + "\x06events\x18\x01 \x03(\v2 .encore.engine.trace2.TraceEventR\x06events\"\xfe\x02\n" + + "\n" + + "TraceEvent\x128\n" + + "\btrace_id\x18\x01 \x01(\v2\x1d.encore.engine.trace2.TraceIDR\atraceId\x12\x17\n" + + "\aspan_id\x18\x02 \x01(\x04R\x06spanId\x12\x19\n" + + "\bevent_id\x18\x03 \x01(\x04R\aeventId\x129\n" + + "\n" + + "event_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\teventTime\x12@\n" + + "\n" + + "span_start\x18\n" + + " \x01(\v2\x1f.encore.engine.trace2.SpanStartH\x00R\tspanStart\x12:\n" + + "\bspan_end\x18\v \x01(\v2\x1d.encore.engine.trace2.SpanEndH\x00R\aspanEnd\x12@\n" + + "\n" + + "span_event\x18\f \x01(\v2\x1f.encore.engine.trace2.SpanEventH\x00R\tspanEventB\a\n" + + "\x05event\"\x9a\x05\n" + + "\tSpanStart\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12J\n" + + "\x0fparent_trace_id\x18\x02 \x01(\v2\x1d.encore.engine.trace2.TraceIDH\x01R\rparentTraceId\x88\x01\x01\x12)\n" + + "\x0eparent_span_id\x18\x03 \x01(\x04H\x02R\fparentSpanId\x88\x01\x01\x12+\n" + + "\x0fcaller_event_id\x18\x04 \x01(\x04H\x03R\rcallerEventId\x88\x01\x01\x12;\n" + + "\x17external_correlation_id\x18\x05 \x01(\tH\x04R\x15externalCorrelationId\x88\x01\x01\x12\x1c\n" + + "\adef_loc\x18\x06 \x01(\rH\x05R\x06defLoc\x88\x01\x01\x12B\n" + + "\arequest\x18\n" + + " \x01(\v2&.encore.engine.trace2.RequestSpanStartH\x00R\arequest\x129\n" + + "\x04auth\x18\v \x01(\v2#.encore.engine.trace2.AuthSpanStartH\x00R\x04auth\x12U\n" + + "\x0epubsub_message\x18\f \x01(\v2,.encore.engine.trace2.PubsubMessageSpanStartH\x00R\rpubsubMessage\x129\n" + + "\x04test\x18\r \x01(\v2#.encore.engine.trace2.TestSpanStartH\x00R\x04testB\x06\n" + + "\x04dataB\x12\n" + + "\x10_parent_trace_idB\x11\n" + + "\x0f_parent_span_idB\x12\n" + + "\x10_caller_event_idB\x1a\n" + + "\x18_external_correlation_idB\n" + + "\n" + + "\b_def_loc\"\xf9\x04\n" + + "\aSpanEnd\x12%\n" + + "\x0eduration_nanos\x18\x01 \x01(\x04R\rdurationNanos\x126\n" + + "\x05error\x18\x02 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x01R\x05error\x88\x01\x01\x12F\n" + + "\vpanic_stack\x18\x03 \x01(\v2 .encore.engine.trace2.StackTraceH\x02R\n" + + "panicStack\x88\x01\x01\x12J\n" + + "\x0fparent_trace_id\x18\x04 \x01(\v2\x1d.encore.engine.trace2.TraceIDH\x03R\rparentTraceId\x88\x01\x01\x12)\n" + + "\x0eparent_span_id\x18\x05 \x01(\x04H\x04R\fparentSpanId\x88\x01\x01\x12@\n" + + "\arequest\x18\n" + + " \x01(\v2$.encore.engine.trace2.RequestSpanEndH\x00R\arequest\x127\n" + + "\x04auth\x18\v \x01(\v2!.encore.engine.trace2.AuthSpanEndH\x00R\x04auth\x12S\n" + + "\x0epubsub_message\x18\f \x01(\v2*.encore.engine.trace2.PubsubMessageSpanEndH\x00R\rpubsubMessage\x127\n" + + "\x04test\x18\r \x01(\v2!.encore.engine.trace2.TestSpanEndH\x00R\x04testB\x06\n" + + "\x04dataB\b\n" + + "\x06_errorB\x0e\n" + + "\f_panic_stackB\x12\n" + + "\x10_parent_trace_idB\x11\n" + + "\x0f_parent_span_id\"\x9b\x04\n" + + "\x10RequestSpanStart\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12#\n" + + "\rendpoint_name\x18\x02 \x01(\tR\fendpointName\x12\x1f\n" + + "\vhttp_method\x18\x03 \x01(\tR\n" + + "httpMethod\x12\x12\n" + + "\x04path\x18\x04 \x01(\tR\x04path\x12\x1f\n" + + "\vpath_params\x18\x05 \x03(\tR\n" + + "pathParams\x12c\n" + + "\x0frequest_headers\x18\x06 \x03(\v2:.encore.engine.trace2.RequestSpanStart.RequestHeadersEntryR\x0erequestHeaders\x12,\n" + + "\x0frequest_payload\x18\a \x01(\fH\x00R\x0erequestPayload\x88\x01\x01\x121\n" + + "\x12ext_correlation_id\x18\b \x01(\tH\x01R\x10extCorrelationId\x88\x01\x01\x12\x15\n" + + "\x03uid\x18\t \x01(\tH\x02R\x03uid\x88\x01\x01\x12\x16\n" + + "\x06mocked\x18\n" + + " \x01(\bR\x06mocked\x1aA\n" + + "\x13RequestHeadersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x12\n" + + "\x10_request_payloadB\x15\n" + + "\x13_ext_correlation_idB\x06\n" + + "\x04_uid\"\xf1\x02\n" + + "\x0eRequestSpanEnd\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12#\n" + + "\rendpoint_name\x18\x02 \x01(\tR\fendpointName\x12(\n" + + "\x10http_status_code\x18\x03 \x01(\rR\x0ehttpStatusCode\x12d\n" + + "\x10response_headers\x18\x04 \x03(\v29.encore.engine.trace2.RequestSpanEnd.ResponseHeadersEntryR\x0fresponseHeaders\x12.\n" + + "\x10response_payload\x18\x05 \x01(\fH\x00R\x0fresponsePayload\x88\x01\x01\x1aB\n" + + "\x14ResponseHeadersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x13\n" + + "\x11_response_payload\"\x90\x01\n" + + "\rAuthSpanStart\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12#\n" + + "\rendpoint_name\x18\x02 \x01(\tR\fendpointName\x12&\n" + + "\fauth_payload\x18\x03 \x01(\fH\x00R\vauthPayload\x88\x01\x01B\x0f\n" + + "\r_auth_payload\"\x97\x01\n" + + "\vAuthSpanEnd\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12#\n" + + "\rendpoint_name\x18\x02 \x01(\tR\fendpointName\x12\x10\n" + + "\x03uid\x18\x03 \x01(\tR\x03uid\x12 \n" + + "\tuser_data\x18\x04 \x01(\fH\x00R\buserData\x88\x01\x01B\f\n" + + "\n" + + "_user_data\"\xc1\x02\n" + + "\x16PubsubMessageSpanStart\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x1d\n" + + "\n" + + "topic_name\x18\x02 \x01(\tR\ttopicName\x12+\n" + + "\x11subscription_name\x18\x03 \x01(\tR\x10subscriptionName\x12\x1d\n" + + "\n" + + "message_id\x18\x04 \x01(\tR\tmessageId\x12\x18\n" + + "\aattempt\x18\x05 \x01(\rR\aattempt\x12=\n" + + "\fpublish_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vpublishTime\x12,\n" + + "\x0fmessage_payload\x18\a \x01(\fH\x00R\x0emessagePayload\x88\x01\x01B\x12\n" + + "\x10_message_payload\"\x85\x01\n" + + "\x14PubsubMessageSpanEnd\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x1d\n" + + "\n" + + "topic_name\x18\x02 \x01(\tR\ttopicName\x12+\n" + + "\x11subscription_name\x18\x03 \x01(\tR\x10subscriptionName\"\x9b\x01\n" + + "\rTestSpanStart\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x1b\n" + + "\ttest_name\x18\x02 \x01(\tR\btestName\x12\x10\n" + + "\x03uid\x18\x03 \x01(\tR\x03uid\x12\x1b\n" + + "\ttest_file\x18\x04 \x01(\tR\btestFile\x12\x1b\n" + + "\ttest_line\x18\x05 \x01(\rR\btestLine\"\x7f\n" + + "\vTestSpanEnd\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x1b\n" + + "\ttest_name\x18\x02 \x01(\tR\btestName\x12\x16\n" + + "\x06failed\x18\x03 \x01(\bR\x06failed\x12\x18\n" + + "\askipped\x18\x04 \x01(\bR\askipped\"\xe3\x13\n" + + "\tSpanEvent\x12\x12\n" + + "\x04goid\x18\x01 \x01(\rR\x04goid\x12\x1c\n" + + "\adef_loc\x18\x02 \x01(\rH\x01R\x06defLoc\x88\x01\x01\x125\n" + + "\x14correlation_event_id\x18\x03 \x01(\x04H\x02R\x12correlationEventId\x88\x01\x01\x12C\n" + + "\vlog_message\x18\n" + + " \x01(\v2 .encore.engine.trace2.LogMessageH\x00R\n" + + "logMessage\x12C\n" + + "\vbody_stream\x18\v \x01(\v2 .encore.engine.trace2.BodyStreamH\x00R\n" + + "bodyStream\x12J\n" + + "\x0erpc_call_start\x18\f \x01(\v2\".encore.engine.trace2.RPCCallStartH\x00R\frpcCallStart\x12D\n" + + "\frpc_call_end\x18\r \x01(\v2 .encore.engine.trace2.RPCCallEndH\x00R\n" + + "rpcCallEnd\x12\\\n" + + "\x14db_transaction_start\x18\x0e \x01(\v2(.encore.engine.trace2.DBTransactionStartH\x00R\x12dbTransactionStart\x12V\n" + + "\x12db_transaction_end\x18\x0f \x01(\v2&.encore.engine.trace2.DBTransactionEndH\x00R\x10dbTransactionEnd\x12J\n" + + "\x0edb_query_start\x18\x10 \x01(\v2\".encore.engine.trace2.DBQueryStartH\x00R\fdbQueryStart\x12D\n" + + "\fdb_query_end\x18\x11 \x01(\v2 .encore.engine.trace2.DBQueryEndH\x00R\n" + + "dbQueryEnd\x12M\n" + + "\x0fhttp_call_start\x18\x12 \x01(\v2#.encore.engine.trace2.HTTPCallStartH\x00R\rhttpCallStart\x12G\n" + + "\rhttp_call_end\x18\x13 \x01(\v2!.encore.engine.trace2.HTTPCallEndH\x00R\vhttpCallEnd\x12\\\n" + + "\x14pubsub_publish_start\x18\x14 \x01(\v2(.encore.engine.trace2.PubsubPublishStartH\x00R\x12pubsubPublishStart\x12V\n" + + "\x12pubsub_publish_end\x18\x15 \x01(\v2&.encore.engine.trace2.PubsubPublishEndH\x00R\x10pubsubPublishEnd\x12P\n" + + "\x10cache_call_start\x18\x16 \x01(\v2$.encore.engine.trace2.CacheCallStartH\x00R\x0ecacheCallStart\x12J\n" + + "\x0ecache_call_end\x18\x17 \x01(\v2\".encore.engine.trace2.CacheCallEndH\x00R\fcacheCallEnd\x12V\n" + + "\x12service_init_start\x18\x18 \x01(\v2&.encore.engine.trace2.ServiceInitStartH\x00R\x10serviceInitStart\x12P\n" + + "\x10service_init_end\x18\x19 \x01(\v2$.encore.engine.trace2.ServiceInitEndH\x00R\x0eserviceInitEnd\x12l\n" + + "\x1abucket_object_upload_start\x18\x1a \x01(\v2-.encore.engine.trace2.BucketObjectUploadStartH\x00R\x17bucketObjectUploadStart\x12f\n" + + "\x18bucket_object_upload_end\x18\x1b \x01(\v2+.encore.engine.trace2.BucketObjectUploadEndH\x00R\x15bucketObjectUploadEnd\x12r\n" + + "\x1cbucket_object_download_start\x18\x1c \x01(\v2/.encore.engine.trace2.BucketObjectDownloadStartH\x00R\x19bucketObjectDownloadStart\x12l\n" + + "\x1abucket_object_download_end\x18\x1d \x01(\v2-.encore.engine.trace2.BucketObjectDownloadEndH\x00R\x17bucketObjectDownloadEnd\x12s\n" + + "\x1dbucket_object_get_attrs_start\x18\x1e \x01(\v2/.encore.engine.trace2.BucketObjectGetAttrsStartH\x00R\x19bucketObjectGetAttrsStart\x12m\n" + + "\x1bbucket_object_get_attrs_end\x18\x1f \x01(\v2-.encore.engine.trace2.BucketObjectGetAttrsEndH\x00R\x17bucketObjectGetAttrsEnd\x12i\n" + + "\x19bucket_list_objects_start\x18 \x01(\v2,.encore.engine.trace2.BucketListObjectsStartH\x00R\x16bucketListObjectsStart\x12c\n" + + "\x17bucket_list_objects_end\x18! \x01(\v2*.encore.engine.trace2.BucketListObjectsEndH\x00R\x14bucketListObjectsEnd\x12o\n" + + "\x1bbucket_delete_objects_start\x18\" \x01(\v2..encore.engine.trace2.BucketDeleteObjectsStartH\x00R\x18bucketDeleteObjectsStart\x12i\n" + + "\x19bucket_delete_objects_end\x18# \x01(\v2,.encore.engine.trace2.BucketDeleteObjectsEndH\x00R\x16bucketDeleteObjectsEndB\x06\n" + + "\x04dataB\n" + + "\n" + + "\b_def_locB\x17\n" + + "\x15_correlation_event_id\"\xa8\x01\n" + + "\fRPCCallStart\x12.\n" + + "\x13target_service_name\x18\x01 \x01(\tR\x11targetServiceName\x120\n" + + "\x14target_endpoint_name\x18\x02 \x01(\tR\x12targetEndpointName\x126\n" + + "\x05stack\x18\x03 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"H\n" + + "\n" + + "RPCCallEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"\x10\n" + + "\x0eGoroutineStart\"\x0e\n" + + "\fGoroutineEnd\"L\n" + + "\x12DBTransactionStart\x126\n" + + "\x05stack\x18\x01 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"\x89\x02\n" + + "\x10DBTransactionEnd\x12U\n" + + "\n" + + "completion\x18\x01 \x01(\x0e25.encore.engine.trace2.DBTransactionEnd.CompletionTypeR\n" + + "completion\x126\n" + + "\x05stack\x18\x02 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\x122\n" + + "\x03err\x18\x03 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\"*\n" + + "\x0eCompletionType\x12\f\n" + + "\bROLLBACK\x10\x00\x12\n" + + "\n" + + "\x06COMMIT\x10\x01B\x06\n" + + "\x04_err\"\\\n" + + "\fDBQueryStart\x12\x14\n" + + "\x05query\x18\x01 \x01(\tR\x05query\x126\n" + + "\x05stack\x18\x02 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"H\n" + + "\n" + + "DBQueryEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"|\n" + + "\x12PubsubPublishStart\x12\x14\n" + + "\x05topic\x18\x01 \x01(\tR\x05topic\x12\x18\n" + + "\amessage\x18\x02 \x01(\fR\amessage\x126\n" + + "\x05stack\x18\x03 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"\x81\x01\n" + + "\x10PubsubPublishEnd\x12\"\n" + + "\n" + + "message_id\x18\x01 \x01(\tH\x00R\tmessageId\x88\x01\x01\x122\n" + + "\x03err\x18\x02 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x01R\x03err\x88\x01\x01B\r\n" + + "\v_message_idB\x06\n" + + "\x04_err\",\n" + + "\x10ServiceInitStart\x12\x18\n" + + "\aservice\x18\x01 \x01(\tR\aservice\"L\n" + + "\x0eServiceInitEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"\x90\x01\n" + + "\x0eCacheCallStart\x12\x1c\n" + + "\toperation\x18\x01 \x01(\tR\toperation\x12\x12\n" + + "\x04keys\x18\x02 \x03(\tR\x04keys\x12\x14\n" + + "\x05write\x18\x03 \x01(\bR\x05write\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"\xd4\x01\n" + + "\fCacheCallEnd\x12A\n" + + "\x06result\x18\x01 \x01(\x0e2).encore.engine.trace2.CacheCallEnd.ResultR\x06result\x122\n" + + "\x03err\x18\x02 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\"E\n" + + "\x06Result\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x06\n" + + "\x02OK\x10\x01\x12\x0f\n" + + "\vNO_SUCH_KEY\x10\x02\x12\f\n" + + "\bCONFLICT\x10\x03\x12\a\n" + + "\x03ERR\x10\x04B\x06\n" + + "\x04_err\"\xc5\x01\n" + + "\x17BucketObjectUploadStart\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" + + "\x06object\x18\x02 \x01(\tR\x06object\x12B\n" + + "\x05attrs\x18\x03 \x01(\v2,.encore.engine.trace2.BucketObjectAttributesR\x05attrs\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"\xa0\x01\n" + + "\x15BucketObjectUploadEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\x12\x17\n" + + "\x04size\x18\x02 \x01(\x04H\x01R\x04size\x88\x01\x01\x12\x1d\n" + + "\aversion\x18\x03 \x01(\tH\x02R\aversion\x88\x01\x01B\x06\n" + + "\x04_errB\a\n" + + "\x05_sizeB\n" + + "\n" + + "\b_version\"\xae\x01\n" + + "\x19BucketObjectDownloadStart\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" + + "\x06object\x18\x02 \x01(\tR\x06object\x12\x1d\n" + + "\aversion\x18\x03 \x01(\tH\x00R\aversion\x88\x01\x01\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stackB\n" + + "\n" + + "\b_version\"w\n" + + "\x17BucketObjectDownloadEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\x12\x17\n" + + "\x04size\x18\x02 \x01(\x04H\x01R\x04size\x88\x01\x01B\x06\n" + + "\x04_errB\a\n" + + "\x05_size\"\xae\x01\n" + + "\x19BucketObjectGetAttrsStart\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" + + "\x06object\x18\x02 \x01(\tR\x06object\x12\x1d\n" + + "\aversion\x18\x03 \x01(\tH\x00R\aversion\x88\x01\x01\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stackB\n" + + "\n" + + "\b_version\"\xa8\x01\n" + + "\x17BucketObjectGetAttrsEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\x12G\n" + + "\x05attrs\x18\x02 \x01(\v2,.encore.engine.trace2.BucketObjectAttributesH\x01R\x05attrs\x88\x01\x01B\x06\n" + + "\x04_errB\b\n" + + "\x06_attrs\"\x90\x01\n" + + "\x16BucketListObjectsStart\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x1b\n" + + "\x06prefix\x18\x02 \x01(\tH\x00R\x06prefix\x88\x01\x01\x126\n" + + "\x05stack\x18\x03 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stackB\t\n" + + "\a_prefix\"\x89\x01\n" + + "\x14BucketListObjectsEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01\x12\x1a\n" + + "\bobserved\x18\x02 \x01(\x04R\bobserved\x12\x19\n" + + "\bhas_more\x18\x03 \x01(\bR\ahasMoreB\x06\n" + + "\x04_err\"\xb3\x01\n" + + "\x18BucketDeleteObjectsStart\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x126\n" + + "\x05stack\x18\x02 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\x12G\n" + + "\aentries\x18\x03 \x03(\v2-.encore.engine.trace2.BucketDeleteObjectEntryR\aentries\"\\\n" + + "\x17BucketDeleteObjectEntry\x12\x16\n" + + "\x06object\x18\x01 \x01(\tR\x06object\x12\x1d\n" + + "\aversion\x18\x02 \x01(\tH\x00R\aversion\x88\x01\x01B\n" + + "\n" + + "\b_version\"T\n" + + "\x16BucketDeleteObjectsEnd\x122\n" + + "\x03err\x18\x01 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"\xc0\x01\n" + + "\x16BucketObjectAttributes\x12\x17\n" + + "\x04size\x18\x01 \x01(\x04H\x00R\x04size\x88\x01\x01\x12\x1d\n" + + "\aversion\x18\x02 \x01(\tH\x01R\aversion\x88\x01\x01\x12\x17\n" + + "\x04etag\x18\x03 \x01(\tH\x02R\x04etag\x88\x01\x01\x12&\n" + + "\fcontent_type\x18\x04 \x01(\tH\x03R\vcontentType\x88\x01\x01B\a\n" + + "\x05_sizeB\n" + + "\n" + + "\b_versionB\a\n" + + "\x05_etagB\x0f\n" + + "\r_content_type\"a\n" + + "\n" + + "BodyStream\x12\x1f\n" + + "\vis_response\x18\x01 \x01(\bR\n" + + "isResponse\x12\x1e\n" + + "\n" + + "overflowed\x18\x02 \x01(\bR\n" + + "overflowed\x12\x12\n" + + "\x04data\x18\x03 \x01(\fR\x04data\"\xd5\x01\n" + + "\rHTTPCallStart\x12;\n" + + "\x1acorrelation_parent_span_id\x18\x01 \x01(\x04R\x17correlationParentSpanId\x12\x16\n" + + "\x06method\x18\x02 \x01(\tR\x06method\x12\x10\n" + + "\x03url\x18\x03 \x01(\tR\x03url\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\x12%\n" + + "\x0estart_nanotime\x18\x05 \x01(\x03R\rstartNanotime\"\xc8\x01\n" + + "\vHTTPCallEnd\x12$\n" + + "\vstatus_code\x18\x01 \x01(\rH\x00R\n" + + "statusCode\x88\x01\x01\x122\n" + + "\x03err\x18\x02 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x01R\x03err\x88\x01\x01\x12G\n" + + "\ftrace_events\x18\x03 \x03(\v2$.encore.engine.trace2.HTTPTraceEventR\vtraceEventsB\x0e\n" + + "\f_status_codeB\x06\n" + + "\x04_err\"\x90\t\n" + + "\x0eHTTPTraceEvent\x12\x1a\n" + + "\bnanotime\x18\x01 \x01(\x03R\bnanotime\x12>\n" + + "\bget_conn\x18\x02 \x01(\v2!.encore.engine.trace2.HTTPGetConnH\x00R\agetConn\x12>\n" + + "\bgot_conn\x18\x03 \x01(\v2!.encore.engine.trace2.HTTPGotConnH\x00R\agotConn\x12g\n" + + "\x17got_first_response_byte\x18\x04 \x01(\v2..encore.engine.trace2.HTTPGotFirstResponseByteH\x00R\x14gotFirstResponseByte\x12T\n" + + "\x10got_1xx_response\x18\x05 \x01(\v2(.encore.engine.trace2.HTTPGot1xxResponseH\x00R\x0egot1xxResponse\x12A\n" + + "\tdns_start\x18\x06 \x01(\v2\".encore.engine.trace2.HTTPDNSStartH\x00R\bdnsStart\x12>\n" + + "\bdns_done\x18\a \x01(\v2!.encore.engine.trace2.HTTPDNSDoneH\x00R\adnsDone\x12M\n" + + "\rconnect_start\x18\b \x01(\v2&.encore.engine.trace2.HTTPConnectStartH\x00R\fconnectStart\x12J\n" + + "\fconnect_done\x18\t \x01(\v2%.encore.engine.trace2.HTTPConnectDoneH\x00R\vconnectDone\x12]\n" + + "\x13tls_handshake_start\x18\n" + + " \x01(\v2+.encore.engine.trace2.HTTPTLSHandshakeStartH\x00R\x11tlsHandshakeStart\x12Z\n" + + "\x12tls_handshake_done\x18\v \x01(\v2*.encore.engine.trace2.HTTPTLSHandshakeDoneH\x00R\x10tlsHandshakeDone\x12M\n" + + "\rwrote_headers\x18\f \x01(\v2&.encore.engine.trace2.HTTPWroteHeadersH\x00R\fwroteHeaders\x12M\n" + + "\rwrote_request\x18\r \x01(\v2&.encore.engine.trace2.HTTPWroteRequestH\x00R\fwroteRequest\x12W\n" + + "\x11wait_100_continue\x18\x0e \x01(\v2).encore.engine.trace2.HTTPWait100ContinueH\x00R\x0fwait100Continue\x12K\n" + + "\vclosed_body\x18\x0f \x01(\v2(.encore.engine.trace2.HTTPClosedBodyDataH\x00R\n" + + "closedBodyB\x06\n" + + "\x04data\"*\n" + + "\vHTTPGetConn\x12\x1b\n" + + "\thost_port\x18\x01 \x01(\tR\bhostPort\"j\n" + + "\vHTTPGotConn\x12\x16\n" + + "\x06reused\x18\x01 \x01(\bR\x06reused\x12\x19\n" + + "\bwas_idle\x18\x02 \x01(\bR\awasIdle\x12(\n" + + "\x10idle_duration_ns\x18\x03 \x01(\x03R\x0eidleDurationNs\"\x1a\n" + + "\x18HTTPGotFirstResponseByte\"(\n" + + "\x12HTTPGot1xxResponse\x12\x12\n" + + "\x04code\x18\x01 \x01(\x05R\x04code\"\"\n" + + "\fHTTPDNSStart\x12\x12\n" + + "\x04host\x18\x01 \x01(\tR\x04host\"a\n" + + "\vHTTPDNSDone\x12\x15\n" + + "\x03err\x18\x01 \x01(\fH\x00R\x03err\x88\x01\x01\x123\n" + + "\x05addrs\x18\x02 \x03(\v2\x1d.encore.engine.trace2.DNSAddrR\x05addrsB\x06\n" + + "\x04_err\"\x19\n" + + "\aDNSAddr\x12\x0e\n" + + "\x02ip\x18\x01 \x01(\fR\x02ip\"@\n" + + "\x10HTTPConnectStart\x12\x18\n" + + "\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" + + "\x04addr\x18\x02 \x01(\tR\x04addr\"Q\n" + + "\x0fHTTPConnectDone\x12\x18\n" + + "\anetwork\x18\x01 \x01(\tR\anetwork\x12\x12\n" + + "\x04addr\x18\x02 \x01(\tR\x04addr\x12\x10\n" + + "\x03err\x18\x03 \x01(\fR\x03err\"\x17\n" + + "\x15HTTPTLSHandshakeStart\"\xcb\x01\n" + + "\x14HTTPTLSHandshakeDone\x12\x15\n" + + "\x03err\x18\x01 \x01(\fH\x00R\x03err\x88\x01\x01\x12\x1f\n" + + "\vtls_version\x18\x02 \x01(\rR\n" + + "tlsVersion\x12!\n" + + "\fcipher_suite\x18\x03 \x01(\rR\vcipherSuite\x12\x1f\n" + + "\vserver_name\x18\x04 \x01(\tR\n" + + "serverName\x12/\n" + + "\x13negotiated_protocol\x18\x05 \x01(\tR\x12negotiatedProtocolB\x06\n" + + "\x04_err\"\x12\n" + + "\x10HTTPWroteHeaders\"1\n" + + "\x10HTTPWroteRequest\x12\x15\n" + + "\x03err\x18\x01 \x01(\fH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"\x15\n" + + "\x13HTTPWait100Continue\"3\n" + + "\x12HTTPClosedBodyData\x12\x15\n" + + "\x03err\x18\x01 \x01(\fH\x00R\x03err\x88\x01\x01B\x06\n" + + "\x04_err\"\x8a\x02\n" + + "\n" + + "LogMessage\x12<\n" + + "\x05level\x18\x01 \x01(\x0e2&.encore.engine.trace2.LogMessage.LevelR\x05level\x12\x10\n" + + "\x03msg\x18\x02 \x01(\tR\x03msg\x126\n" + + "\x06fields\x18\x03 \x03(\v2\x1e.encore.engine.trace2.LogFieldR\x06fields\x126\n" + + "\x05stack\x18\x04 \x01(\v2 .encore.engine.trace2.StackTraceR\x05stack\"<\n" + + "\x05Level\x12\t\n" + + "\x05DEBUG\x10\x00\x12\b\n" + + "\x04INFO\x10\x01\x12\t\n" + + "\x05ERROR\x10\x02\x12\b\n" + + "\x04WARN\x10\x03\x12\t\n" + + "\x05TRACE\x10\x04\"\xd8\x02\n" + + "\bLogField\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x123\n" + + "\x05error\x18\x02 \x01(\v2\x1b.encore.engine.trace2.ErrorH\x00R\x05error\x12\x12\n" + + "\x03str\x18\x03 \x01(\tH\x00R\x03str\x12\x14\n" + + "\x04bool\x18\x04 \x01(\bH\x00R\x04bool\x120\n" + + "\x04time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x04time\x12\x12\n" + + "\x03dur\x18\x06 \x01(\x03H\x00R\x03dur\x12\x14\n" + + "\x04uuid\x18\a \x01(\fH\x00R\x04uuid\x12\x14\n" + + "\x04json\x18\b \x01(\fH\x00R\x04json\x12\x12\n" + + "\x03int\x18\t \x01(\x03H\x00R\x03int\x12\x14\n" + + "\x04uint\x18\n" + + " \x01(\x04H\x00R\x04uint\x12\x1a\n" + + "\afloat32\x18\v \x01(\x02H\x00R\afloat32\x12\x1a\n" + + "\afloat64\x18\f \x01(\x01H\x00R\afloat64B\a\n" + + "\x05value\"X\n" + + "\n" + + "StackTrace\x12\x10\n" + + "\x03pcs\x18\x01 \x03(\x03R\x03pcs\x128\n" + + "\x06frames\x18\x02 \x03(\v2 .encore.engine.trace2.StackFrameR\x06frames\"P\n" + + "\n" + + "StackFrame\x12\x1a\n" + + "\bfilename\x18\x01 \x01(\tR\bfilename\x12\x12\n" + + "\x04func\x18\x02 \x01(\tR\x04func\x12\x12\n" + + "\x04line\x18\x03 \x01(\x05R\x04line\"`\n" + + "\x05Error\x12\x10\n" + + "\x03msg\x18\x01 \x01(\tR\x03msg\x12;\n" + + "\x05stack\x18\x02 \x01(\v2 .encore.engine.trace2.StackTraceH\x00R\x05stack\x88\x01\x01B\b\n" + + "\x06_stack*\xb1\x02\n" + + "\x12HTTPTraceEventCode\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\f\n" + + "\bGET_CONN\x10\x01\x12\f\n" + + "\bGOT_CONN\x10\x02\x12\x1b\n" + + "\x17GOT_FIRST_RESPONSE_BYTE\x10\x03\x12\x14\n" + + "\x10GOT_1XX_RESPONSE\x10\x04\x12\r\n" + + "\tDNS_START\x10\x05\x12\f\n" + + "\bDNS_DONE\x10\x06\x12\x11\n" + + "\rCONNECT_START\x10\a\x12\x10\n" + + "\fCONNECT_DONE\x10\b\x12\x17\n" + + "\x13TLS_HANDSHAKE_START\x10\t\x12\x16\n" + + "\x12TLS_HANDSHAKE_DONE\x10\n" + + "\x12\x11\n" + + "\rWROTE_HEADERS\x10\v\x12\x11\n" + + "\rWROTE_REQUEST\x10\f\x12\x15\n" + + "\x11WAIT_100_CONTINUE\x10\r\x12\x0f\n" + + "\vCLOSED_BODY\x10\x0eB%Z#encr.dev/proto/encore/engine/trace2b\x06proto3" var ( file_encore_engine_trace2_trace2_proto_rawDescOnce sync.Once - file_encore_engine_trace2_trace2_proto_rawDescData = file_encore_engine_trace2_trace2_proto_rawDesc + file_encore_engine_trace2_trace2_proto_rawDescData []byte ) func file_encore_engine_trace2_trace2_proto_rawDescGZIP() []byte { file_encore_engine_trace2_trace2_proto_rawDescOnce.Do(func() { - file_encore_engine_trace2_trace2_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_engine_trace2_trace2_proto_rawDescData) + file_encore_engine_trace2_trace2_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_engine_trace2_trace2_proto_rawDesc), len(file_encore_engine_trace2_trace2_proto_rawDesc))) }) return file_encore_engine_trace2_trace2_proto_rawDescData } var file_encore_engine_trace2_trace2_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_encore_engine_trace2_trace2_proto_msgTypes = make([]protoimpl.MessageInfo, 67) -var file_encore_engine_trace2_trace2_proto_goTypes = []interface{}{ +var file_encore_engine_trace2_trace2_proto_goTypes = []any{ (HTTPTraceEventCode)(0), // 0: encore.engine.trace2.HTTPTraceEventCode (SpanSummary_SpanType)(0), // 1: encore.engine.trace2.SpanSummary.SpanType (DBTransactionEnd_CompletionType)(0), // 2: encore.engine.trace2.DBTransactionEnd.CompletionType @@ -6385,812 +5884,30 @@ func file_encore_engine_trace2_trace2_proto_init() { if File_encore_engine_trace2_trace2_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_engine_trace2_trace2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpanSummary); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TraceID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TraceEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpanStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpanEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestSpanStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestSpanEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthSpanStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthSpanEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubMessageSpanStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubMessageSpanEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestSpanStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestSpanEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpanEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCCallStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCCallEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GoroutineStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GoroutineEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBTransactionStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBTransactionEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBQueryStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBQueryEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubPublishStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubPublishEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceInitStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceInitEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheCallStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheCallEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectUploadStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectUploadEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectDownloadStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectDownloadEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectGetAttrsStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectGetAttrsEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketListObjectsStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketListObjectsEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketDeleteObjectsStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketDeleteObjectEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketDeleteObjectsEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketObjectAttributes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BodyStream); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPCallStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPCallEnd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPTraceEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGetConn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGotConn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGotFirstResponseByte); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPGot1XxResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPDNSStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPDNSDone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSAddr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPConnectStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPConnectDone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPTLSHandshakeStart); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPTLSHandshakeDone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPWroteHeaders); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPWroteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPWait100Continue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPClosedBodyData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogField); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StackTrace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StackFrame); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_engine_trace2_trace2_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[0].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[3].OneofWrappers = []any{ (*TraceEvent_SpanStart)(nil), (*TraceEvent_SpanEnd)(nil), (*TraceEvent_SpanEvent)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[4].OneofWrappers = []any{ (*SpanStart_Request)(nil), (*SpanStart_Auth)(nil), (*SpanStart_PubsubMessage)(nil), (*SpanStart_Test)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[5].OneofWrappers = []any{ (*SpanEnd_Request)(nil), (*SpanEnd_Auth)(nil), (*SpanEnd_PubsubMessage)(nil), (*SpanEnd_Test)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[6].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[7].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[8].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[9].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[10].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[14].OneofWrappers = []any{ (*SpanEvent_LogMessage)(nil), (*SpanEvent_BodyStream)(nil), (*SpanEvent_RpcCallStart)(nil), @@ -7218,24 +5935,24 @@ func file_encore_engine_trace2_trace2_proto_init() { (*SpanEvent_BucketDeleteObjectsStart)(nil), (*SpanEvent_BucketDeleteObjectsEnd)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[16].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[26].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[30].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[32].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[33].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[34].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[35].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[36].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[38].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[39].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[40].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[43].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[44].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[16].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[20].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[22].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[24].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[26].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[28].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[30].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[31].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[32].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[33].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[34].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[35].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[36].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[38].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[39].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[40].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[43].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[44].OneofWrappers = []any{ (*HTTPTraceEvent_GetConn)(nil), (*HTTPTraceEvent_GotConn)(nil), (*HTTPTraceEvent_GotFirstResponseByte)(nil), @@ -7251,11 +5968,11 @@ func file_encore_engine_trace2_trace2_proto_init() { (*HTTPTraceEvent_Wait_100Continue)(nil), (*HTTPTraceEvent_ClosedBody)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[50].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[55].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[57].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[59].OneofWrappers = []interface{}{} - file_encore_engine_trace2_trace2_proto_msgTypes[61].OneofWrappers = []interface{}{ + file_encore_engine_trace2_trace2_proto_msgTypes[50].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[55].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[57].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[59].OneofWrappers = []any{} + file_encore_engine_trace2_trace2_proto_msgTypes[61].OneofWrappers = []any{ (*LogField_Error)(nil), (*LogField_Str)(nil), (*LogField_Bool)(nil), @@ -7268,12 +5985,12 @@ func file_encore_engine_trace2_trace2_proto_init() { (*LogField_Float32)(nil), (*LogField_Float64)(nil), } - file_encore_engine_trace2_trace2_proto_msgTypes[64].OneofWrappers = []interface{}{} + file_encore_engine_trace2_trace2_proto_msgTypes[64].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_engine_trace2_trace2_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_engine_trace2_trace2_proto_rawDesc), len(file_encore_engine_trace2_trace2_proto_rawDesc)), NumEnums: 5, NumMessages: 67, NumExtensions: 0, @@ -7285,7 +6002,6 @@ func file_encore_engine_trace2_trace2_proto_init() { MessageInfos: file_encore_engine_trace2_trace2_proto_msgTypes, }.Build() File_encore_engine_trace2_trace2_proto = out.File - file_encore_engine_trace2_trace2_proto_rawDesc = nil file_encore_engine_trace2_trace2_proto_goTypes = nil file_encore_engine_trace2_trace2_proto_depIdxs = nil } diff --git a/proto/encore/parser/meta/v1/meta.pb.go b/proto/encore/parser/meta/v1/meta.pb.go index 988eebc42f..86faead9dd 100644 --- a/proto/encore/parser/meta/v1/meta.pb.go +++ b/proto/encore/parser/meta/v1/meta.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/parser/meta/v1/meta.proto package v1 @@ -12,6 +12,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -616,36 +617,33 @@ func (Metric_MetricKind) EnumDescriptor() ([]byte, []int) { // Data is the metadata associated with an app version. type Data struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ModulePath string `protobuf:"bytes,1,opt,name=module_path,json=modulePath,proto3" json:"module_path,omitempty"` // app module path - AppRevision string `protobuf:"bytes,2,opt,name=app_revision,json=appRevision,proto3" json:"app_revision,omitempty"` // app revision (always the VCS revision reference) - UncommittedChanges bool `protobuf:"varint,8,opt,name=uncommitted_changes,json=uncommittedChanges,proto3" json:"uncommitted_changes,omitempty"` // true if there where changes made on-top of the VCS revision - Decls []*v1.Decl `protobuf:"bytes,3,rep,name=decls,proto3" json:"decls,omitempty"` - Pkgs []*Package `protobuf:"bytes,4,rep,name=pkgs,proto3" json:"pkgs,omitempty"` - Svcs []*Service `protobuf:"bytes,5,rep,name=svcs,proto3" json:"svcs,omitempty"` - AuthHandler *AuthHandler `protobuf:"bytes,6,opt,name=auth_handler,json=authHandler,proto3,oneof" json:"auth_handler,omitempty"` // the auth handler or nil - CronJobs []*CronJob `protobuf:"bytes,7,rep,name=cron_jobs,json=cronJobs,proto3" json:"cron_jobs,omitempty"` - PubsubTopics []*PubSubTopic `protobuf:"bytes,9,rep,name=pubsub_topics,json=pubsubTopics,proto3" json:"pubsub_topics,omitempty"` // All the pub sub topics declared in the application - Middleware []*Middleware `protobuf:"bytes,10,rep,name=middleware,proto3" json:"middleware,omitempty"` - CacheClusters []*CacheCluster `protobuf:"bytes,11,rep,name=cache_clusters,json=cacheClusters,proto3" json:"cache_clusters,omitempty"` - Experiments []string `protobuf:"bytes,12,rep,name=experiments,proto3" json:"experiments,omitempty"` - Metrics []*Metric `protobuf:"bytes,13,rep,name=metrics,proto3" json:"metrics,omitempty"` - SqlDatabases []*SQLDatabase `protobuf:"bytes,14,rep,name=sql_databases,json=sqlDatabases,proto3" json:"sql_databases,omitempty"` - Gateways []*Gateway `protobuf:"bytes,15,rep,name=gateways,proto3" json:"gateways,omitempty"` - Language Lang `protobuf:"varint,16,opt,name=language,proto3,enum=encore.parser.meta.v1.Lang" json:"language,omitempty"` - Buckets []*Bucket `protobuf:"bytes,17,rep,name=buckets,proto3" json:"buckets,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ModulePath string `protobuf:"bytes,1,opt,name=module_path,json=modulePath,proto3" json:"module_path,omitempty"` // app module path + AppRevision string `protobuf:"bytes,2,opt,name=app_revision,json=appRevision,proto3" json:"app_revision,omitempty"` // app revision (always the VCS revision reference) + UncommittedChanges bool `protobuf:"varint,8,opt,name=uncommitted_changes,json=uncommittedChanges,proto3" json:"uncommitted_changes,omitempty"` // true if there where changes made on-top of the VCS revision + Decls []*v1.Decl `protobuf:"bytes,3,rep,name=decls,proto3" json:"decls,omitempty"` + Pkgs []*Package `protobuf:"bytes,4,rep,name=pkgs,proto3" json:"pkgs,omitempty"` + Svcs []*Service `protobuf:"bytes,5,rep,name=svcs,proto3" json:"svcs,omitempty"` + AuthHandler *AuthHandler `protobuf:"bytes,6,opt,name=auth_handler,json=authHandler,proto3,oneof" json:"auth_handler,omitempty"` // the auth handler or nil + CronJobs []*CronJob `protobuf:"bytes,7,rep,name=cron_jobs,json=cronJobs,proto3" json:"cron_jobs,omitempty"` + PubsubTopics []*PubSubTopic `protobuf:"bytes,9,rep,name=pubsub_topics,json=pubsubTopics,proto3" json:"pubsub_topics,omitempty"` // All the pub sub topics declared in the application + Middleware []*Middleware `protobuf:"bytes,10,rep,name=middleware,proto3" json:"middleware,omitempty"` + CacheClusters []*CacheCluster `protobuf:"bytes,11,rep,name=cache_clusters,json=cacheClusters,proto3" json:"cache_clusters,omitempty"` + Experiments []string `protobuf:"bytes,12,rep,name=experiments,proto3" json:"experiments,omitempty"` + Metrics []*Metric `protobuf:"bytes,13,rep,name=metrics,proto3" json:"metrics,omitempty"` + SqlDatabases []*SQLDatabase `protobuf:"bytes,14,rep,name=sql_databases,json=sqlDatabases,proto3" json:"sql_databases,omitempty"` + Gateways []*Gateway `protobuf:"bytes,15,rep,name=gateways,proto3" json:"gateways,omitempty"` + Language Lang `protobuf:"varint,16,opt,name=language,proto3,enum=encore.parser.meta.v1.Lang" json:"language,omitempty"` + Buckets []*Bucket `protobuf:"bytes,17,rep,name=buckets,proto3" json:"buckets,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Data) Reset() { *x = Data{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Data) String() string { @@ -656,7 +654,7 @@ func (*Data) ProtoMessage() {} func (x *Data) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -794,21 +792,18 @@ func (x *Data) GetBuckets() []*Bucket { // It is never an unqualified name, even in circumstances // where a package may refer to its own objects. type QualifiedName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Pkg string `protobuf:"bytes,1,opt,name=pkg,proto3" json:"pkg,omitempty"` // "rel/path/to/pkg" + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // ObjectName unknownFields protoimpl.UnknownFields - - Pkg string `protobuf:"bytes,1,opt,name=pkg,proto3" json:"pkg,omitempty"` // "rel/path/to/pkg" - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // ObjectName + sizeCache protoimpl.SizeCache } func (x *QualifiedName) Reset() { *x = QualifiedName{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QualifiedName) String() string { @@ -819,7 +814,7 @@ func (*QualifiedName) ProtoMessage() {} func (x *QualifiedName) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -849,26 +844,23 @@ func (x *QualifiedName) GetName() string { } type Package struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + RelPath string `protobuf:"bytes,1,opt,name=rel_path,json=relPath,proto3" json:"rel_path,omitempty"` // import path relative to app root ("." for the app root itself) + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // package name as declared in Go files + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // associated documentation + ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // service name this package is a part of, if any + Secrets []string `protobuf:"bytes,5,rep,name=secrets,proto3" json:"secrets,omitempty"` // secrets required by this package + RpcCalls []*QualifiedName `protobuf:"bytes,6,rep,name=rpc_calls,json=rpcCalls,proto3" json:"rpc_calls,omitempty"` // RPCs called by the package + TraceNodes []*TraceNode `protobuf:"bytes,7,rep,name=trace_nodes,json=traceNodes,proto3" json:"trace_nodes,omitempty"` unknownFields protoimpl.UnknownFields - - RelPath string `protobuf:"bytes,1,opt,name=rel_path,json=relPath,proto3" json:"rel_path,omitempty"` // import path relative to app root ("." for the app root itself) - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // package name as declared in Go files - Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // associated documentation - ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // service name this package is a part of, if any - Secrets []string `protobuf:"bytes,5,rep,name=secrets,proto3" json:"secrets,omitempty"` // secrets required by this package - RpcCalls []*QualifiedName `protobuf:"bytes,6,rep,name=rpc_calls,json=rpcCalls,proto3" json:"rpc_calls,omitempty"` // RPCs called by the package - TraceNodes []*TraceNode `protobuf:"bytes,7,rep,name=trace_nodes,json=traceNodes,proto3" json:"trace_nodes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Package) Reset() { *x = Package{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Package) String() string { @@ -879,7 +871,7 @@ func (*Package) ProtoMessage() {} func (x *Package) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -944,26 +936,23 @@ func (x *Package) GetTraceNodes() []*TraceNode { } type Service struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + RelPath string `protobuf:"bytes,2,opt,name=rel_path,json=relPath,proto3" json:"rel_path,omitempty"` // import path relative to app root for the root package in the service + Rpcs []*RPC `protobuf:"bytes,3,rep,name=rpcs,proto3" json:"rpcs,omitempty"` + Migrations []*DBMigration `protobuf:"bytes,4,rep,name=migrations,proto3" json:"migrations,omitempty"` + Databases []string `protobuf:"bytes,5,rep,name=databases,proto3" json:"databases,omitempty"` // databases this service connects to + HasConfig bool `protobuf:"varint,6,opt,name=has_config,json=hasConfig,proto3" json:"has_config,omitempty"` // true if the service has uses config + Buckets []*BucketUsage `protobuf:"bytes,7,rep,name=buckets,proto3" json:"buckets,omitempty"` // buckets this service uses unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - RelPath string `protobuf:"bytes,2,opt,name=rel_path,json=relPath,proto3" json:"rel_path,omitempty"` // import path relative to app root for the root package in the service - Rpcs []*RPC `protobuf:"bytes,3,rep,name=rpcs,proto3" json:"rpcs,omitempty"` - Migrations []*DBMigration `protobuf:"bytes,4,rep,name=migrations,proto3" json:"migrations,omitempty"` - Databases []string `protobuf:"bytes,5,rep,name=databases,proto3" json:"databases,omitempty"` // databases this service connects to - HasConfig bool `protobuf:"varint,6,opt,name=has_config,json=hasConfig,proto3" json:"has_config,omitempty"` // true if the service has uses config - Buckets []*BucketUsage `protobuf:"bytes,7,rep,name=buckets,proto3" json:"buckets,omitempty"` // buckets this service uses + sizeCache protoimpl.SizeCache } func (x *Service) Reset() { *x = Service{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Service) String() string { @@ -974,7 +963,7 @@ func (*Service) ProtoMessage() {} func (x *Service) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1039,23 +1028,20 @@ func (x *Service) GetBuckets() []*BucketUsage { } type BucketUsage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The encore name of the bucket. Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` // Recorded operations. - Operations []BucketUsage_Operation `protobuf:"varint,2,rep,packed,name=operations,proto3,enum=encore.parser.meta.v1.BucketUsage_Operation" json:"operations,omitempty"` + Operations []BucketUsage_Operation `protobuf:"varint,2,rep,packed,name=operations,proto3,enum=encore.parser.meta.v1.BucketUsage_Operation" json:"operations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BucketUsage) Reset() { *x = BucketUsage{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketUsage) String() string { @@ -1066,7 +1052,7 @@ func (*BucketUsage) ProtoMessage() {} func (x *BucketUsage) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1096,21 +1082,18 @@ func (x *BucketUsage) GetOperations() []BucketUsage_Operation { } type Selector struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Type Selector_Type `protobuf:"varint,1,opt,name=type,proto3,enum=encore.parser.meta.v1.Selector_Type" json:"type,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Type Selector_Type `protobuf:"varint,1,opt,name=type,proto3,enum=encore.parser.meta.v1.Selector_Type" json:"type,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Selector) Reset() { *x = Selector{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Selector) String() string { @@ -1121,7 +1104,7 @@ func (*Selector) ProtoMessage() {} func (x *Selector) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1151,28 +1134,25 @@ func (x *Selector) GetValue() string { } type RPC struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // name of the RPC endpoint - Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` // associated documentation - ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // the service the RPC belongs to. - AccessType RPC_AccessType `protobuf:"varint,4,opt,name=access_type,json=accessType,proto3,enum=encore.parser.meta.v1.RPC_AccessType" json:"access_type,omitempty"` // how can the RPC be accessed? - RequestSchema *v1.Type `protobuf:"bytes,5,opt,name=request_schema,json=requestSchema,proto3,oneof" json:"request_schema,omitempty"` // request schema, or nil - ResponseSchema *v1.Type `protobuf:"bytes,6,opt,name=response_schema,json=responseSchema,proto3,oneof" json:"response_schema,omitempty"` // response schema, or nil - Proto RPC_Protocol `protobuf:"varint,7,opt,name=proto,proto3,enum=encore.parser.meta.v1.RPC_Protocol" json:"proto,omitempty"` - Loc *v1.Loc `protobuf:"bytes,8,opt,name=loc,proto3" json:"loc,omitempty"` - Path *Path `protobuf:"bytes,9,opt,name=path,proto3" json:"path,omitempty"` - HttpMethods []string `protobuf:"bytes,10,rep,name=http_methods,json=httpMethods,proto3" json:"http_methods,omitempty"` - Tags []*Selector `protobuf:"bytes,11,rep,name=tags,proto3" json:"tags,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // name of the RPC endpoint + Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` // associated documentation + ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // the service the RPC belongs to. + AccessType RPC_AccessType `protobuf:"varint,4,opt,name=access_type,json=accessType,proto3,enum=encore.parser.meta.v1.RPC_AccessType" json:"access_type,omitempty"` // how can the RPC be accessed? + RequestSchema *v1.Type `protobuf:"bytes,5,opt,name=request_schema,json=requestSchema,proto3,oneof" json:"request_schema,omitempty"` // request schema, or nil + ResponseSchema *v1.Type `protobuf:"bytes,6,opt,name=response_schema,json=responseSchema,proto3,oneof" json:"response_schema,omitempty"` // response schema, or nil + Proto RPC_Protocol `protobuf:"varint,7,opt,name=proto,proto3,enum=encore.parser.meta.v1.RPC_Protocol" json:"proto,omitempty"` + Loc *v1.Loc `protobuf:"bytes,8,opt,name=loc,proto3" json:"loc,omitempty"` + Path *Path `protobuf:"bytes,9,opt,name=path,proto3" json:"path,omitempty"` + HttpMethods []string `protobuf:"bytes,10,rep,name=http_methods,json=httpMethods,proto3" json:"http_methods,omitempty"` + Tags []*Selector `protobuf:"bytes,11,rep,name=tags,proto3" json:"tags,omitempty"` // sensitive reports whether the whole payload is sensitive. // If true, none of the request/response payload will be traced. Sensitive bool `protobuf:"varint,12,opt,name=sensitive,proto3" json:"sensitive,omitempty"` // Whether the endpoint can be called without auth parameters. AllowUnauthenticated bool `protobuf:"varint,13,opt,name=allow_unauthenticated,json=allowUnauthenticated,proto3" json:"allow_unauthenticated,omitempty"` // Whether the endpoint is exposed to the public, keyed by gateway. - Expose map[string]*RPC_ExposeOptions `protobuf:"bytes,14,rep,name=expose,proto3" json:"expose,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Expose map[string]*RPC_ExposeOptions `protobuf:"bytes,14,rep,name=expose,proto3" json:"expose,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // The maximum size of the request body in bytes. // If not set, defaults to no limit. BodyLimit *uint64 `protobuf:"varint,15,opt,name=body_limit,json=bodyLimit,proto3,oneof" json:"body_limit,omitempty"` @@ -1181,16 +1161,16 @@ type RPC struct { StreamingResponse bool `protobuf:"varint,17,opt,name=streaming_response,json=streamingResponse,proto3" json:"streaming_response,omitempty"` HandshakeSchema *v1.Type `protobuf:"bytes,18,opt,name=handshake_schema,json=handshakeSchema,proto3,oneof" json:"handshake_schema,omitempty"` // handshake schema, or nil // If the endpoint serves static assets. - StaticAssets *RPC_StaticAssets `protobuf:"bytes,19,opt,name=static_assets,json=staticAssets,proto3,oneof" json:"static_assets,omitempty"` + StaticAssets *RPC_StaticAssets `protobuf:"bytes,19,opt,name=static_assets,json=staticAssets,proto3,oneof" json:"static_assets,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RPC) Reset() { *x = RPC{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPC) String() string { @@ -1201,7 +1181,7 @@ func (*RPC) ProtoMessage() {} func (x *RPC) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1350,27 +1330,24 @@ func (x *RPC) GetStaticAssets() *RPC_StaticAssets { } type AuthHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Doc string `protobuf:"bytes,2,opt,name=doc,proto3" json:"doc,omitempty"` + PkgPath string `protobuf:"bytes,3,opt,name=pkg_path,json=pkgPath,proto3" json:"pkg_path,omitempty"` // package (service) import path + PkgName string `protobuf:"bytes,4,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` // package (service) name + Loc *v1.Loc `protobuf:"bytes,5,opt,name=loc,proto3" json:"loc,omitempty"` + AuthData *v1.Type `protobuf:"bytes,6,opt,name=auth_data,json=authData,proto3,oneof" json:"auth_data,omitempty"` // custom auth data, or nil + Params *v1.Type `protobuf:"bytes,7,opt,name=params,proto3,oneof" json:"params,omitempty"` // builtin string or named type + ServiceName string `protobuf:"bytes,8,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Doc string `protobuf:"bytes,2,opt,name=doc,proto3" json:"doc,omitempty"` - PkgPath string `protobuf:"bytes,3,opt,name=pkg_path,json=pkgPath,proto3" json:"pkg_path,omitempty"` // package (service) import path - PkgName string `protobuf:"bytes,4,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` // package (service) name - Loc *v1.Loc `protobuf:"bytes,5,opt,name=loc,proto3" json:"loc,omitempty"` - AuthData *v1.Type `protobuf:"bytes,6,opt,name=auth_data,json=authData,proto3,oneof" json:"auth_data,omitempty"` // custom auth data, or nil - Params *v1.Type `protobuf:"bytes,7,opt,name=params,proto3,oneof" json:"params,omitempty"` // builtin string or named type - ServiceName string `protobuf:"bytes,8,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AuthHandler) Reset() { *x = AuthHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthHandler) String() string { @@ -1381,7 +1358,7 @@ func (*AuthHandler) ProtoMessage() {} func (x *AuthHandler) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1453,25 +1430,22 @@ func (x *AuthHandler) GetServiceName() string { } type Middleware struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name *QualifiedName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Doc string `protobuf:"bytes,2,opt,name=doc,proto3" json:"doc,omitempty"` + Loc *v1.Loc `protobuf:"bytes,3,opt,name=loc,proto3" json:"loc,omitempty"` + Global bool `protobuf:"varint,4,opt,name=global,proto3" json:"global,omitempty"` + ServiceName *string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3,oneof" json:"service_name,omitempty"` // nil if global + Target []*Selector `protobuf:"bytes,6,rep,name=target,proto3" json:"target,omitempty"` unknownFields protoimpl.UnknownFields - - Name *QualifiedName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Doc string `protobuf:"bytes,2,opt,name=doc,proto3" json:"doc,omitempty"` - Loc *v1.Loc `protobuf:"bytes,3,opt,name=loc,proto3" json:"loc,omitempty"` - Global bool `protobuf:"varint,4,opt,name=global,proto3" json:"global,omitempty"` - ServiceName *string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3,oneof" json:"service_name,omitempty"` // nil if global - Target []*Selector `protobuf:"bytes,6,rep,name=target,proto3" json:"target,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Middleware) Reset() { *x = Middleware{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Middleware) String() string { @@ -1482,7 +1456,7 @@ func (*Middleware) ProtoMessage() {} func (x *Middleware) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1540,19 +1514,16 @@ func (x *Middleware) GetTarget() []*Selector { } type TraceNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Filepath string `protobuf:"bytes,2,opt,name=filepath,proto3" json:"filepath,omitempty"` // slash-separated, relative to app root - StartPos int32 `protobuf:"varint,4,opt,name=start_pos,json=startPos,proto3" json:"start_pos,omitempty"` - EndPos int32 `protobuf:"varint,5,opt,name=end_pos,json=endPos,proto3" json:"end_pos,omitempty"` - SrcLineStart int32 `protobuf:"varint,6,opt,name=src_line_start,json=srcLineStart,proto3" json:"src_line_start,omitempty"` - SrcLineEnd int32 `protobuf:"varint,7,opt,name=src_line_end,json=srcLineEnd,proto3" json:"src_line_end,omitempty"` - SrcColStart int32 `protobuf:"varint,8,opt,name=src_col_start,json=srcColStart,proto3" json:"src_col_start,omitempty"` - SrcColEnd int32 `protobuf:"varint,9,opt,name=src_col_end,json=srcColEnd,proto3" json:"src_col_end,omitempty"` - // Types that are assignable to Context: + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Filepath string `protobuf:"bytes,2,opt,name=filepath,proto3" json:"filepath,omitempty"` // slash-separated, relative to app root + StartPos int32 `protobuf:"varint,4,opt,name=start_pos,json=startPos,proto3" json:"start_pos,omitempty"` + EndPos int32 `protobuf:"varint,5,opt,name=end_pos,json=endPos,proto3" json:"end_pos,omitempty"` + SrcLineStart int32 `protobuf:"varint,6,opt,name=src_line_start,json=srcLineStart,proto3" json:"src_line_start,omitempty"` + SrcLineEnd int32 `protobuf:"varint,7,opt,name=src_line_end,json=srcLineEnd,proto3" json:"src_line_end,omitempty"` + SrcColStart int32 `protobuf:"varint,8,opt,name=src_col_start,json=srcColStart,proto3" json:"src_col_start,omitempty"` + SrcColEnd int32 `protobuf:"varint,9,opt,name=src_col_end,json=srcColEnd,proto3" json:"src_col_end,omitempty"` + // Types that are valid to be assigned to Context: // // *TraceNode_RpcDef // *TraceNode_RpcCall @@ -1564,16 +1535,16 @@ type TraceNode struct { // *TraceNode_ServiceInit // *TraceNode_MiddlewareDef // *TraceNode_CacheKeyspace - Context isTraceNode_Context `protobuf_oneof:"context"` + Context isTraceNode_Context `protobuf_oneof:"context"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TraceNode) Reset() { *x = TraceNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TraceNode) String() string { @@ -1584,7 +1555,7 @@ func (*TraceNode) ProtoMessage() {} func (x *TraceNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1655,79 +1626,99 @@ func (x *TraceNode) GetSrcColEnd() int32 { return 0 } -func (m *TraceNode) GetContext() isTraceNode_Context { - if m != nil { - return m.Context +func (x *TraceNode) GetContext() isTraceNode_Context { + if x != nil { + return x.Context } return nil } func (x *TraceNode) GetRpcDef() *RPCDefNode { - if x, ok := x.GetContext().(*TraceNode_RpcDef); ok { - return x.RpcDef + if x != nil { + if x, ok := x.Context.(*TraceNode_RpcDef); ok { + return x.RpcDef + } } return nil } func (x *TraceNode) GetRpcCall() *RPCCallNode { - if x, ok := x.GetContext().(*TraceNode_RpcCall); ok { - return x.RpcCall + if x != nil { + if x, ok := x.Context.(*TraceNode_RpcCall); ok { + return x.RpcCall + } } return nil } func (x *TraceNode) GetStaticCall() *StaticCallNode { - if x, ok := x.GetContext().(*TraceNode_StaticCall); ok { - return x.StaticCall + if x != nil { + if x, ok := x.Context.(*TraceNode_StaticCall); ok { + return x.StaticCall + } } return nil } func (x *TraceNode) GetAuthHandlerDef() *AuthHandlerDefNode { - if x, ok := x.GetContext().(*TraceNode_AuthHandlerDef); ok { - return x.AuthHandlerDef + if x != nil { + if x, ok := x.Context.(*TraceNode_AuthHandlerDef); ok { + return x.AuthHandlerDef + } } return nil } func (x *TraceNode) GetPubsubTopicDef() *PubSubTopicDefNode { - if x, ok := x.GetContext().(*TraceNode_PubsubTopicDef); ok { - return x.PubsubTopicDef + if x != nil { + if x, ok := x.Context.(*TraceNode_PubsubTopicDef); ok { + return x.PubsubTopicDef + } } return nil } func (x *TraceNode) GetPubsubPublish() *PubSubPublishNode { - if x, ok := x.GetContext().(*TraceNode_PubsubPublish); ok { - return x.PubsubPublish + if x != nil { + if x, ok := x.Context.(*TraceNode_PubsubPublish); ok { + return x.PubsubPublish + } } return nil } func (x *TraceNode) GetPubsubSubscriber() *PubSubSubscriberNode { - if x, ok := x.GetContext().(*TraceNode_PubsubSubscriber); ok { - return x.PubsubSubscriber + if x != nil { + if x, ok := x.Context.(*TraceNode_PubsubSubscriber); ok { + return x.PubsubSubscriber + } } return nil } func (x *TraceNode) GetServiceInit() *ServiceInitNode { - if x, ok := x.GetContext().(*TraceNode_ServiceInit); ok { - return x.ServiceInit + if x != nil { + if x, ok := x.Context.(*TraceNode_ServiceInit); ok { + return x.ServiceInit + } } return nil } func (x *TraceNode) GetMiddlewareDef() *MiddlewareDefNode { - if x, ok := x.GetContext().(*TraceNode_MiddlewareDef); ok { - return x.MiddlewareDef + if x != nil { + if x, ok := x.Context.(*TraceNode_MiddlewareDef); ok { + return x.MiddlewareDef + } } return nil } func (x *TraceNode) GetCacheKeyspace() *CacheKeyspaceDefNode { - if x, ok := x.GetContext().(*TraceNode_CacheKeyspace); ok { - return x.CacheKeyspace + if x != nil { + if x, ok := x.Context.(*TraceNode_CacheKeyspace); ok { + return x.CacheKeyspace + } } return nil } @@ -1797,22 +1788,19 @@ func (*TraceNode_MiddlewareDef) isTraceNode_Context() {} func (*TraceNode_CacheKeyspace) isTraceNode_Context() {} type RPCDefNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + RpcName string `protobuf:"bytes,2,opt,name=rpc_name,json=rpcName,proto3" json:"rpc_name,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - RpcName string `protobuf:"bytes,2,opt,name=rpc_name,json=rpcName,proto3" json:"rpc_name,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RPCDefNode) Reset() { *x = RPCDefNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPCDefNode) String() string { @@ -1823,7 +1811,7 @@ func (*RPCDefNode) ProtoMessage() {} func (x *RPCDefNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1860,22 +1848,19 @@ func (x *RPCDefNode) GetContext() string { } type RPCCallNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + RpcName string `protobuf:"bytes,2,opt,name=rpc_name,json=rpcName,proto3" json:"rpc_name,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - RpcName string `protobuf:"bytes,2,opt,name=rpc_name,json=rpcName,proto3" json:"rpc_name,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RPCCallNode) Reset() { *x = RPCCallNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPCCallNode) String() string { @@ -1886,7 +1871,7 @@ func (*RPCCallNode) ProtoMessage() {} func (x *RPCCallNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1923,22 +1908,19 @@ func (x *RPCCallNode) GetContext() string { } type StaticCallNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Package StaticCallNode_Package `protobuf:"varint,1,opt,name=package,proto3,enum=encore.parser.meta.v1.StaticCallNode_Package" json:"package,omitempty"` + Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - Package StaticCallNode_Package `protobuf:"varint,1,opt,name=package,proto3,enum=encore.parser.meta.v1.StaticCallNode_Package" json:"package,omitempty"` - Func string `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StaticCallNode) Reset() { *x = StaticCallNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StaticCallNode) String() string { @@ -1949,7 +1931,7 @@ func (*StaticCallNode) ProtoMessage() {} func (x *StaticCallNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1986,22 +1968,19 @@ func (x *StaticCallNode) GetContext() string { } type AuthHandlerDefNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AuthHandlerDefNode) Reset() { *x = AuthHandlerDefNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthHandlerDefNode) String() string { @@ -2012,7 +1991,7 @@ func (*AuthHandlerDefNode) ProtoMessage() {} func (x *AuthHandlerDefNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2049,21 +2028,18 @@ func (x *AuthHandlerDefNode) GetContext() string { } type PubSubTopicDefNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` + Context string `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` - Context string `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubSubTopicDefNode) Reset() { *x = PubSubTopicDefNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopicDefNode) String() string { @@ -2074,7 +2050,7 @@ func (*PubSubTopicDefNode) ProtoMessage() {} func (x *PubSubTopicDefNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2104,21 +2080,18 @@ func (x *PubSubTopicDefNode) GetContext() string { } type PubSubPublishNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` + Context string `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` - Context string `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubSubPublishNode) Reset() { *x = PubSubPublishNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubPublishNode) String() string { @@ -2129,7 +2102,7 @@ func (*PubSubPublishNode) ProtoMessage() {} func (x *PubSubPublishNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2159,23 +2132,20 @@ func (x *PubSubPublishNode) GetContext() string { } type PubSubSubscriberNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` - SubscriberName string `protobuf:"bytes,2,opt,name=subscriber_name,json=subscriberName,proto3" json:"subscriber_name,omitempty"` - ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - Context string `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` + SubscriberName string `protobuf:"bytes,2,opt,name=subscriber_name,json=subscriberName,proto3" json:"subscriber_name,omitempty"` + ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + Context string `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubSubscriberNode) Reset() { *x = PubSubSubscriberNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubSubscriberNode) String() string { @@ -2186,7 +2156,7 @@ func (*PubSubSubscriberNode) ProtoMessage() {} func (x *PubSubSubscriberNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2230,22 +2200,19 @@ func (x *PubSubSubscriberNode) GetContext() string { } type ServiceInitNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + SetupFuncName string `protobuf:"bytes,2,opt,name=setup_func_name,json=setupFuncName,proto3" json:"setup_func_name,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - SetupFuncName string `protobuf:"bytes,2,opt,name=setup_func_name,json=setupFuncName,proto3" json:"setup_func_name,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ServiceInitNode) Reset() { *x = ServiceInitNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceInitNode) String() string { @@ -2256,7 +2223,7 @@ func (*ServiceInitNode) ProtoMessage() {} func (x *ServiceInitNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2293,23 +2260,20 @@ func (x *ServiceInitNode) GetContext() string { } type MiddlewareDefNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PkgRelPath string `protobuf:"bytes,1,opt,name=pkg_rel_path,json=pkgRelPath,proto3" json:"pkg_rel_path,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + Target []*Selector `protobuf:"bytes,4,rep,name=target,proto3" json:"target,omitempty"` unknownFields protoimpl.UnknownFields - - PkgRelPath string `protobuf:"bytes,1,opt,name=pkg_rel_path,json=pkgRelPath,proto3" json:"pkg_rel_path,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Context string `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` - Target []*Selector `protobuf:"bytes,4,rep,name=target,proto3" json:"target,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MiddlewareDefNode) Reset() { *x = MiddlewareDefNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MiddlewareDefNode) String() string { @@ -2320,7 +2284,7 @@ func (*MiddlewareDefNode) ProtoMessage() {} func (x *MiddlewareDefNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2364,23 +2328,20 @@ func (x *MiddlewareDefNode) GetTarget() []*Selector { } type CacheKeyspaceDefNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PkgRelPath string `protobuf:"bytes,1,opt,name=pkg_rel_path,json=pkgRelPath,proto3" json:"pkg_rel_path,omitempty"` + VarName string `protobuf:"bytes,2,opt,name=var_name,json=varName,proto3" json:"var_name,omitempty"` + ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` + Context string `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` unknownFields protoimpl.UnknownFields - - PkgRelPath string `protobuf:"bytes,1,opt,name=pkg_rel_path,json=pkgRelPath,proto3" json:"pkg_rel_path,omitempty"` - VarName string `protobuf:"bytes,2,opt,name=var_name,json=varName,proto3" json:"var_name,omitempty"` - ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` - Context string `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CacheKeyspaceDefNode) Reset() { *x = CacheKeyspaceDefNode{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheKeyspaceDefNode) String() string { @@ -2391,7 +2352,7 @@ func (*CacheKeyspaceDefNode) ProtoMessage() {} func (x *CacheKeyspaceDefNode) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2435,21 +2396,18 @@ func (x *CacheKeyspaceDefNode) GetContext() string { } type Path struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Segments []*PathSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` + Type Path_Type `protobuf:"varint,2,opt,name=type,proto3,enum=encore.parser.meta.v1.Path_Type" json:"type,omitempty"` unknownFields protoimpl.UnknownFields - - Segments []*PathSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` - Type Path_Type `protobuf:"varint,2,opt,name=type,proto3,enum=encore.parser.meta.v1.Path_Type" json:"type,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Path) Reset() { *x = Path{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Path) String() string { @@ -2460,7 +2418,7 @@ func (*Path) ProtoMessage() {} func (x *Path) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2490,23 +2448,20 @@ func (x *Path) GetType() Path_Type { } type PathSegment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Type PathSegment_SegmentType `protobuf:"varint,1,opt,name=type,proto3,enum=encore.parser.meta.v1.PathSegment_SegmentType" json:"type,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ValueType PathSegment_ParamType `protobuf:"varint,3,opt,name=value_type,json=valueType,proto3,enum=encore.parser.meta.v1.PathSegment_ParamType" json:"value_type,omitempty"` + Validation *v1.ValidationExpr `protobuf:"bytes,4,opt,name=validation,proto3,oneof" json:"validation,omitempty"` unknownFields protoimpl.UnknownFields - - Type PathSegment_SegmentType `protobuf:"varint,1,opt,name=type,proto3,enum=encore.parser.meta.v1.PathSegment_SegmentType" json:"type,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - ValueType PathSegment_ParamType `protobuf:"varint,3,opt,name=value_type,json=valueType,proto3,enum=encore.parser.meta.v1.PathSegment_ParamType" json:"value_type,omitempty"` - Validation *v1.ValidationExpr `protobuf:"bytes,4,opt,name=validation,proto3,oneof" json:"validation,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PathSegment) Reset() { *x = PathSegment{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PathSegment) String() string { @@ -2517,7 +2472,7 @@ func (*PathSegment) ProtoMessage() {} func (x *PathSegment) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2561,22 +2516,19 @@ func (x *PathSegment) GetValidation() *v1.ValidationExpr { } type Gateway struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EncoreName string `protobuf:"bytes,1,opt,name=encore_name,json=encoreName,proto3" json:"encore_name,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + EncoreName string `protobuf:"bytes,1,opt,name=encore_name,json=encoreName,proto3" json:"encore_name,omitempty"` // Spec is the configuration for the gateway, if it's explicitly defined. - Explicit *Gateway_Explicit `protobuf:"bytes,2,opt,name=explicit,proto3,oneof" json:"explicit,omitempty"` + Explicit *Gateway_Explicit `protobuf:"bytes,2,opt,name=explicit,proto3,oneof" json:"explicit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Gateway) Reset() { *x = Gateway{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Gateway) String() string { @@ -2587,7 +2539,7 @@ func (*Gateway) ProtoMessage() {} func (x *Gateway) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2617,24 +2569,21 @@ func (x *Gateway) GetExplicit() *Gateway_Explicit { } type CronJob struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Doc *string `protobuf:"bytes,3,opt,name=doc,proto3,oneof" json:"doc,omitempty"` + Schedule string `protobuf:"bytes,4,opt,name=schedule,proto3" json:"schedule,omitempty"` + Endpoint *QualifiedName `protobuf:"bytes,5,opt,name=endpoint,proto3" json:"endpoint,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Doc *string `protobuf:"bytes,3,opt,name=doc,proto3,oneof" json:"doc,omitempty"` - Schedule string `protobuf:"bytes,4,opt,name=schedule,proto3" json:"schedule,omitempty"` - Endpoint *QualifiedName `protobuf:"bytes,5,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CronJob) Reset() { *x = CronJob{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CronJob) String() string { @@ -2645,7 +2594,7 @@ func (*CronJob) ProtoMessage() {} func (x *CronJob) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2696,26 +2645,23 @@ func (x *CronJob) GetEndpoint() *QualifiedName { } type SQLDatabase struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` // migration_rel_path is the slash-separated path to the migrations, // relative to the main module's root directory. MigrationRelPath *string `protobuf:"bytes,3,opt,name=migration_rel_path,json=migrationRelPath,proto3,oneof" json:"migration_rel_path,omitempty"` Migrations []*DBMigration `protobuf:"bytes,4,rep,name=migrations,proto3" json:"migrations,omitempty"` AllowNonSequentialMigrations bool `protobuf:"varint,5,opt,name=allow_non_sequential_migrations,json=allowNonSequentialMigrations,proto3" json:"allow_non_sequential_migrations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLDatabase) Reset() { *x = SQLDatabase{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLDatabase) String() string { @@ -2726,7 +2672,7 @@ func (*SQLDatabase) ProtoMessage() {} func (x *SQLDatabase) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2777,22 +2723,19 @@ func (x *SQLDatabase) GetAllowNonSequentialMigrations() bool { } type DBMigration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` // filename + Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` // migration number + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // descriptive name unknownFields protoimpl.UnknownFields - - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` // filename - Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` // migration number - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // descriptive name + sizeCache protoimpl.SizeCache } func (x *DBMigration) Reset() { *x = DBMigration{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DBMigration) String() string { @@ -2803,7 +2746,7 @@ func (*DBMigration) ProtoMessage() {} func (x *DBMigration) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2840,23 +2783,20 @@ func (x *DBMigration) GetDescription() string { } type Bucket struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` + Versioned bool `protobuf:"varint,3,opt,name=versioned,proto3" json:"versioned,omitempty"` + Public bool `protobuf:"varint,4,opt,name=public,proto3" json:"public,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` - Versioned bool `protobuf:"varint,3,opt,name=versioned,proto3" json:"versioned,omitempty"` - Public bool `protobuf:"varint,4,opt,name=public,proto3" json:"public,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Bucket) Reset() { *x = Bucket{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Bucket) String() string { @@ -2867,7 +2807,7 @@ func (*Bucket) ProtoMessage() {} func (x *Bucket) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2911,10 +2851,7 @@ func (x *Bucket) GetPublic() bool { } type PubSubTopic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The pub sub topic name (unique per application) Doc *string `protobuf:"bytes,2,opt,name=doc,proto3,oneof" json:"doc,omitempty"` // The documentation for the topic MessageType *v1.Type `protobuf:"bytes,3,opt,name=message_type,json=messageType,proto3" json:"message_type,omitempty"` // The type of the message @@ -2922,15 +2859,15 @@ type PubSubTopic struct { OrderingKey string `protobuf:"bytes,5,opt,name=ordering_key,json=orderingKey,proto3" json:"ordering_key,omitempty"` // The field used to group messages; if empty, the topic is not ordered Publishers []*PubSubTopic_Publisher `protobuf:"bytes,6,rep,name=publishers,proto3" json:"publishers,omitempty"` // The publishers for this topic Subscriptions []*PubSubTopic_Subscription `protobuf:"bytes,7,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"` // The subscriptions to the topic + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubTopic) Reset() { *x = PubSubTopic{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic) String() string { @@ -2941,7 +2878,7 @@ func (*PubSubTopic) ProtoMessage() {} func (x *PubSubTopic) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3006,23 +2943,20 @@ func (x *PubSubTopic) GetSubscriptions() []*PubSubTopic_Subscription { } type CacheCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The pub sub topic name (unique per application) Doc string `protobuf:"bytes,2,opt,name=doc,proto3" json:"doc,omitempty"` // The documentation for the topic Keyspaces []*CacheCluster_Keyspace `protobuf:"bytes,3,rep,name=keyspaces,proto3" json:"keyspaces,omitempty"` // The publishers for this topic EvictionPolicy string `protobuf:"bytes,4,opt,name=eviction_policy,json=evictionPolicy,proto3" json:"eviction_policy,omitempty"` // redis eviction policy + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CacheCluster) Reset() { *x = CacheCluster{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheCluster) String() string { @@ -3033,7 +2967,7 @@ func (*CacheCluster) ProtoMessage() {} func (x *CacheCluster) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3077,25 +3011,22 @@ func (x *CacheCluster) GetEvictionPolicy() string { } type Metric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // the name of the metric + ValueType v1.Builtin `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=encore.parser.schema.v1.Builtin" json:"value_type,omitempty"` + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // the doc string + Kind Metric_MetricKind `protobuf:"varint,4,opt,name=kind,proto3,enum=encore.parser.meta.v1.Metric_MetricKind" json:"kind,omitempty"` + ServiceName *string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3,oneof" json:"service_name,omitempty"` // the service the metric is exclusive to, if any. + Labels []*Metric_Label `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // the name of the metric - ValueType v1.Builtin `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=encore.parser.schema.v1.Builtin" json:"value_type,omitempty"` - Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // the doc string - Kind Metric_MetricKind `protobuf:"varint,4,opt,name=kind,proto3,enum=encore.parser.meta.v1.Metric_MetricKind" json:"kind,omitempty"` - ServiceName *string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3,oneof" json:"service_name,omitempty"` // the service the metric is exclusive to, if any. - Labels []*Metric_Label `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Metric) Reset() { *x = Metric{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Metric) String() string { @@ -3106,7 +3037,7 @@ func (*Metric) ProtoMessage() {} func (x *Metric) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3164,18 +3095,16 @@ func (x *Metric) GetLabels() []*Metric_Label { } type RPC_ExposeOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RPC_ExposeOptions) Reset() { *x = RPC_ExposeOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPC_ExposeOptions) String() string { @@ -3186,7 +3115,7 @@ func (*RPC_ExposeOptions) ProtoMessage() {} func (x *RPC_ExposeOptions) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3202,10 +3131,7 @@ func (*RPC_ExposeOptions) Descriptor() ([]byte, []int) { } type RPC_StaticAssets struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // dir_rel_path is the slash-separated path to the static files directory, // relative to the app root. DirRelPath string `protobuf:"bytes,1,opt,name=dir_rel_path,json=dirRelPath,proto3" json:"dir_rel_path,omitempty"` @@ -3213,16 +3139,16 @@ type RPC_StaticAssets struct { // file is not found. It is relative to the files_rel_path directory. NotFoundRelPath *string `protobuf:"bytes,2,opt,name=not_found_rel_path,json=notFoundRelPath,proto3,oneof" json:"not_found_rel_path,omitempty"` NotFoundStatus *uint32 `protobuf:"varint,3,opt,name=not_found_status,json=notFoundStatus,proto3,oneof" json:"not_found_status,omitempty"` - Headers map[string]*RPC_StaticAssets_HeaderValues `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Headers map[string]*RPC_StaticAssets_HeaderValues `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RPC_StaticAssets) Reset() { *x = RPC_StaticAssets{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPC_StaticAssets) String() string { @@ -3233,7 +3159,7 @@ func (*RPC_StaticAssets) ProtoMessage() {} func (x *RPC_StaticAssets) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3279,20 +3205,17 @@ func (x *RPC_StaticAssets) GetHeaders() map[string]*RPC_StaticAssets_HeaderValue // Custom HTTP headers to apply to all static files served. // Each header can have multiple values. type RPC_StaticAssets_HeaderValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` unknownFields protoimpl.UnknownFields - - Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RPC_StaticAssets_HeaderValues) Reset() { *x = RPC_StaticAssets_HeaderValues{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RPC_StaticAssets_HeaderValues) String() string { @@ -3303,7 +3226,7 @@ func (*RPC_StaticAssets_HeaderValues) ProtoMessage() {} func (x *RPC_StaticAssets_HeaderValues) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3326,22 +3249,19 @@ func (x *RPC_StaticAssets_HeaderValues) GetValues() []string { } type Gateway_Explicit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The service name this gateway belongs to. - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - AuthHandler *AuthHandler `protobuf:"bytes,2,opt,name=auth_handler,json=authHandler,proto3,oneof" json:"auth_handler,omitempty"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + AuthHandler *AuthHandler `protobuf:"bytes,2,opt,name=auth_handler,json=authHandler,proto3,oneof" json:"auth_handler,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Gateway_Explicit) Reset() { *x = Gateway_Explicit{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Gateway_Explicit) String() string { @@ -3352,7 +3272,7 @@ func (*Gateway_Explicit) ProtoMessage() {} func (x *Gateway_Explicit) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3382,20 +3302,17 @@ func (x *Gateway_Explicit) GetAuthHandler() *AuthHandler { } type PubSubTopic_Publisher struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The service the publisher is in unknownFields protoimpl.UnknownFields - - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The service the publisher is in + sizeCache protoimpl.SizeCache } func (x *PubSubTopic_Publisher) Reset() { *x = PubSubTopic_Publisher{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic_Publisher) String() string { @@ -3406,7 +3323,7 @@ func (*PubSubTopic_Publisher) ProtoMessage() {} func (x *PubSubTopic_Publisher) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3429,10 +3346,7 @@ func (x *PubSubTopic_Publisher) GetServiceName() string { } type PubSubTopic_Subscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The unique name of the subscription for this topic ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The service that the subscriber is in AckDeadline int64 `protobuf:"varint,3,opt,name=ack_deadline,json=ackDeadline,proto3" json:"ack_deadline,omitempty"` // How long has a consumer got to process and ack a message in nanoseconds @@ -3441,15 +3355,15 @@ type PubSubTopic_Subscription struct { // How many messages each instance can process concurrently. // If not set, the default is provider-specific. MaxConcurrency *int32 `protobuf:"varint,6,opt,name=max_concurrency,json=maxConcurrency,proto3,oneof" json:"max_concurrency,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubTopic_Subscription) Reset() { *x = PubSubTopic_Subscription{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic_Subscription) String() string { @@ -3460,7 +3374,7 @@ func (*PubSubTopic_Subscription) ProtoMessage() {} func (x *PubSubTopic_Subscription) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3518,22 +3432,19 @@ func (x *PubSubTopic_Subscription) GetMaxConcurrency() int32 { } type PubSubTopic_RetryPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MinBackoff int64 `protobuf:"varint,1,opt,name=min_backoff,json=minBackoff,proto3" json:"min_backoff,omitempty"` // min backoff in nanoseconds + MaxBackoff int64 `protobuf:"varint,2,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"` // max backoff in nanoseconds + MaxRetries int64 `protobuf:"varint,3,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` // max number of retries unknownFields protoimpl.UnknownFields - - MinBackoff int64 `protobuf:"varint,1,opt,name=min_backoff,json=minBackoff,proto3" json:"min_backoff,omitempty"` // min backoff in nanoseconds - MaxBackoff int64 `protobuf:"varint,2,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"` // max backoff in nanoseconds - MaxRetries int64 `protobuf:"varint,3,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` // max number of retries + sizeCache protoimpl.SizeCache } func (x *PubSubTopic_RetryPolicy) Reset() { *x = PubSubTopic_RetryPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic_RetryPolicy) String() string { @@ -3544,7 +3455,7 @@ func (*PubSubTopic_RetryPolicy) ProtoMessage() {} func (x *PubSubTopic_RetryPolicy) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3581,24 +3492,21 @@ func (x *PubSubTopic_RetryPolicy) GetMaxRetries() int64 { } type CacheCluster_Keyspace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyType *v1.Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + ValueType *v1.Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` + Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` + Doc string `protobuf:"bytes,4,opt,name=doc,proto3" json:"doc,omitempty"` + PathPattern *Path `protobuf:"bytes,5,opt,name=path_pattern,json=pathPattern,proto3" json:"path_pattern,omitempty"` unknownFields protoimpl.UnknownFields - - KeyType *v1.Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` - ValueType *v1.Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` - Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` - Doc string `protobuf:"bytes,4,opt,name=doc,proto3" json:"doc,omitempty"` - PathPattern *Path `protobuf:"bytes,5,opt,name=path_pattern,json=pathPattern,proto3" json:"path_pattern,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CacheCluster_Keyspace) Reset() { *x = CacheCluster_Keyspace{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CacheCluster_Keyspace) String() string { @@ -3609,7 +3517,7 @@ func (*CacheCluster_Keyspace) ProtoMessage() {} func (x *CacheCluster_Keyspace) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3660,22 +3568,19 @@ func (x *CacheCluster_Keyspace) GetPathPattern() *Path { } type Metric_Label struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Type v1.Builtin `protobuf:"varint,2,opt,name=type,proto3,enum=encore.parser.schema.v1.Builtin" json:"type,omitempty"` + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Type v1.Builtin `protobuf:"varint,2,opt,name=type,proto3,enum=encore.parser.schema.v1.Builtin" json:"type,omitempty"` - Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Metric_Label) Reset() { *x = Metric_Label{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Metric_Label) String() string { @@ -3686,7 +3591,7 @@ func (*Metric_Label) ProtoMessage() {} func (x *Metric_Label) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_meta_v1_meta_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3724,669 +3629,384 @@ func (x *Metric_Label) GetDoc() string { var File_encore_parser_meta_v1_meta_proto protoreflect.FileDescriptor -var file_encore_parser_meta_v1_meta_proto_rawDesc = []byte{ - 0x0a, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2f, - 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x1a, 0x24, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xdc, 0x07, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x70, 0x70, - 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, - 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, - 0x05, 0x64, 0x65, 0x63, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x52, 0x05, 0x64, 0x65, 0x63, - 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x52, 0x04, 0x70, 0x6b, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x73, 0x76, 0x63, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x04, 0x73, 0x76, 0x63, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x61, 0x75, - 0x74, 0x68, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x6a, - 0x6f, 0x62, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x63, 0x72, 0x6f, 0x6e, 0x4a, - 0x6f, 0x62, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x0c, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x41, 0x0a, 0x0a, - 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, - 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x12, - 0x4a, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, - 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, - 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x71, 0x6c, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x51, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x0c, 0x73, 0x71, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, - 0x3a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, - 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x22, 0x35, - 0x0a, 0x0d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x70, 0x6b, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x6b, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, - 0x6f, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x09, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x72, 0x70, 0x63, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xa7, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x2e, 0x0a, 0x04, 0x72, 0x70, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x52, 0x04, 0x72, 0x70, 0x63, 0x73, - 0x12, 0x42, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x42, 0x4d, - 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, - 0xd8, 0x02, 0x0a, 0x0b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, - 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, - 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x1a, - 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x45, - 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, - 0x41, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x45, 0x54, 0x5f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, - 0x47, 0x4e, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x55, 0x52, 0x4c, 0x10, - 0x08, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x09, 0x22, 0x81, 0x01, 0x0a, 0x08, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, - 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x47, 0x10, 0x02, 0x22, 0xb4, - 0x0d, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x64, 0x6f, - 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0e, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x48, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, - 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, - 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x2e, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, - 0x2f, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, - 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x6e, 0x61, 0x75, - 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x65, - 0x78, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x62, - 0x6f, 0x64, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x03, 0x52, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x68, - 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x04, 0x52, 0x0f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x05, 0x52, 0x0c, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, - 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x0f, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0xa7, 0x03, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x52, - 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, - 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, - 0x6c, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x5f, - 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x26, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, - 0x70, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, - 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x6f, 0x74, - 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2f, 0x0a, - 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, - 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x48, 0x10, 0x02, 0x22, 0x20, - 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, - 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x41, 0x57, 0x10, 0x01, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x6f, 0x63, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x70, - 0x6b, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x6b, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x03, 0x6c, 0x6f, - 0x63, 0x12, 0x3f, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x88, - 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x48, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x4d, - 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x64, 0x6f, 0x63, 0x12, 0x2e, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, - 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x26, 0x0a, - 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xa0, 0x08, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x6f, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x72, 0x63, 0x4c, 0x69, 0x6e, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x72, 0x63, - 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x72, 0x63, 0x5f, 0x63, - 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x73, 0x72, 0x63, 0x43, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x73, - 0x72, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x73, 0x72, 0x63, 0x43, 0x6f, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x72, - 0x70, 0x63, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x48, - 0x00, 0x52, 0x06, 0x72, 0x70, 0x63, 0x44, 0x65, 0x66, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x70, 0x63, - 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x48, - 0x00, 0x52, 0x07, 0x72, 0x70, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x48, 0x0a, 0x0b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x61, - 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x55, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x75, 0x74, - 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x44, 0x65, 0x66, 0x12, 0x55, 0x0a, 0x10, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x66, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, - 0x62, 0x53, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, - 0x48, 0x00, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, - 0x65, 0x66, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x5a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, - 0x10, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x72, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, - 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, - 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x51, - 0x0a, 0x0e, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x66, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, - 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x44, 0x65, - 0x66, 0x12, 0x54, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, - 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x22, 0x64, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x70, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x65, 0x0a, 0x0b, 0x52, 0x50, 0x43, 0x43, - 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, - 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x70, - 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, - 0xb4, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, - 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2b, 0x0a, 0x07, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x51, 0x4c, 0x44, 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x52, 0x4c, 0x4f, 0x47, 0x10, 0x02, 0x22, 0x65, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4d, 0x0a, - 0x12, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x65, 0x66, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4c, 0x0a, 0x11, - 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x50, - 0x75, 0x62, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x76, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x46, 0x75, - 0x6e, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x44, - 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6b, 0x67, 0x5f, 0x72, 0x65, - 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6b, - 0x67, 0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, - 0x90, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6b, 0x67, 0x5f, - 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x6b, 0x67, 0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, - 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x08, 0x73, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x23, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x52, 0x4c, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x53, - 0x50, 0x41, 0x43, 0x45, 0x10, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, - 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x4b, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, - 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, - 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x41, 0x0a, 0x0b, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x49, - 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x52, 0x41, 0x4d, - 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x49, 0x4c, 0x44, 0x43, 0x41, 0x52, 0x44, 0x10, 0x02, - 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x22, 0x98, - 0x01, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, - 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, - 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, - 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x05, 0x12, 0x07, 0x0a, - 0x03, 0x49, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, - 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x08, 0x12, 0x0a, 0x0a, - 0x06, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, - 0x54, 0x36, 0x34, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x49, 0x4e, 0x54, 0x10, 0x0b, 0x12, - 0x08, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x10, 0x0c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x02, 0x0a, 0x07, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x88, 0x01, 0x01, 0x1a, - 0x8a, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x4a, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x74, - 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x61, 0x75, 0x74, 0x68, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x07, 0x43, 0x72, - 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x64, - 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x40, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x6f, 0x63, 0x22, 0x95, 0x02, 0x0a, 0x0b, 0x53, 0x51, 0x4c, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, - 0x64, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6f, 0x63, - 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x50, - 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x42, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x6e, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x6f, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x22, 0x63, 0x0a, 0x0b, 0x44, 0x42, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x6f, 0x63, 0x22, 0xb8, 0x07, 0x0a, 0x0b, 0x50, 0x75, 0x62, - 0x53, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, - 0x64, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6f, 0x63, - 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x75, - 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x47, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x4c, 0x0a, - 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x52, - 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, - 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x2e, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, - 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x1a, 0xaa, 0x02, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, - 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, - 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0c, 0x72, 0x65, - 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, - 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x1a, - 0x70, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, - 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, - 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x22, 0x38, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x75, 0x61, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x4c, 0x45, 0x41, - 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x41, - 0x43, 0x54, 0x4c, 0x59, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x64, 0x6f, 0x63, 0x22, 0x9a, 0x03, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x12, 0x4a, 0x0a, 0x09, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, - 0xee, 0x01, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x08, - 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, - 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, - 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x74, 0x68, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x22, 0xbb, 0x03, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x3f, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, - 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, - 0x6f, 0x63, 0x12, 0x3c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x61, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x22, 0x33, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, - 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0x02, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x1e, - 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4f, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x01, 0x42, 0x26, - 0x5a, 0x24, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2f, 0x6d, - 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_parser_meta_v1_meta_proto_rawDesc = "" + + "\n" + + " encore/parser/meta/v1/meta.proto\x12\x15encore.parser.meta.v1\x1a$encore/parser/schema/v1/schema.proto\"\xdc\a\n" + + "\x04Data\x12\x1f\n" + + "\vmodule_path\x18\x01 \x01(\tR\n" + + "modulePath\x12!\n" + + "\fapp_revision\x18\x02 \x01(\tR\vappRevision\x12/\n" + + "\x13uncommitted_changes\x18\b \x01(\bR\x12uncommittedChanges\x123\n" + + "\x05decls\x18\x03 \x03(\v2\x1d.encore.parser.schema.v1.DeclR\x05decls\x122\n" + + "\x04pkgs\x18\x04 \x03(\v2\x1e.encore.parser.meta.v1.PackageR\x04pkgs\x122\n" + + "\x04svcs\x18\x05 \x03(\v2\x1e.encore.parser.meta.v1.ServiceR\x04svcs\x12J\n" + + "\fauth_handler\x18\x06 \x01(\v2\".encore.parser.meta.v1.AuthHandlerH\x00R\vauthHandler\x88\x01\x01\x12;\n" + + "\tcron_jobs\x18\a \x03(\v2\x1e.encore.parser.meta.v1.CronJobR\bcronJobs\x12G\n" + + "\rpubsub_topics\x18\t \x03(\v2\".encore.parser.meta.v1.PubSubTopicR\fpubsubTopics\x12A\n" + + "\n" + + "middleware\x18\n" + + " \x03(\v2!.encore.parser.meta.v1.MiddlewareR\n" + + "middleware\x12J\n" + + "\x0ecache_clusters\x18\v \x03(\v2#.encore.parser.meta.v1.CacheClusterR\rcacheClusters\x12 \n" + + "\vexperiments\x18\f \x03(\tR\vexperiments\x127\n" + + "\ametrics\x18\r \x03(\v2\x1d.encore.parser.meta.v1.MetricR\ametrics\x12G\n" + + "\rsql_databases\x18\x0e \x03(\v2\".encore.parser.meta.v1.SQLDatabaseR\fsqlDatabases\x12:\n" + + "\bgateways\x18\x0f \x03(\v2\x1e.encore.parser.meta.v1.GatewayR\bgateways\x127\n" + + "\blanguage\x18\x10 \x01(\x0e2\x1b.encore.parser.meta.v1.LangR\blanguage\x127\n" + + "\abuckets\x18\x11 \x03(\v2\x1d.encore.parser.meta.v1.BucketR\abucketsB\x0f\n" + + "\r_auth_handler\"5\n" + + "\rQualifiedName\x12\x10\n" + + "\x03pkg\x18\x01 \x01(\tR\x03pkg\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"\x8d\x02\n" + + "\aPackage\x12\x19\n" + + "\brel_path\x18\x01 \x01(\tR\arelPath\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n" + + "\x03doc\x18\x03 \x01(\tR\x03doc\x12!\n" + + "\fservice_name\x18\x04 \x01(\tR\vserviceName\x12\x18\n" + + "\asecrets\x18\x05 \x03(\tR\asecrets\x12A\n" + + "\trpc_calls\x18\x06 \x03(\v2$.encore.parser.meta.v1.QualifiedNameR\brpcCalls\x12A\n" + + "\vtrace_nodes\x18\a \x03(\v2 .encore.parser.meta.v1.TraceNodeR\n" + + "traceNodes\"\xa7\x02\n" + + "\aService\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" + + "\brel_path\x18\x02 \x01(\tR\arelPath\x12.\n" + + "\x04rpcs\x18\x03 \x03(\v2\x1a.encore.parser.meta.v1.RPCR\x04rpcs\x12B\n" + + "\n" + + "migrations\x18\x04 \x03(\v2\".encore.parser.meta.v1.DBMigrationR\n" + + "migrations\x12\x1c\n" + + "\tdatabases\x18\x05 \x03(\tR\tdatabases\x12\x1d\n" + + "\n" + + "has_config\x18\x06 \x01(\bR\thasConfig\x12<\n" + + "\abuckets\x18\a \x03(\v2\".encore.parser.meta.v1.BucketUsageR\abuckets\"\xd8\x02\n" + + "\vBucketUsage\x12\x16\n" + + "\x06bucket\x18\x01 \x01(\tR\x06bucket\x12L\n" + + "\n" + + "operations\x18\x02 \x03(\x0e2,.encore.parser.meta.v1.BucketUsage.OperationR\n" + + "operations\"\xe2\x01\n" + + "\tOperation\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x10\n" + + "\fLIST_OBJECTS\x10\x01\x12\x18\n" + + "\x14READ_OBJECT_CONTENTS\x10\x02\x12\x10\n" + + "\fWRITE_OBJECT\x10\x03\x12\x1a\n" + + "\x16UPDATE_OBJECT_METADATA\x10\x04\x12\x17\n" + + "\x13GET_OBJECT_METADATA\x10\x05\x12\x11\n" + + "\rDELETE_OBJECT\x10\x06\x12\x12\n" + + "\x0eGET_PUBLIC_URL\x10\a\x12\x15\n" + + "\x11SIGNED_UPLOAD_URL\x10\b\x12\x17\n" + + "\x13SIGNED_DOWNLOAD_URL\x10\t\"\x81\x01\n" + + "\bSelector\x128\n" + + "\x04type\x18\x01 \x01(\x0e2$.encore.parser.meta.v1.Selector.TypeR\x04type\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\"%\n" + + "\x04Type\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\a\n" + + "\x03ALL\x10\x01\x12\a\n" + + "\x03TAG\x10\x02\"\xb4\r\n" + + "\x03RPC\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x15\n" + + "\x03doc\x18\x02 \x01(\tH\x00R\x03doc\x88\x01\x01\x12!\n" + + "\fservice_name\x18\x03 \x01(\tR\vserviceName\x12F\n" + + "\vaccess_type\x18\x04 \x01(\x0e2%.encore.parser.meta.v1.RPC.AccessTypeR\n" + + "accessType\x12I\n" + + "\x0erequest_schema\x18\x05 \x01(\v2\x1d.encore.parser.schema.v1.TypeH\x01R\rrequestSchema\x88\x01\x01\x12K\n" + + "\x0fresponse_schema\x18\x06 \x01(\v2\x1d.encore.parser.schema.v1.TypeH\x02R\x0eresponseSchema\x88\x01\x01\x129\n" + + "\x05proto\x18\a \x01(\x0e2#.encore.parser.meta.v1.RPC.ProtocolR\x05proto\x12.\n" + + "\x03loc\x18\b \x01(\v2\x1c.encore.parser.schema.v1.LocR\x03loc\x12/\n" + + "\x04path\x18\t \x01(\v2\x1b.encore.parser.meta.v1.PathR\x04path\x12!\n" + + "\fhttp_methods\x18\n" + + " \x03(\tR\vhttpMethods\x123\n" + + "\x04tags\x18\v \x03(\v2\x1f.encore.parser.meta.v1.SelectorR\x04tags\x12\x1c\n" + + "\tsensitive\x18\f \x01(\bR\tsensitive\x123\n" + + "\x15allow_unauthenticated\x18\r \x01(\bR\x14allowUnauthenticated\x12>\n" + + "\x06expose\x18\x0e \x03(\v2&.encore.parser.meta.v1.RPC.ExposeEntryR\x06expose\x12\"\n" + + "\n" + + "body_limit\x18\x0f \x01(\x04H\x03R\tbodyLimit\x88\x01\x01\x12+\n" + + "\x11streaming_request\x18\x10 \x01(\bR\x10streamingRequest\x12-\n" + + "\x12streaming_response\x18\x11 \x01(\bR\x11streamingResponse\x12M\n" + + "\x10handshake_schema\x18\x12 \x01(\v2\x1d.encore.parser.schema.v1.TypeH\x04R\x0fhandshakeSchema\x88\x01\x01\x12Q\n" + + "\rstatic_assets\x18\x13 \x01(\v2'.encore.parser.meta.v1.RPC.StaticAssetsH\x05R\fstaticAssets\x88\x01\x01\x1ac\n" + + "\vExposeEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12>\n" + + "\x05value\x18\x02 \x01(\v2(.encore.parser.meta.v1.RPC.ExposeOptionsR\x05value:\x028\x01\x1a\x0f\n" + + "\rExposeOptions\x1a\xa7\x03\n" + + "\fStaticAssets\x12 \n" + + "\fdir_rel_path\x18\x01 \x01(\tR\n" + + "dirRelPath\x120\n" + + "\x12not_found_rel_path\x18\x02 \x01(\tH\x00R\x0fnotFoundRelPath\x88\x01\x01\x12-\n" + + "\x10not_found_status\x18\x03 \x01(\rH\x01R\x0enotFoundStatus\x88\x01\x01\x12N\n" + + "\aheaders\x18\x04 \x03(\v24.encore.parser.meta.v1.RPC.StaticAssets.HeadersEntryR\aheaders\x1a&\n" + + "\fHeaderValues\x12\x16\n" + + "\x06values\x18\x01 \x03(\tR\x06values\x1ap\n" + + "\fHeadersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12J\n" + + "\x05value\x18\x02 \x01(\v24.encore.parser.meta.v1.RPC.StaticAssets.HeaderValuesR\x05value:\x028\x01B\x15\n" + + "\x13_not_found_rel_pathB\x13\n" + + "\x11_not_found_status\"/\n" + + "\n" + + "AccessType\x12\v\n" + + "\aPRIVATE\x10\x00\x12\n" + + "\n" + + "\x06PUBLIC\x10\x01\x12\b\n" + + "\x04AUTH\x10\x02\" \n" + + "\bProtocol\x12\v\n" + + "\aREGULAR\x10\x00\x12\a\n" + + "\x03RAW\x10\x01B\x06\n" + + "\x04_docB\x11\n" + + "\x0f_request_schemaB\x12\n" + + "\x10_response_schemaB\r\n" + + "\v_body_limitB\x13\n" + + "\x11_handshake_schemaB\x10\n" + + "\x0e_static_assets\"\xd2\x02\n" + + "\vAuthHandler\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n" + + "\x03doc\x18\x02 \x01(\tR\x03doc\x12\x19\n" + + "\bpkg_path\x18\x03 \x01(\tR\apkgPath\x12\x19\n" + + "\bpkg_name\x18\x04 \x01(\tR\apkgName\x12.\n" + + "\x03loc\x18\x05 \x01(\v2\x1c.encore.parser.schema.v1.LocR\x03loc\x12?\n" + + "\tauth_data\x18\x06 \x01(\v2\x1d.encore.parser.schema.v1.TypeH\x00R\bauthData\x88\x01\x01\x12:\n" + + "\x06params\x18\a \x01(\v2\x1d.encore.parser.schema.v1.TypeH\x01R\x06params\x88\x01\x01\x12!\n" + + "\fservice_name\x18\b \x01(\tR\vserviceNameB\f\n" + + "\n" + + "_auth_dataB\t\n" + + "\a_params\"\x92\x02\n" + + "\n" + + "Middleware\x128\n" + + "\x04name\x18\x01 \x01(\v2$.encore.parser.meta.v1.QualifiedNameR\x04name\x12\x10\n" + + "\x03doc\x18\x02 \x01(\tR\x03doc\x12.\n" + + "\x03loc\x18\x03 \x01(\v2\x1c.encore.parser.schema.v1.LocR\x03loc\x12\x16\n" + + "\x06global\x18\x04 \x01(\bR\x06global\x12&\n" + + "\fservice_name\x18\x05 \x01(\tH\x00R\vserviceName\x88\x01\x01\x127\n" + + "\x06target\x18\x06 \x03(\v2\x1f.encore.parser.meta.v1.SelectorR\x06targetB\x0f\n" + + "\r_service_name\"\xa0\b\n" + + "\tTraceNode\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\x12\x1a\n" + + "\bfilepath\x18\x02 \x01(\tR\bfilepath\x12\x1b\n" + + "\tstart_pos\x18\x04 \x01(\x05R\bstartPos\x12\x17\n" + + "\aend_pos\x18\x05 \x01(\x05R\x06endPos\x12$\n" + + "\x0esrc_line_start\x18\x06 \x01(\x05R\fsrcLineStart\x12 \n" + + "\fsrc_line_end\x18\a \x01(\x05R\n" + + "srcLineEnd\x12\"\n" + + "\rsrc_col_start\x18\b \x01(\x05R\vsrcColStart\x12\x1e\n" + + "\vsrc_col_end\x18\t \x01(\x05R\tsrcColEnd\x12<\n" + + "\arpc_def\x18\n" + + " \x01(\v2!.encore.parser.meta.v1.RPCDefNodeH\x00R\x06rpcDef\x12?\n" + + "\brpc_call\x18\v \x01(\v2\".encore.parser.meta.v1.RPCCallNodeH\x00R\arpcCall\x12H\n" + + "\vstatic_call\x18\f \x01(\v2%.encore.parser.meta.v1.StaticCallNodeH\x00R\n" + + "staticCall\x12U\n" + + "\x10auth_handler_def\x18\r \x01(\v2).encore.parser.meta.v1.AuthHandlerDefNodeH\x00R\x0eauthHandlerDef\x12U\n" + + "\x10pubsub_topic_def\x18\x0e \x01(\v2).encore.parser.meta.v1.PubSubTopicDefNodeH\x00R\x0epubsubTopicDef\x12Q\n" + + "\x0epubsub_publish\x18\x0f \x01(\v2(.encore.parser.meta.v1.PubSubPublishNodeH\x00R\rpubsubPublish\x12Z\n" + + "\x11pubsub_subscriber\x18\x10 \x01(\v2+.encore.parser.meta.v1.PubSubSubscriberNodeH\x00R\x10pubsubSubscriber\x12K\n" + + "\fservice_init\x18\x11 \x01(\v2&.encore.parser.meta.v1.ServiceInitNodeH\x00R\vserviceInit\x12Q\n" + + "\x0emiddleware_def\x18\x12 \x01(\v2(.encore.parser.meta.v1.MiddlewareDefNodeH\x00R\rmiddlewareDef\x12T\n" + + "\x0ecache_keyspace\x18\x13 \x01(\v2+.encore.parser.meta.v1.CacheKeyspaceDefNodeH\x00R\rcacheKeyspaceB\t\n" + + "\acontext\"d\n" + + "\n" + + "RPCDefNode\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x19\n" + + "\brpc_name\x18\x02 \x01(\tR\arpcName\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\"e\n" + + "\vRPCCallNode\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x19\n" + + "\brpc_name\x18\x02 \x01(\tR\arpcName\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\"\xb4\x01\n" + + "\x0eStaticCallNode\x12G\n" + + "\apackage\x18\x01 \x01(\x0e2-.encore.parser.meta.v1.StaticCallNode.PackageR\apackage\x12\x12\n" + + "\x04func\x18\x02 \x01(\tR\x04func\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\"+\n" + + "\aPackage\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\t\n" + + "\x05SQLDB\x10\x01\x12\b\n" + + "\x04RLOG\x10\x02\"e\n" + + "\x12AuthHandlerDefNode\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\"M\n" + + "\x12PubSubTopicDefNode\x12\x1d\n" + + "\n" + + "topic_name\x18\x01 \x01(\tR\ttopicName\x12\x18\n" + + "\acontext\x18\x02 \x01(\tR\acontext\"L\n" + + "\x11PubSubPublishNode\x12\x1d\n" + + "\n" + + "topic_name\x18\x01 \x01(\tR\ttopicName\x12\x18\n" + + "\acontext\x18\x02 \x01(\tR\acontext\"\x9b\x01\n" + + "\x14PubSubSubscriberNode\x12\x1d\n" + + "\n" + + "topic_name\x18\x01 \x01(\tR\ttopicName\x12'\n" + + "\x0fsubscriber_name\x18\x02 \x01(\tR\x0esubscriberName\x12!\n" + + "\fservice_name\x18\x03 \x01(\tR\vserviceName\x12\x18\n" + + "\acontext\x18\x04 \x01(\tR\acontext\"v\n" + + "\x0fServiceInitNode\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12&\n" + + "\x0fsetup_func_name\x18\x02 \x01(\tR\rsetupFuncName\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\"\x9c\x01\n" + + "\x11MiddlewareDefNode\x12 \n" + + "\fpkg_rel_path\x18\x01 \x01(\tR\n" + + "pkgRelPath\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" + + "\acontext\x18\x03 \x01(\tR\acontext\x127\n" + + "\x06target\x18\x04 \x03(\v2\x1f.encore.parser.meta.v1.SelectorR\x06target\"\x90\x01\n" + + "\x14CacheKeyspaceDefNode\x12 \n" + + "\fpkg_rel_path\x18\x01 \x01(\tR\n" + + "pkgRelPath\x12\x19\n" + + "\bvar_name\x18\x02 \x01(\tR\avarName\x12!\n" + + "\fcluster_name\x18\x03 \x01(\tR\vclusterName\x12\x18\n" + + "\acontext\x18\x04 \x01(\tR\acontext\"\xa1\x01\n" + + "\x04Path\x12>\n" + + "\bsegments\x18\x01 \x03(\v2\".encore.parser.meta.v1.PathSegmentR\bsegments\x124\n" + + "\x04type\x18\x02 \x01(\x0e2 .encore.parser.meta.v1.Path.TypeR\x04type\"#\n" + + "\x04Type\x12\a\n" + + "\x03URL\x10\x00\x12\x12\n" + + "\x0eCACHE_KEYSPACE\x10\x01\"\xef\x03\n" + + "\vPathSegment\x12B\n" + + "\x04type\x18\x01 \x01(\x0e2..encore.parser.meta.v1.PathSegment.SegmentTypeR\x04type\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12K\n" + + "\n" + + "value_type\x18\x03 \x01(\x0e2,.encore.parser.meta.v1.PathSegment.ParamTypeR\tvalueType\x12L\n" + + "\n" + + "validation\x18\x04 \x01(\v2'.encore.parser.schema.v1.ValidationExprH\x00R\n" + + "validation\x88\x01\x01\"A\n" + + "\vSegmentType\x12\v\n" + + "\aLITERAL\x10\x00\x12\t\n" + + "\x05PARAM\x10\x01\x12\f\n" + + "\bWILDCARD\x10\x02\x12\f\n" + + "\bFALLBACK\x10\x03\"\x98\x01\n" + + "\tParamType\x12\n" + + "\n" + + "\x06STRING\x10\x00\x12\b\n" + + "\x04BOOL\x10\x01\x12\b\n" + + "\x04INT8\x10\x02\x12\t\n" + + "\x05INT16\x10\x03\x12\t\n" + + "\x05INT32\x10\x04\x12\t\n" + + "\x05INT64\x10\x05\x12\a\n" + + "\x03INT\x10\x06\x12\t\n" + + "\x05UINT8\x10\a\x12\n" + + "\n" + + "\x06UINT16\x10\b\x12\n" + + "\n" + + "\x06UINT32\x10\t\x12\n" + + "\n" + + "\x06UINT64\x10\n" + + "\x12\b\n" + + "\x04UINT\x10\v\x12\b\n" + + "\x04UUID\x10\fB\r\n" + + "\v_validation\"\x8e\x02\n" + + "\aGateway\x12\x1f\n" + + "\vencore_name\x18\x01 \x01(\tR\n" + + "encoreName\x12H\n" + + "\bexplicit\x18\x02 \x01(\v2'.encore.parser.meta.v1.Gateway.ExplicitH\x00R\bexplicit\x88\x01\x01\x1a\x8a\x01\n" + + "\bExplicit\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12J\n" + + "\fauth_handler\x18\x02 \x01(\v2\".encore.parser.meta.v1.AuthHandlerH\x00R\vauthHandler\x88\x01\x01B\x0f\n" + + "\r_auth_handlerB\v\n" + + "\t_explicit\"\xac\x01\n" + + "\aCronJob\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x15\n" + + "\x03doc\x18\x03 \x01(\tH\x00R\x03doc\x88\x01\x01\x12\x1a\n" + + "\bschedule\x18\x04 \x01(\tR\bschedule\x12@\n" + + "\bendpoint\x18\x05 \x01(\v2$.encore.parser.meta.v1.QualifiedNameR\bendpointB\x06\n" + + "\x04_doc\"\x95\x02\n" + + "\vSQLDatabase\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x15\n" + + "\x03doc\x18\x02 \x01(\tH\x00R\x03doc\x88\x01\x01\x121\n" + + "\x12migration_rel_path\x18\x03 \x01(\tH\x01R\x10migrationRelPath\x88\x01\x01\x12B\n" + + "\n" + + "migrations\x18\x04 \x03(\v2\".encore.parser.meta.v1.DBMigrationR\n" + + "migrations\x12E\n" + + "\x1fallow_non_sequential_migrations\x18\x05 \x01(\bR\x1callowNonSequentialMigrationsB\x06\n" + + "\x04_docB\x15\n" + + "\x13_migration_rel_path\"c\n" + + "\vDBMigration\x12\x1a\n" + + "\bfilename\x18\x01 \x01(\tR\bfilename\x12\x16\n" + + "\x06number\x18\x02 \x01(\x04R\x06number\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\"q\n" + + "\x06Bucket\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x15\n" + + "\x03doc\x18\x02 \x01(\tH\x00R\x03doc\x88\x01\x01\x12\x1c\n" + + "\tversioned\x18\x03 \x01(\bR\tversioned\x12\x16\n" + + "\x06public\x18\x04 \x01(\bR\x06publicB\x06\n" + + "\x04_doc\"\xb8\a\n" + + "\vPubSubTopic\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x15\n" + + "\x03doc\x18\x02 \x01(\tH\x00R\x03doc\x88\x01\x01\x12@\n" + + "\fmessage_type\x18\x03 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\vmessageType\x12c\n" + + "\x12delivery_guarantee\x18\x04 \x01(\x0e24.encore.parser.meta.v1.PubSubTopic.DeliveryGuaranteeR\x11deliveryGuarantee\x12!\n" + + "\fordering_key\x18\x05 \x01(\tR\vorderingKey\x12L\n" + + "\n" + + "publishers\x18\x06 \x03(\v2,.encore.parser.meta.v1.PubSubTopic.PublisherR\n" + + "publishers\x12U\n" + + "\rsubscriptions\x18\a \x03(\v2/.encore.parser.meta.v1.PubSubTopic.SubscriptionR\rsubscriptions\x1a.\n" + + "\tPublisher\x12!\n" + + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x1a\xaa\x02\n" + + "\fSubscription\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fservice_name\x18\x02 \x01(\tR\vserviceName\x12!\n" + + "\fack_deadline\x18\x03 \x01(\x03R\vackDeadline\x12+\n" + + "\x11message_retention\x18\x04 \x01(\x03R\x10messageRetention\x12Q\n" + + "\fretry_policy\x18\x05 \x01(\v2..encore.parser.meta.v1.PubSubTopic.RetryPolicyR\vretryPolicy\x12,\n" + + "\x0fmax_concurrency\x18\x06 \x01(\x05H\x00R\x0emaxConcurrency\x88\x01\x01B\x12\n" + + "\x10_max_concurrency\x1ap\n" + + "\vRetryPolicy\x12\x1f\n" + + "\vmin_backoff\x18\x01 \x01(\x03R\n" + + "minBackoff\x12\x1f\n" + + "\vmax_backoff\x18\x02 \x01(\x03R\n" + + "maxBackoff\x12\x1f\n" + + "\vmax_retries\x18\x03 \x01(\x03R\n" + + "maxRetries\"8\n" + + "\x11DeliveryGuarantee\x12\x11\n" + + "\rAT_LEAST_ONCE\x10\x00\x12\x10\n" + + "\fEXACTLY_ONCE\x10\x01B\x06\n" + + "\x04_doc\"\x9a\x03\n" + + "\fCacheCluster\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n" + + "\x03doc\x18\x02 \x01(\tR\x03doc\x12J\n" + + "\tkeyspaces\x18\x03 \x03(\v2,.encore.parser.meta.v1.CacheCluster.KeyspaceR\tkeyspaces\x12'\n" + + "\x0feviction_policy\x18\x04 \x01(\tR\x0eevictionPolicy\x1a\xee\x01\n" + + "\bKeyspace\x128\n" + + "\bkey_type\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\akeyType\x12<\n" + + "\n" + + "value_type\x18\x02 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\tvalueType\x12\x18\n" + + "\aservice\x18\x03 \x01(\tR\aservice\x12\x10\n" + + "\x03doc\x18\x04 \x01(\tR\x03doc\x12>\n" + + "\fpath_pattern\x18\x05 \x01(\v2\x1b.encore.parser.meta.v1.PathR\vpathPattern\"\xbb\x03\n" + + "\x06Metric\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12?\n" + + "\n" + + "value_type\x18\x02 \x01(\x0e2 .encore.parser.schema.v1.BuiltinR\tvalueType\x12\x10\n" + + "\x03doc\x18\x03 \x01(\tR\x03doc\x12<\n" + + "\x04kind\x18\x04 \x01(\x0e2(.encore.parser.meta.v1.Metric.MetricKindR\x04kind\x12&\n" + + "\fservice_name\x18\x05 \x01(\tH\x00R\vserviceName\x88\x01\x01\x12;\n" + + "\x06labels\x18\x06 \x03(\v2#.encore.parser.meta.v1.Metric.LabelR\x06labels\x1aa\n" + + "\x05Label\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x124\n" + + "\x04type\x18\x02 \x01(\x0e2 .encore.parser.schema.v1.BuiltinR\x04type\x12\x10\n" + + "\x03doc\x18\x03 \x01(\tR\x03doc\"3\n" + + "\n" + + "MetricKind\x12\v\n" + + "\aCOUNTER\x10\x00\x12\t\n" + + "\x05GAUGE\x10\x01\x12\r\n" + + "\tHISTOGRAM\x10\x02B\x0f\n" + + "\r_service_name*\x1e\n" + + "\x04Lang\x12\x06\n" + + "\x02GO\x10\x00\x12\x0e\n" + + "\n" + + "TYPESCRIPT\x10\x01B&Z$encr.dev/proto/encore/parser/meta/v1b\x06proto3" var ( file_encore_parser_meta_v1_meta_proto_rawDescOnce sync.Once - file_encore_parser_meta_v1_meta_proto_rawDescData = file_encore_parser_meta_v1_meta_proto_rawDesc + file_encore_parser_meta_v1_meta_proto_rawDescData []byte ) func file_encore_parser_meta_v1_meta_proto_rawDescGZIP() []byte { file_encore_parser_meta_v1_meta_proto_rawDescOnce.Do(func() { - file_encore_parser_meta_v1_meta_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_parser_meta_v1_meta_proto_rawDescData) + file_encore_parser_meta_v1_meta_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_parser_meta_v1_meta_proto_rawDesc), len(file_encore_parser_meta_v1_meta_proto_rawDesc))) }) return file_encore_parser_meta_v1_meta_proto_rawDescData } var file_encore_parser_meta_v1_meta_proto_enumTypes = make([]protoimpl.EnumInfo, 11) var file_encore_parser_meta_v1_meta_proto_msgTypes = make([]protoimpl.MessageInfo, 41) -var file_encore_parser_meta_v1_meta_proto_goTypes = []interface{}{ +var file_encore_parser_meta_v1_meta_proto_goTypes = []any{ (Lang)(0), // 0: encore.parser.meta.v1.Lang (BucketUsage_Operation)(0), // 1: encore.parser.meta.v1.BucketUsage.Operation (Selector_Type)(0), // 2: encore.parser.meta.v1.Selector.Type @@ -4531,481 +4151,11 @@ func file_encore_parser_meta_v1_meta_proto_init() { if File_encore_parser_meta_v1_meta_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_parser_meta_v1_meta_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Data); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QualifiedName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Package); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Service); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketUsage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Selector); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Middleware); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TraceNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCDefNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCCallNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticCallNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthHandlerDefNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopicDefNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubPublishNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubSubscriberNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceInitNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MiddlewareDefNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheKeyspaceDefNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Path); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PathSegment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Gateway); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CronJob); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLDatabase); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBMigration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Bucket); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheCluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPC_ExposeOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPC_StaticAssets); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPC_StaticAssets_HeaderValues); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Gateway_Explicit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic_Publisher); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic_Subscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic_RetryPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheCluster_Keyspace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metric_Label); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_parser_meta_v1_meta_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_encore_parser_meta_v1_meta_proto_msgTypes[0].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[6].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[7].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[8].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[9].OneofWrappers = []any{ (*TraceNode_RpcDef)(nil), (*TraceNode_RpcCall)(nil), (*TraceNode_StaticCall)(nil), @@ -5017,21 +4167,21 @@ func file_encore_parser_meta_v1_meta_proto_init() { (*TraceNode_MiddlewareDef)(nil), (*TraceNode_CacheKeyspace)(nil), } - file_encore_parser_meta_v1_meta_proto_msgTypes[21].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[23].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[26].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[32].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[35].OneofWrappers = []interface{}{} - file_encore_parser_meta_v1_meta_proto_msgTypes[37].OneofWrappers = []interface{}{} + file_encore_parser_meta_v1_meta_proto_msgTypes[21].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[22].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[23].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[24].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[26].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[27].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[29].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[32].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[35].OneofWrappers = []any{} + file_encore_parser_meta_v1_meta_proto_msgTypes[37].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_parser_meta_v1_meta_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_parser_meta_v1_meta_proto_rawDesc), len(file_encore_parser_meta_v1_meta_proto_rawDesc)), NumEnums: 11, NumMessages: 41, NumExtensions: 0, @@ -5043,7 +4193,6 @@ func file_encore_parser_meta_v1_meta_proto_init() { MessageInfos: file_encore_parser_meta_v1_meta_proto_msgTypes, }.Build() File_encore_parser_meta_v1_meta_proto = out.File - file_encore_parser_meta_v1_meta_proto_rawDesc = nil file_encore_parser_meta_v1_meta_proto_goTypes = nil file_encore_parser_meta_v1_meta_proto_depIdxs = nil } diff --git a/proto/encore/parser/schema/v1/schema.pb.go b/proto/encore/parser/schema/v1/schema.pb.go index 313fa1c82f..62fbc4e28c 100644 --- a/proto/encore/parser/schema/v1/schema.pb.go +++ b/proto/encore/parser/schema/v1/schema.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/parser/schema/v1/schema.proto package v1 @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -182,11 +183,8 @@ func (ValidationRule_Is) EnumDescriptor() ([]byte, []int) { // A type may be concrete or abstract, however to determine if a type is abstract you need to recursive through the // structures looking for any uses of the TypeParameterPtr type type Type struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Typ: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Typ: // // *Type_Named // *Type_Struct @@ -196,19 +194,20 @@ type Type struct { // *Type_Pointer // *Type_Union // *Type_Literal + // *Type_Option // *Type_TypeParameter // *Type_Config - Typ isType_Typ `protobuf_oneof:"typ"` - Validation *ValidationExpr `protobuf:"bytes,15,opt,name=validation,proto3,oneof" json:"validation,omitempty"` // The validation expression for this type + Typ isType_Typ `protobuf_oneof:"typ"` + Validation *ValidationExpr `protobuf:"bytes,15,opt,name=validation,proto3,oneof" json:"validation,omitempty"` // The validation expression for this type + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Type) Reset() { *x = Type{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Type) String() string { @@ -219,7 +218,7 @@ func (*Type) ProtoMessage() {} func (x *Type) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -234,79 +233,108 @@ func (*Type) Descriptor() ([]byte, []int) { return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{0} } -func (m *Type) GetTyp() isType_Typ { - if m != nil { - return m.Typ +func (x *Type) GetTyp() isType_Typ { + if x != nil { + return x.Typ } return nil } func (x *Type) GetNamed() *Named { - if x, ok := x.GetTyp().(*Type_Named); ok { - return x.Named + if x != nil { + if x, ok := x.Typ.(*Type_Named); ok { + return x.Named + } } return nil } func (x *Type) GetStruct() *Struct { - if x, ok := x.GetTyp().(*Type_Struct); ok { - return x.Struct + if x != nil { + if x, ok := x.Typ.(*Type_Struct); ok { + return x.Struct + } } return nil } func (x *Type) GetMap() *Map { - if x, ok := x.GetTyp().(*Type_Map); ok { - return x.Map + if x != nil { + if x, ok := x.Typ.(*Type_Map); ok { + return x.Map + } } return nil } func (x *Type) GetList() *List { - if x, ok := x.GetTyp().(*Type_List); ok { - return x.List + if x != nil { + if x, ok := x.Typ.(*Type_List); ok { + return x.List + } } return nil } func (x *Type) GetBuiltin() Builtin { - if x, ok := x.GetTyp().(*Type_Builtin); ok { - return x.Builtin + if x != nil { + if x, ok := x.Typ.(*Type_Builtin); ok { + return x.Builtin + } } return Builtin_ANY } func (x *Type) GetPointer() *Pointer { - if x, ok := x.GetTyp().(*Type_Pointer); ok { - return x.Pointer + if x != nil { + if x, ok := x.Typ.(*Type_Pointer); ok { + return x.Pointer + } } return nil } func (x *Type) GetUnion() *Union { - if x, ok := x.GetTyp().(*Type_Union); ok { - return x.Union + if x != nil { + if x, ok := x.Typ.(*Type_Union); ok { + return x.Union + } } return nil } func (x *Type) GetLiteral() *Literal { - if x, ok := x.GetTyp().(*Type_Literal); ok { - return x.Literal + if x != nil { + if x, ok := x.Typ.(*Type_Literal); ok { + return x.Literal + } + } + return nil +} + +func (x *Type) GetOption() *Option { + if x != nil { + if x, ok := x.Typ.(*Type_Option); ok { + return x.Option + } } return nil } func (x *Type) GetTypeParameter() *TypeParameterRef { - if x, ok := x.GetTyp().(*Type_TypeParameter); ok { - return x.TypeParameter + if x != nil { + if x, ok := x.Typ.(*Type_TypeParameter); ok { + return x.TypeParameter + } } return nil } func (x *Type) GetConfig() *ConfigValue { - if x, ok := x.GetTyp().(*Type_Config); ok { - return x.Config + if x != nil { + if x, ok := x.Typ.(*Type_Config); ok { + return x.Config + } } return nil } @@ -355,6 +383,10 @@ type Type_Literal struct { Literal *Literal `protobuf:"bytes,10,opt,name=literal,proto3,oneof"` // The type is a literal } +type Type_Option struct { + Option *Option `protobuf:"bytes,11,opt,name=option,proto3,oneof"` // The type is an option type +} + type Type_TypeParameter struct { // Abstract Types TypeParameter *TypeParameterRef `protobuf:"bytes,6,opt,name=type_parameter,json=typeParameter,proto3,oneof"` // This is placeholder for a unknown type within the declaration block @@ -381,16 +413,15 @@ func (*Type_Union) isType_Typ() {} func (*Type_Literal) isType_Typ() {} +func (*Type_Option) isType_Typ() {} + func (*Type_TypeParameter) isType_Typ() {} func (*Type_Config) isType_Typ() {} type ValidationRule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Rule: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Rule: // // *ValidationRule_MinLen // *ValidationRule_MaxLen @@ -400,16 +431,16 @@ type ValidationRule struct { // *ValidationRule_EndsWith // *ValidationRule_MatchesRegexp // *ValidationRule_Is_ - Rule isValidationRule_Rule `protobuf_oneof:"rule"` + Rule isValidationRule_Rule `protobuf_oneof:"rule"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidationRule) Reset() { *x = ValidationRule{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ValidationRule) String() string { @@ -420,7 +451,7 @@ func (*ValidationRule) ProtoMessage() {} func (x *ValidationRule) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -435,65 +466,81 @@ func (*ValidationRule) Descriptor() ([]byte, []int) { return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{1} } -func (m *ValidationRule) GetRule() isValidationRule_Rule { - if m != nil { - return m.Rule +func (x *ValidationRule) GetRule() isValidationRule_Rule { + if x != nil { + return x.Rule } return nil } func (x *ValidationRule) GetMinLen() uint64 { - if x, ok := x.GetRule().(*ValidationRule_MinLen); ok { - return x.MinLen + if x != nil { + if x, ok := x.Rule.(*ValidationRule_MinLen); ok { + return x.MinLen + } } return 0 } func (x *ValidationRule) GetMaxLen() uint64 { - if x, ok := x.GetRule().(*ValidationRule_MaxLen); ok { - return x.MaxLen + if x != nil { + if x, ok := x.Rule.(*ValidationRule_MaxLen); ok { + return x.MaxLen + } } return 0 } func (x *ValidationRule) GetMinVal() float64 { - if x, ok := x.GetRule().(*ValidationRule_MinVal); ok { - return x.MinVal + if x != nil { + if x, ok := x.Rule.(*ValidationRule_MinVal); ok { + return x.MinVal + } } return 0 } func (x *ValidationRule) GetMaxVal() float64 { - if x, ok := x.GetRule().(*ValidationRule_MaxVal); ok { - return x.MaxVal + if x != nil { + if x, ok := x.Rule.(*ValidationRule_MaxVal); ok { + return x.MaxVal + } } return 0 } func (x *ValidationRule) GetStartsWith() string { - if x, ok := x.GetRule().(*ValidationRule_StartsWith); ok { - return x.StartsWith + if x != nil { + if x, ok := x.Rule.(*ValidationRule_StartsWith); ok { + return x.StartsWith + } } return "" } func (x *ValidationRule) GetEndsWith() string { - if x, ok := x.GetRule().(*ValidationRule_EndsWith); ok { - return x.EndsWith + if x != nil { + if x, ok := x.Rule.(*ValidationRule_EndsWith); ok { + return x.EndsWith + } } return "" } func (x *ValidationRule) GetMatchesRegexp() string { - if x, ok := x.GetRule().(*ValidationRule_MatchesRegexp); ok { - return x.MatchesRegexp + if x != nil { + if x, ok := x.Rule.(*ValidationRule_MatchesRegexp); ok { + return x.MatchesRegexp + } } return "" } func (x *ValidationRule) GetIs() ValidationRule_Is { - if x, ok := x.GetRule().(*ValidationRule_Is_); ok { - return x.Is + if x != nil { + if x, ok := x.Rule.(*ValidationRule_Is_); ok { + return x.Is + } } return ValidationRule_UNKNOWN } @@ -551,25 +598,22 @@ func (*ValidationRule_MatchesRegexp) isValidationRule_Rule() {} func (*ValidationRule_Is_) isValidationRule_Rule() {} type ValidationExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Expr: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Expr: // // *ValidationExpr_Rule // *ValidationExpr_And_ // *ValidationExpr_Or_ - Expr isValidationExpr_Expr `protobuf_oneof:"expr"` + Expr isValidationExpr_Expr `protobuf_oneof:"expr"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidationExpr) Reset() { *x = ValidationExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ValidationExpr) String() string { @@ -580,7 +624,7 @@ func (*ValidationExpr) ProtoMessage() {} func (x *ValidationExpr) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -595,30 +639,36 @@ func (*ValidationExpr) Descriptor() ([]byte, []int) { return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{2} } -func (m *ValidationExpr) GetExpr() isValidationExpr_Expr { - if m != nil { - return m.Expr +func (x *ValidationExpr) GetExpr() isValidationExpr_Expr { + if x != nil { + return x.Expr } return nil } func (x *ValidationExpr) GetRule() *ValidationRule { - if x, ok := x.GetExpr().(*ValidationExpr_Rule); ok { - return x.Rule + if x != nil { + if x, ok := x.Expr.(*ValidationExpr_Rule); ok { + return x.Rule + } } return nil } func (x *ValidationExpr) GetAnd() *ValidationExpr_And { - if x, ok := x.GetExpr().(*ValidationExpr_And_); ok { - return x.And + if x != nil { + if x, ok := x.Expr.(*ValidationExpr_And_); ok { + return x.And + } } return nil } func (x *ValidationExpr) GetOr() *ValidationExpr_Or { - if x, ok := x.GetExpr().(*ValidationExpr_Or_); ok { - return x.Or + if x != nil { + if x, ok := x.Expr.(*ValidationExpr_Or_); ok { + return x.Or + } } return nil } @@ -647,21 +697,18 @@ func (*ValidationExpr_Or_) isValidationExpr_Expr() {} // TypeParameterRef is a reference to a `TypeParameter` within a declaration block type TypeParameterRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DeclId uint32 `protobuf:"varint,1,opt,name=decl_id,json=declId,proto3" json:"decl_id,omitempty"` // The ID of the declaration block + ParamIdx uint32 `protobuf:"varint,2,opt,name=param_idx,json=paramIdx,proto3" json:"param_idx,omitempty"` // The index of the type parameter within the declaration block unknownFields protoimpl.UnknownFields - - DeclId uint32 `protobuf:"varint,1,opt,name=decl_id,json=declId,proto3" json:"decl_id,omitempty"` // The ID of the declaration block - ParamIdx uint32 `protobuf:"varint,2,opt,name=param_idx,json=paramIdx,proto3" json:"param_idx,omitempty"` // The index of the type parameter within the declaration block + sizeCache protoimpl.SizeCache } func (x *TypeParameterRef) Reset() { *x = TypeParameterRef{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TypeParameterRef) String() string { @@ -672,7 +719,7 @@ func (*TypeParameterRef) ProtoMessage() {} func (x *TypeParameterRef) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -729,25 +776,22 @@ func (x *TypeParameterRef) GetParamIdx() uint32 { // // ``` type Decl struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // A internal ID which we can refer to this declaration by + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The name of the type as assigned in the code + Type *Type `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // The underlying type of this declaration + TypeParams []*TypeParameter `protobuf:"bytes,6,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` // Any type parameters on this declaration (note; instantiated types used within this declaration would not be captured here) + Doc string `protobuf:"bytes,4,opt,name=doc,proto3" json:"doc,omitempty"` // The comment block on the type + Loc *Loc `protobuf:"bytes,5,opt,name=loc,proto3" json:"loc,omitempty"` // The location of the declaration within the project unknownFields protoimpl.UnknownFields - - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // A internal ID which we can refer to this declaration by - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The name of the type as assigned in the code - Type *Type `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // The underlying type of this declaration - TypeParams []*TypeParameter `protobuf:"bytes,6,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` // Any type parameters on this declaration (note; instantiated types used within this declaration would not be captured here) - Doc string `protobuf:"bytes,4,opt,name=doc,proto3" json:"doc,omitempty"` // The comment block on the type - Loc *Loc `protobuf:"bytes,5,opt,name=loc,proto3" json:"loc,omitempty"` // The location of the declaration within the project + sizeCache protoimpl.SizeCache } func (x *Decl) Reset() { *x = Decl{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Decl) String() string { @@ -758,7 +802,7 @@ func (*Decl) ProtoMessage() {} func (x *Decl) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -818,20 +862,17 @@ func (x *Decl) GetLoc() *Loc { // TypeParameter acts as a place holder for an (as of yet) unknown type in the declaration; the type parameter is // replaced with a type argument upon instantiation of the parameterized function or type. type TypeParameter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The identifier given to the type parameter unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The identifier given to the type parameter + sizeCache protoimpl.SizeCache } func (x *TypeParameter) Reset() { *x = TypeParameter{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TypeParameter) String() string { @@ -842,7 +883,7 @@ func (*TypeParameter) ProtoMessage() {} func (x *TypeParameter) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -866,28 +907,25 @@ func (x *TypeParameter) GetName() string { // Loc is the location of a declaration within the code base type Loc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PkgPath string `protobuf:"bytes,1,opt,name=pkg_path,json=pkgPath,proto3" json:"pkg_path,omitempty"` // The package path within the repo (i.e. `users/signup`) + PkgName string `protobuf:"bytes,2,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` // The package name (i.e. `signup`) + Filename string `protobuf:"bytes,3,opt,name=filename,proto3" json:"filename,omitempty"` // The file name (i.e. `signup.go`) + StartPos int32 `protobuf:"varint,4,opt,name=start_pos,json=startPos,proto3" json:"start_pos,omitempty"` // The starting index within the file for this node + EndPos int32 `protobuf:"varint,5,opt,name=end_pos,json=endPos,proto3" json:"end_pos,omitempty"` // The ending index within the file for this node + SrcLineStart int32 `protobuf:"varint,6,opt,name=src_line_start,json=srcLineStart,proto3" json:"src_line_start,omitempty"` // The starting line within the file for this node + SrcLineEnd int32 `protobuf:"varint,7,opt,name=src_line_end,json=srcLineEnd,proto3" json:"src_line_end,omitempty"` // The ending line within the file for this node + SrcColStart int32 `protobuf:"varint,8,opt,name=src_col_start,json=srcColStart,proto3" json:"src_col_start,omitempty"` // The starting column on the starting line for this node + SrcColEnd int32 `protobuf:"varint,9,opt,name=src_col_end,json=srcColEnd,proto3" json:"src_col_end,omitempty"` // The ending column on the ending line for this node unknownFields protoimpl.UnknownFields - - PkgPath string `protobuf:"bytes,1,opt,name=pkg_path,json=pkgPath,proto3" json:"pkg_path,omitempty"` // The package path within the repo (i.e. `users/signup`) - PkgName string `protobuf:"bytes,2,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` // The package name (i.e. `signup`) - Filename string `protobuf:"bytes,3,opt,name=filename,proto3" json:"filename,omitempty"` // The file name (i.e. `signup.go`) - StartPos int32 `protobuf:"varint,4,opt,name=start_pos,json=startPos,proto3" json:"start_pos,omitempty"` // The starting index within the file for this node - EndPos int32 `protobuf:"varint,5,opt,name=end_pos,json=endPos,proto3" json:"end_pos,omitempty"` // The ending index within the file for this node - SrcLineStart int32 `protobuf:"varint,6,opt,name=src_line_start,json=srcLineStart,proto3" json:"src_line_start,omitempty"` // The starting line within the file for this node - SrcLineEnd int32 `protobuf:"varint,7,opt,name=src_line_end,json=srcLineEnd,proto3" json:"src_line_end,omitempty"` // The ending line within the file for this node - SrcColStart int32 `protobuf:"varint,8,opt,name=src_col_start,json=srcColStart,proto3" json:"src_col_start,omitempty"` // The starting column on the starting line for this node - SrcColEnd int32 `protobuf:"varint,9,opt,name=src_col_end,json=srcColEnd,proto3" json:"src_col_end,omitempty"` // The ending column on the ending line for this node + sizeCache protoimpl.SizeCache } func (x *Loc) Reset() { *x = Loc{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Loc) String() string { @@ -898,7 +936,7 @@ func (*Loc) ProtoMessage() {} func (x *Loc) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -978,21 +1016,18 @@ func (x *Loc) GetSrcColEnd() int32 { // Named references declaration block by name type Named struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The `Decl.id` this name refers to + TypeArguments []*Type `protobuf:"bytes,2,rep,name=type_arguments,json=typeArguments,proto3" json:"type_arguments,omitempty"` // The type arguments used to instantiate this parameterised declaration unknownFields protoimpl.UnknownFields - - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The `Decl.id` this name refers to - TypeArguments []*Type `protobuf:"bytes,2,rep,name=type_arguments,json=typeArguments,proto3" json:"type_arguments,omitempty"` // The type arguments used to instantiate this parameterised declaration + sizeCache protoimpl.SizeCache } func (x *Named) Reset() { *x = Named{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Named) String() string { @@ -1003,7 +1038,7 @@ func (*Named) ProtoMessage() {} func (x *Named) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1034,20 +1069,17 @@ func (x *Named) GetTypeArguments() []*Type { // Struct contains a list of fields which make up the struct type Struct struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Struct) Reset() { *x = Struct{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Struct) String() string { @@ -1058,7 +1090,7 @@ func (*Struct) ProtoMessage() {} func (x *Struct) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1082,28 +1114,25 @@ func (x *Struct) GetFields() []*Field { // Field represents a field within a struct type Field struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Typ *Type `protobuf:"bytes,1,opt,name=typ,proto3" json:"typ,omitempty"` // The type of the field - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The name of the field - Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // The comment for the field - JsonName string `protobuf:"bytes,4,opt,name=json_name,json=jsonName,proto3" json:"json_name,omitempty"` // The optional json name if it's different from the field name. (The value "-" indicates to omit the field.) - Optional bool `protobuf:"varint,5,opt,name=optional,proto3" json:"optional,omitempty"` // Whether the field is optional. - QueryStringName string `protobuf:"bytes,6,opt,name=query_string_name,json=queryStringName,proto3" json:"query_string_name,omitempty"` // The query string name to use in GET/HEAD/DELETE requests. (The value "-" indicates to omit the field.) - RawTag string `protobuf:"bytes,7,opt,name=raw_tag,json=rawTag,proto3" json:"raw_tag,omitempty"` // The original Go struct tag; should not be parsed individually - Tags []*Tag `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"` // Parsed go struct tags. Used for marshalling hints - Wire *WireSpec `protobuf:"bytes,9,opt,name=wire,proto3,oneof" json:"wire,omitempty"` // The explicitly set wire location of the field. + state protoimpl.MessageState `protogen:"open.v1"` + Typ *Type `protobuf:"bytes,1,opt,name=typ,proto3" json:"typ,omitempty"` // The type of the field + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The name of the field + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // The comment for the field + JsonName string `protobuf:"bytes,4,opt,name=json_name,json=jsonName,proto3" json:"json_name,omitempty"` // The optional json name if it's different from the field name. (The value "-" indicates to omit the field.) + Optional bool `protobuf:"varint,5,opt,name=optional,proto3" json:"optional,omitempty"` // Whether the field is optional. + QueryStringName string `protobuf:"bytes,6,opt,name=query_string_name,json=queryStringName,proto3" json:"query_string_name,omitempty"` // The query string name to use in GET/HEAD/DELETE requests. (The value "-" indicates to omit the field.) + RawTag string `protobuf:"bytes,7,opt,name=raw_tag,json=rawTag,proto3" json:"raw_tag,omitempty"` // The original Go struct tag; should not be parsed individually + Tags []*Tag `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"` // Parsed go struct tags. Used for marshalling hints + Wire *WireSpec `protobuf:"bytes,9,opt,name=wire,proto3,oneof" json:"wire,omitempty"` // The explicitly set wire location of the field. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Field) Reset() { *x = Field{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Field) String() string { @@ -1114,7 +1143,7 @@ func (*Field) ProtoMessage() {} func (x *Field) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1194,26 +1223,23 @@ func (x *Field) GetWire() *WireSpec { // WireLocation provides information about how a field should be encoded on the wire. type WireSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Location: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Location: // // *WireSpec_Header_ // *WireSpec_Query_ // *WireSpec_Cookie_ // *WireSpec_HttpStatus_ - Location isWireSpec_Location `protobuf_oneof:"location"` + Location isWireSpec_Location `protobuf_oneof:"location"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WireSpec) Reset() { *x = WireSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WireSpec) String() string { @@ -1224,7 +1250,7 @@ func (*WireSpec) ProtoMessage() {} func (x *WireSpec) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1239,37 +1265,45 @@ func (*WireSpec) Descriptor() ([]byte, []int) { return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{10} } -func (m *WireSpec) GetLocation() isWireSpec_Location { - if m != nil { - return m.Location +func (x *WireSpec) GetLocation() isWireSpec_Location { + if x != nil { + return x.Location } return nil } func (x *WireSpec) GetHeader() *WireSpec_Header { - if x, ok := x.GetLocation().(*WireSpec_Header_); ok { - return x.Header + if x != nil { + if x, ok := x.Location.(*WireSpec_Header_); ok { + return x.Header + } } return nil } func (x *WireSpec) GetQuery() *WireSpec_Query { - if x, ok := x.GetLocation().(*WireSpec_Query_); ok { - return x.Query + if x != nil { + if x, ok := x.Location.(*WireSpec_Query_); ok { + return x.Query + } } return nil } func (x *WireSpec) GetCookie() *WireSpec_Cookie { - if x, ok := x.GetLocation().(*WireSpec_Cookie_); ok { - return x.Cookie + if x != nil { + if x, ok := x.Location.(*WireSpec_Cookie_); ok { + return x.Cookie + } } return nil } func (x *WireSpec) GetHttpStatus() *WireSpec_HttpStatus { - if x, ok := x.GetLocation().(*WireSpec_HttpStatus_); ok { - return x.HttpStatus + if x != nil { + if x, ok := x.Location.(*WireSpec_HttpStatus_); ok { + return x.HttpStatus + } } return nil } @@ -1303,22 +1337,19 @@ func (*WireSpec_Cookie_) isWireSpec_Location() {} func (*WireSpec_HttpStatus_) isWireSpec_Location() {} type Tag struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The tag key (e.g. json, query, header ...) + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The tag name (e.g. first_name, firstName, ...) + Options []string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` // Key Options (e.g. omitempty, optional ...) unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The tag key (e.g. json, query, header ...) - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The tag name (e.g. first_name, firstName, ...) - Options []string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` // Key Options (e.g. omitempty, optional ...) + sizeCache protoimpl.SizeCache } func (x *Tag) Reset() { *x = Tag{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Tag) String() string { @@ -1329,7 +1360,7 @@ func (*Tag) ProtoMessage() {} func (x *Tag) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1367,21 +1398,18 @@ func (x *Tag) GetOptions() []string { // Map represents a map Type type Map struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *Type `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The type of the key for this map + Value *Type `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // The type of the value of this map unknownFields protoimpl.UnknownFields - - Key *Type `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The type of the key for this map - Value *Type `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // The type of the value of this map + sizeCache protoimpl.SizeCache } func (x *Map) Reset() { *x = Map{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Map) String() string { @@ -1392,7 +1420,7 @@ func (*Map) ProtoMessage() {} func (x *Map) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1423,20 +1451,17 @@ func (x *Map) GetValue() *Type { // List represents a list type (array or slice) type List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Elem *Type `protobuf:"bytes,1,opt,name=elem,proto3" json:"elem,omitempty"` // The type of the elements in the list unknownFields protoimpl.UnknownFields - - Elem *Type `protobuf:"bytes,1,opt,name=elem,proto3" json:"elem,omitempty"` // The type of the elements in the list + sizeCache protoimpl.SizeCache } func (x *List) Reset() { *x = List{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *List) String() string { @@ -1447,7 +1472,7 @@ func (*List) ProtoMessage() {} func (x *List) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1471,20 +1496,17 @@ func (x *List) GetElem() *Type { // Pointer represents a pointer to a base type type Pointer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Base *Type `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` // The type of the pointer unknownFields protoimpl.UnknownFields - - Base *Type `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` // The type of the pointer + sizeCache protoimpl.SizeCache } func (x *Pointer) Reset() { *x = Pointer{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Pointer) String() string { @@ -1495,7 +1517,7 @@ func (*Pointer) ProtoMessage() {} func (x *Pointer) ProtoReflect() protoreflect.Message { mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1517,22 +1539,64 @@ func (x *Pointer) GetBase() *Type { return nil } +// Option represents an option type. +type Option struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value *Type `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // The value it may contain. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Option) Reset() { + *x = Option{} + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Option) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Option) ProtoMessage() {} + +func (x *Option) ProtoReflect() protoreflect.Message { + mi := &file_encore_parser_schema_v1_schema_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 Option.ProtoReflect.Descriptor instead. +func (*Option) Descriptor() ([]byte, []int) { + return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{15} +} + +func (x *Option) GetValue() *Type { + if x != nil { + return x.Value + } + return nil +} + // Union represents a union type. type Union struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Types []*Type `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty"` // The types that make up the union unknownFields protoimpl.UnknownFields - - Types []*Type `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty"` // The types that make up the union + sizeCache protoimpl.SizeCache } func (x *Union) Reset() { *x = Union{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Union) String() string { @@ -1542,8 +1606,8 @@ func (x *Union) String() string { func (*Union) ProtoMessage() {} func (x *Union) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[16] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1555,7 +1619,7 @@ func (x *Union) ProtoReflect() protoreflect.Message { // Deprecated: Use Union.ProtoReflect.Descriptor instead. func (*Union) Descriptor() ([]byte, []int) { - return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{15} + return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{16} } func (x *Union) GetTypes() []*Type { @@ -1567,27 +1631,24 @@ func (x *Union) GetTypes() []*Type { // Literal represents a literal value. type Literal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *Literal_Str // *Literal_Boolean // *Literal_Int // *Literal_Float // *Literal_Null - Value isLiteral_Value `protobuf_oneof:"value"` + Value isLiteral_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Literal) Reset() { *x = Literal{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Literal) String() string { @@ -1597,8 +1658,8 @@ func (x *Literal) String() string { func (*Literal) ProtoMessage() {} func (x *Literal) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1610,47 +1671,57 @@ func (x *Literal) ProtoReflect() protoreflect.Message { // Deprecated: Use Literal.ProtoReflect.Descriptor instead. func (*Literal) Descriptor() ([]byte, []int) { - return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{16} + return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{17} } -func (m *Literal) GetValue() isLiteral_Value { - if m != nil { - return m.Value +func (x *Literal) GetValue() isLiteral_Value { + if x != nil { + return x.Value } return nil } func (x *Literal) GetStr() string { - if x, ok := x.GetValue().(*Literal_Str); ok { - return x.Str + if x != nil { + if x, ok := x.Value.(*Literal_Str); ok { + return x.Str + } } return "" } func (x *Literal) GetBoolean() bool { - if x, ok := x.GetValue().(*Literal_Boolean); ok { - return x.Boolean + if x != nil { + if x, ok := x.Value.(*Literal_Boolean); ok { + return x.Boolean + } } return false } func (x *Literal) GetInt() int64 { - if x, ok := x.GetValue().(*Literal_Int); ok { - return x.Int + if x != nil { + if x, ok := x.Value.(*Literal_Int); ok { + return x.Int + } } return 0 } func (x *Literal) GetFloat() float64 { - if x, ok := x.GetValue().(*Literal_Float); ok { - return x.Float + if x != nil { + if x, ok := x.Value.(*Literal_Float); ok { + return x.Float + } } return 0 } func (x *Literal) GetNull() bool { - if x, ok := x.GetValue().(*Literal_Null); ok { - return x.Null + if x != nil { + if x, ok := x.Value.(*Literal_Null); ok { + return x.Null + } } return false } @@ -1691,21 +1762,18 @@ func (*Literal_Null) isLiteral_Value() {} // ConfigValue represents a config value wrapper. type ConfigValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Elem *Type `protobuf:"bytes,1,opt,name=elem,proto3" json:"elem,omitempty"` // The type of the config value + IsValuesList bool `protobuf:"varint,2,opt,name=IsValuesList,proto3" json:"IsValuesList,omitempty"` // Does this config value represent the type to `config.Values[T]`. If false it represents `config.Value[T]` unknownFields protoimpl.UnknownFields - - Elem *Type `protobuf:"bytes,1,opt,name=elem,proto3" json:"elem,omitempty"` // The type of the config value - IsValuesList bool `protobuf:"varint,2,opt,name=IsValuesList,proto3" json:"IsValuesList,omitempty"` // Does this config value represent the type to `config.Values[T]`. If false it represents `config.Value[T]` + sizeCache protoimpl.SizeCache } func (x *ConfigValue) Reset() { *x = ConfigValue{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConfigValue) String() string { @@ -1715,8 +1783,8 @@ func (x *ConfigValue) String() string { func (*ConfigValue) ProtoMessage() {} func (x *ConfigValue) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[18] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1728,7 +1796,7 @@ func (x *ConfigValue) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigValue.ProtoReflect.Descriptor instead. func (*ConfigValue) Descriptor() ([]byte, []int) { - return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{17} + return file_encore_parser_schema_v1_schema_proto_rawDescGZIP(), []int{18} } func (x *ConfigValue) GetElem() *Type { @@ -1746,20 +1814,17 @@ func (x *ConfigValue) GetIsValuesList() bool { } type ValidationExpr_And struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Exprs []*ValidationExpr `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` unknownFields protoimpl.UnknownFields - - Exprs []*ValidationExpr `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidationExpr_And) Reset() { *x = ValidationExpr_And{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ValidationExpr_And) String() string { @@ -1769,8 +1834,8 @@ func (x *ValidationExpr_And) String() string { func (*ValidationExpr_And) ProtoMessage() {} func (x *ValidationExpr_And) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[19] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1793,20 +1858,17 @@ func (x *ValidationExpr_And) GetExprs() []*ValidationExpr { } type ValidationExpr_Or struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Exprs []*ValidationExpr `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` unknownFields protoimpl.UnknownFields - - Exprs []*ValidationExpr `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidationExpr_Or) Reset() { *x = ValidationExpr_Or{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ValidationExpr_Or) String() string { @@ -1816,8 +1878,8 @@ func (x *ValidationExpr_Or) String() string { func (*ValidationExpr_Or) ProtoMessage() {} func (x *ValidationExpr_Or) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1840,22 +1902,19 @@ func (x *ValidationExpr_Or) GetExprs() []*ValidationExpr { } type WireSpec_Header struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The explicitly specified header name. // If empty, the name of the field is used. - Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WireSpec_Header) Reset() { *x = WireSpec_Header{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WireSpec_Header) String() string { @@ -1865,8 +1924,8 @@ func (x *WireSpec_Header) String() string { func (*WireSpec_Header) ProtoMessage() {} func (x *WireSpec_Header) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[21] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1889,22 +1948,19 @@ func (x *WireSpec_Header) GetName() string { } type WireSpec_Query struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The explicitly specified query string name. // If empty, the name of the field is used. - Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WireSpec_Query) Reset() { *x = WireSpec_Query{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WireSpec_Query) String() string { @@ -1914,8 +1970,8 @@ func (x *WireSpec_Query) String() string { func (*WireSpec_Query) ProtoMessage() {} func (x *WireSpec_Query) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[22] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1938,22 +1994,19 @@ func (x *WireSpec_Query) GetName() string { } type WireSpec_Cookie struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The explicitly specified cookie string name. // If empty, the name of the field is used. - Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WireSpec_Cookie) Reset() { *x = WireSpec_Cookie{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WireSpec_Cookie) String() string { @@ -1963,8 +2016,8 @@ func (x *WireSpec_Cookie) String() string { func (*WireSpec_Cookie) ProtoMessage() {} func (x *WireSpec_Cookie) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[23] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1987,18 +2040,16 @@ func (x *WireSpec_Cookie) GetName() string { } type WireSpec_HttpStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WireSpec_HttpStatus) Reset() { *x = WireSpec_HttpStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WireSpec_HttpStatus) String() string { @@ -2008,8 +2059,8 @@ func (x *WireSpec_HttpStatus) String() string { func (*WireSpec_HttpStatus) ProtoMessage() {} func (x *WireSpec_HttpStatus) ProtoReflect() protoreflect.Message { - mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_encore_parser_schema_v1_schema_proto_msgTypes[24] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2026,272 +2077,178 @@ func (*WireSpec_HttpStatus) Descriptor() ([]byte, []int) { var File_encore_parser_schema_v1_schema_proto protoreflect.FileDescriptor -var file_encore_parser_schema_v1_schema_proto_rawDesc = []byte{ - 0x0a, 0x24, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x22, - 0xca, 0x05, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x64, - 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x6d, - 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x33, 0x0a, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, - 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, - 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x36, - 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x79, 0x70, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x01, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x74, 0x79, 0x70, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x02, 0x0a, - 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x19, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x6d, 0x61, - 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x6d, - 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, - 0x12, 0x19, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x12, 0x1d, - 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x12, 0x27, 0x0a, - 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x3c, 0x0a, 0x02, 0x69, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x49, 0x73, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x73, 0x22, 0x25, 0x0a, 0x02, 0x49, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x41, 0x49, 0x4c, - 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x72, - 0x75, 0x6c, 0x65, 0x22, 0xe1, 0x02, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, - 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x41, 0x6e, 0x64, 0x48, - 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4f, 0x72, 0x48, 0x00, - 0x52, 0x02, 0x6f, 0x72, 0x1a, 0x44, 0x0a, 0x03, 0x41, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x65, - 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x78, 0x70, 0x72, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x1a, 0x43, 0x0a, 0x02, 0x4f, 0x72, - 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x42, - 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x48, 0x0a, 0x10, 0x54, 0x79, 0x70, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x17, 0x0a, 0x07, 0x64, - 0x65, 0x63, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, - 0x63, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x64, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x64, - 0x78, 0x22, 0xe8, 0x01, 0x0a, 0x04, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, - 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, - 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x12, 0x2e, 0x0a, 0x03, - 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x22, 0x23, 0x0a, 0x0d, - 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x99, 0x02, 0x0a, 0x03, 0x4c, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x5f, - 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x50, 0x6f, - 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x72, 0x63, 0x4c, 0x69, - 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x6c, - 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, - 0x72, 0x63, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x72, 0x63, - 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x73, 0x72, 0x63, 0x43, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x0a, - 0x0b, 0x73, 0x72, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x73, 0x72, 0x63, 0x43, 0x6f, 0x6c, 0x45, 0x6e, 0x64, 0x22, 0x5d, 0x0a, - 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x74, - 0x79, 0x70, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x40, 0x0a, 0x06, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xd3, - 0x02, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2f, 0x0a, 0x03, 0x74, 0x79, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x74, 0x79, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, 0x63, 0x12, - 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x61, 0x67, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x54, 0x61, 0x67, 0x12, 0x30, 0x0a, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, - 0x3a, 0x0a, 0x04, 0x77, 0x69, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, - 0x48, 0x00, 0x52, 0x04, 0x77, 0x69, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x77, 0x69, 0x72, 0x65, 0x22, 0xc1, 0x03, 0x0a, 0x08, 0x57, 0x69, 0x72, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x42, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x72, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, - 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x69, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, - 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x69, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x53, 0x70, - 0x65, 0x63, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x2a, 0x0a, 0x06, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x29, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x1a, 0x2a, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x0c, - 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x6b, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, - 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, - 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x22, 0x3c, 0x0a, 0x07, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, - 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x62, 0x61, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x05, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x33, - 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, - 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, - 0x73, 0x74, 0x72, 0x12, 0x1a, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, - 0x12, 0x0a, 0x03, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x03, - 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x6e, - 0x75, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, - 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x0b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x65, 0x6c, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, - 0x49, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x49, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x2a, 0xf2, 0x01, 0x0a, 0x07, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x12, 0x07, 0x0a, 0x03, - 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, - 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, - 0x31, 0x36, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x04, 0x12, - 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49, - 0x4e, 0x54, 0x38, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, - 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x08, 0x12, 0x0a, 0x0a, - 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, - 0x41, 0x54, 0x33, 0x32, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, - 0x34, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, - 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x49, - 0x4d, 0x45, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x08, - 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x49, 0x44, 0x10, 0x11, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x54, 0x10, 0x12, 0x12, 0x08, - 0x0a, 0x04, 0x55, 0x49, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x49, - 0x4d, 0x41, 0x4c, 0x10, 0x14, 0x42, 0x28, 0x5a, 0x26, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, - 0x61, 0x72, 0x73, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x76, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_parser_schema_v1_schema_proto_rawDesc = "" + + "\n" + + "$encore/parser/schema/v1/schema.proto\x12\x17encore.parser.schema.v1\"\x85\x06\n" + + "\x04Type\x126\n" + + "\x05named\x18\x01 \x01(\v2\x1e.encore.parser.schema.v1.NamedH\x00R\x05named\x129\n" + + "\x06struct\x18\x02 \x01(\v2\x1f.encore.parser.schema.v1.StructH\x00R\x06struct\x120\n" + + "\x03map\x18\x03 \x01(\v2\x1c.encore.parser.schema.v1.MapH\x00R\x03map\x123\n" + + "\x04list\x18\x04 \x01(\v2\x1d.encore.parser.schema.v1.ListH\x00R\x04list\x12<\n" + + "\abuiltin\x18\x05 \x01(\x0e2 .encore.parser.schema.v1.BuiltinH\x00R\abuiltin\x12<\n" + + "\apointer\x18\b \x01(\v2 .encore.parser.schema.v1.PointerH\x00R\apointer\x126\n" + + "\x05union\x18\t \x01(\v2\x1e.encore.parser.schema.v1.UnionH\x00R\x05union\x12<\n" + + "\aliteral\x18\n" + + " \x01(\v2 .encore.parser.schema.v1.LiteralH\x00R\aliteral\x129\n" + + "\x06option\x18\v \x01(\v2\x1f.encore.parser.schema.v1.OptionH\x00R\x06option\x12R\n" + + "\x0etype_parameter\x18\x06 \x01(\v2).encore.parser.schema.v1.TypeParameterRefH\x00R\rtypeParameter\x12>\n" + + "\x06config\x18\a \x01(\v2$.encore.parser.schema.v1.ConfigValueH\x00R\x06config\x12L\n" + + "\n" + + "validation\x18\x0f \x01(\v2'.encore.parser.schema.v1.ValidationExprH\x01R\n" + + "validation\x88\x01\x01B\x05\n" + + "\x03typB\r\n" + + "\v_validation\"\xd4\x02\n" + + "\x0eValidationRule\x12\x19\n" + + "\amin_len\x18\x01 \x01(\x04H\x00R\x06minLen\x12\x19\n" + + "\amax_len\x18\x02 \x01(\x04H\x00R\x06maxLen\x12\x19\n" + + "\amin_val\x18\x03 \x01(\x01H\x00R\x06minVal\x12\x19\n" + + "\amax_val\x18\x04 \x01(\x01H\x00R\x06maxVal\x12!\n" + + "\vstarts_with\x18\x05 \x01(\tH\x00R\n" + + "startsWith\x12\x1d\n" + + "\tends_with\x18\x06 \x01(\tH\x00R\bendsWith\x12'\n" + + "\x0ematches_regexp\x18\a \x01(\tH\x00R\rmatchesRegexp\x12<\n" + + "\x02is\x18\b \x01(\x0e2*.encore.parser.schema.v1.ValidationRule.IsH\x00R\x02is\"%\n" + + "\x02Is\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\t\n" + + "\x05EMAIL\x10\x01\x12\a\n" + + "\x03URL\x10\x02B\x06\n" + + "\x04rule\"\xe1\x02\n" + + "\x0eValidationExpr\x12=\n" + + "\x04rule\x18\x01 \x01(\v2'.encore.parser.schema.v1.ValidationRuleH\x00R\x04rule\x12?\n" + + "\x03and\x18\x02 \x01(\v2+.encore.parser.schema.v1.ValidationExpr.AndH\x00R\x03and\x12<\n" + + "\x02or\x18\x03 \x01(\v2*.encore.parser.schema.v1.ValidationExpr.OrH\x00R\x02or\x1aD\n" + + "\x03And\x12=\n" + + "\x05exprs\x18\x01 \x03(\v2'.encore.parser.schema.v1.ValidationExprR\x05exprs\x1aC\n" + + "\x02Or\x12=\n" + + "\x05exprs\x18\x01 \x03(\v2'.encore.parser.schema.v1.ValidationExprR\x05exprsB\x06\n" + + "\x04expr\"H\n" + + "\x10TypeParameterRef\x12\x17\n" + + "\adecl_id\x18\x01 \x01(\rR\x06declId\x12\x1b\n" + + "\tparam_idx\x18\x02 \x01(\rR\bparamIdx\"\xe8\x01\n" + + "\x04Decl\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x121\n" + + "\x04type\x18\x03 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x04type\x12G\n" + + "\vtype_params\x18\x06 \x03(\v2&.encore.parser.schema.v1.TypeParameterR\n" + + "typeParams\x12\x10\n" + + "\x03doc\x18\x04 \x01(\tR\x03doc\x12.\n" + + "\x03loc\x18\x05 \x01(\v2\x1c.encore.parser.schema.v1.LocR\x03loc\"#\n" + + "\rTypeParameter\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\x99\x02\n" + + "\x03Loc\x12\x19\n" + + "\bpkg_path\x18\x01 \x01(\tR\apkgPath\x12\x19\n" + + "\bpkg_name\x18\x02 \x01(\tR\apkgName\x12\x1a\n" + + "\bfilename\x18\x03 \x01(\tR\bfilename\x12\x1b\n" + + "\tstart_pos\x18\x04 \x01(\x05R\bstartPos\x12\x17\n" + + "\aend_pos\x18\x05 \x01(\x05R\x06endPos\x12$\n" + + "\x0esrc_line_start\x18\x06 \x01(\x05R\fsrcLineStart\x12 \n" + + "\fsrc_line_end\x18\a \x01(\x05R\n" + + "srcLineEnd\x12\"\n" + + "\rsrc_col_start\x18\b \x01(\x05R\vsrcColStart\x12\x1e\n" + + "\vsrc_col_end\x18\t \x01(\x05R\tsrcColEnd\"]\n" + + "\x05Named\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12D\n" + + "\x0etype_arguments\x18\x02 \x03(\v2\x1d.encore.parser.schema.v1.TypeR\rtypeArguments\"@\n" + + "\x06Struct\x126\n" + + "\x06fields\x18\x01 \x03(\v2\x1e.encore.parser.schema.v1.FieldR\x06fields\"\xd3\x02\n" + + "\x05Field\x12/\n" + + "\x03typ\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x03typ\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n" + + "\x03doc\x18\x03 \x01(\tR\x03doc\x12\x1b\n" + + "\tjson_name\x18\x04 \x01(\tR\bjsonName\x12\x1a\n" + + "\boptional\x18\x05 \x01(\bR\boptional\x12*\n" + + "\x11query_string_name\x18\x06 \x01(\tR\x0fqueryStringName\x12\x17\n" + + "\araw_tag\x18\a \x01(\tR\x06rawTag\x120\n" + + "\x04tags\x18\b \x03(\v2\x1c.encore.parser.schema.v1.TagR\x04tags\x12:\n" + + "\x04wire\x18\t \x01(\v2!.encore.parser.schema.v1.WireSpecH\x00R\x04wire\x88\x01\x01B\a\n" + + "\x05_wire\"\xc1\x03\n" + + "\bWireSpec\x12B\n" + + "\x06header\x18\x01 \x01(\v2(.encore.parser.schema.v1.WireSpec.HeaderH\x00R\x06header\x12?\n" + + "\x05query\x18\x02 \x01(\v2'.encore.parser.schema.v1.WireSpec.QueryH\x00R\x05query\x12B\n" + + "\x06cookie\x18\x03 \x01(\v2(.encore.parser.schema.v1.WireSpec.CookieH\x00R\x06cookie\x12O\n" + + "\vhttp_status\x18\x04 \x01(\v2,.encore.parser.schema.v1.WireSpec.HttpStatusH\x00R\n" + + "httpStatus\x1a*\n" + + "\x06Header\x12\x17\n" + + "\x04name\x18\x01 \x01(\tH\x00R\x04name\x88\x01\x01B\a\n" + + "\x05_name\x1a)\n" + + "\x05Query\x12\x17\n" + + "\x04name\x18\x01 \x01(\tH\x00R\x04name\x88\x01\x01B\a\n" + + "\x05_name\x1a*\n" + + "\x06Cookie\x12\x17\n" + + "\x04name\x18\x01 \x01(\tH\x00R\x04name\x88\x01\x01B\a\n" + + "\x05_name\x1a\f\n" + + "\n" + + "HttpStatusB\n" + + "\n" + + "\blocation\"E\n" + + "\x03Tag\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" + + "\aoptions\x18\x03 \x03(\tR\aoptions\"k\n" + + "\x03Map\x12/\n" + + "\x03key\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x03key\x123\n" + + "\x05value\x18\x02 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x05value\"9\n" + + "\x04List\x121\n" + + "\x04elem\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x04elem\"<\n" + + "\aPointer\x121\n" + + "\x04base\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x04base\"=\n" + + "\x06Option\x123\n" + + "\x05value\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x05value\"<\n" + + "\x05Union\x123\n" + + "\x05types\x18\x01 \x03(\v2\x1d.encore.parser.schema.v1.TypeR\x05types\"\x84\x01\n" + + "\aLiteral\x12\x12\n" + + "\x03str\x18\x01 \x01(\tH\x00R\x03str\x12\x1a\n" + + "\aboolean\x18\x02 \x01(\bH\x00R\aboolean\x12\x12\n" + + "\x03int\x18\x03 \x01(\x03H\x00R\x03int\x12\x16\n" + + "\x05float\x18\x04 \x01(\x01H\x00R\x05float\x12\x14\n" + + "\x04null\x18\x05 \x01(\bH\x00R\x04nullB\a\n" + + "\x05value\"d\n" + + "\vConfigValue\x121\n" + + "\x04elem\x18\x01 \x01(\v2\x1d.encore.parser.schema.v1.TypeR\x04elem\x12\"\n" + + "\fIsValuesList\x18\x02 \x01(\bR\fIsValuesList*\xf2\x01\n" + + "\aBuiltin\x12\a\n" + + "\x03ANY\x10\x00\x12\b\n" + + "\x04BOOL\x10\x01\x12\b\n" + + "\x04INT8\x10\x02\x12\t\n" + + "\x05INT16\x10\x03\x12\t\n" + + "\x05INT32\x10\x04\x12\t\n" + + "\x05INT64\x10\x05\x12\t\n" + + "\x05UINT8\x10\x06\x12\n" + + "\n" + + "\x06UINT16\x10\a\x12\n" + + "\n" + + "\x06UINT32\x10\b\x12\n" + + "\n" + + "\x06UINT64\x10\t\x12\v\n" + + "\aFLOAT32\x10\n" + + "\x12\v\n" + + "\aFLOAT64\x10\v\x12\n" + + "\n" + + "\x06STRING\x10\f\x12\t\n" + + "\x05BYTES\x10\r\x12\b\n" + + "\x04TIME\x10\x0e\x12\b\n" + + "\x04UUID\x10\x0f\x12\b\n" + + "\x04JSON\x10\x10\x12\v\n" + + "\aUSER_ID\x10\x11\x12\a\n" + + "\x03INT\x10\x12\x12\b\n" + + "\x04UINT\x10\x13\x12\v\n" + + "\aDECIMAL\x10\x14B(Z&encr.dev/proto/encore/parser/schema/v1b\x06proto3" var ( file_encore_parser_schema_v1_schema_proto_rawDescOnce sync.Once - file_encore_parser_schema_v1_schema_proto_rawDescData = file_encore_parser_schema_v1_schema_proto_rawDesc + file_encore_parser_schema_v1_schema_proto_rawDescData []byte ) func file_encore_parser_schema_v1_schema_proto_rawDescGZIP() []byte { file_encore_parser_schema_v1_schema_proto_rawDescOnce.Do(func() { - file_encore_parser_schema_v1_schema_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_parser_schema_v1_schema_proto_rawDescData) + file_encore_parser_schema_v1_schema_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_parser_schema_v1_schema_proto_rawDesc), len(file_encore_parser_schema_v1_schema_proto_rawDesc))) }) return file_encore_parser_schema_v1_schema_proto_rawDescData } var file_encore_parser_schema_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_encore_parser_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 24) -var file_encore_parser_schema_v1_schema_proto_goTypes = []interface{}{ +var file_encore_parser_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_encore_parser_schema_v1_schema_proto_goTypes = []any{ (Builtin)(0), // 0: encore.parser.schema.v1.Builtin (ValidationRule_Is)(0), // 1: encore.parser.schema.v1.ValidationRule.Is (*Type)(nil), // 2: encore.parser.schema.v1.Type @@ -2309,15 +2266,16 @@ var file_encore_parser_schema_v1_schema_proto_goTypes = []interface{}{ (*Map)(nil), // 14: encore.parser.schema.v1.Map (*List)(nil), // 15: encore.parser.schema.v1.List (*Pointer)(nil), // 16: encore.parser.schema.v1.Pointer - (*Union)(nil), // 17: encore.parser.schema.v1.Union - (*Literal)(nil), // 18: encore.parser.schema.v1.Literal - (*ConfigValue)(nil), // 19: encore.parser.schema.v1.ConfigValue - (*ValidationExpr_And)(nil), // 20: encore.parser.schema.v1.ValidationExpr.And - (*ValidationExpr_Or)(nil), // 21: encore.parser.schema.v1.ValidationExpr.Or - (*WireSpec_Header)(nil), // 22: encore.parser.schema.v1.WireSpec.Header - (*WireSpec_Query)(nil), // 23: encore.parser.schema.v1.WireSpec.Query - (*WireSpec_Cookie)(nil), // 24: encore.parser.schema.v1.WireSpec.Cookie - (*WireSpec_HttpStatus)(nil), // 25: encore.parser.schema.v1.WireSpec.HttpStatus + (*Option)(nil), // 17: encore.parser.schema.v1.Option + (*Union)(nil), // 18: encore.parser.schema.v1.Union + (*Literal)(nil), // 19: encore.parser.schema.v1.Literal + (*ConfigValue)(nil), // 20: encore.parser.schema.v1.ConfigValue + (*ValidationExpr_And)(nil), // 21: encore.parser.schema.v1.ValidationExpr.And + (*ValidationExpr_Or)(nil), // 22: encore.parser.schema.v1.ValidationExpr.Or + (*WireSpec_Header)(nil), // 23: encore.parser.schema.v1.WireSpec.Header + (*WireSpec_Query)(nil), // 24: encore.parser.schema.v1.WireSpec.Query + (*WireSpec_Cookie)(nil), // 25: encore.parser.schema.v1.WireSpec.Cookie + (*WireSpec_HttpStatus)(nil), // 26: encore.parser.schema.v1.WireSpec.HttpStatus } var file_encore_parser_schema_v1_schema_proto_depIdxs = []int32{ 9, // 0: encore.parser.schema.v1.Type.named:type_name -> encore.parser.schema.v1.Named @@ -2326,40 +2284,42 @@ var file_encore_parser_schema_v1_schema_proto_depIdxs = []int32{ 15, // 3: encore.parser.schema.v1.Type.list:type_name -> encore.parser.schema.v1.List 0, // 4: encore.parser.schema.v1.Type.builtin:type_name -> encore.parser.schema.v1.Builtin 16, // 5: encore.parser.schema.v1.Type.pointer:type_name -> encore.parser.schema.v1.Pointer - 17, // 6: encore.parser.schema.v1.Type.union:type_name -> encore.parser.schema.v1.Union - 18, // 7: encore.parser.schema.v1.Type.literal:type_name -> encore.parser.schema.v1.Literal - 5, // 8: encore.parser.schema.v1.Type.type_parameter:type_name -> encore.parser.schema.v1.TypeParameterRef - 19, // 9: encore.parser.schema.v1.Type.config:type_name -> encore.parser.schema.v1.ConfigValue - 4, // 10: encore.parser.schema.v1.Type.validation:type_name -> encore.parser.schema.v1.ValidationExpr - 1, // 11: encore.parser.schema.v1.ValidationRule.is:type_name -> encore.parser.schema.v1.ValidationRule.Is - 3, // 12: encore.parser.schema.v1.ValidationExpr.rule:type_name -> encore.parser.schema.v1.ValidationRule - 20, // 13: encore.parser.schema.v1.ValidationExpr.and:type_name -> encore.parser.schema.v1.ValidationExpr.And - 21, // 14: encore.parser.schema.v1.ValidationExpr.or:type_name -> encore.parser.schema.v1.ValidationExpr.Or - 2, // 15: encore.parser.schema.v1.Decl.type:type_name -> encore.parser.schema.v1.Type - 7, // 16: encore.parser.schema.v1.Decl.type_params:type_name -> encore.parser.schema.v1.TypeParameter - 8, // 17: encore.parser.schema.v1.Decl.loc:type_name -> encore.parser.schema.v1.Loc - 2, // 18: encore.parser.schema.v1.Named.type_arguments:type_name -> encore.parser.schema.v1.Type - 11, // 19: encore.parser.schema.v1.Struct.fields:type_name -> encore.parser.schema.v1.Field - 2, // 20: encore.parser.schema.v1.Field.typ:type_name -> encore.parser.schema.v1.Type - 13, // 21: encore.parser.schema.v1.Field.tags:type_name -> encore.parser.schema.v1.Tag - 12, // 22: encore.parser.schema.v1.Field.wire:type_name -> encore.parser.schema.v1.WireSpec - 22, // 23: encore.parser.schema.v1.WireSpec.header:type_name -> encore.parser.schema.v1.WireSpec.Header - 23, // 24: encore.parser.schema.v1.WireSpec.query:type_name -> encore.parser.schema.v1.WireSpec.Query - 24, // 25: encore.parser.schema.v1.WireSpec.cookie:type_name -> encore.parser.schema.v1.WireSpec.Cookie - 25, // 26: encore.parser.schema.v1.WireSpec.http_status:type_name -> encore.parser.schema.v1.WireSpec.HttpStatus - 2, // 27: encore.parser.schema.v1.Map.key:type_name -> encore.parser.schema.v1.Type - 2, // 28: encore.parser.schema.v1.Map.value:type_name -> encore.parser.schema.v1.Type - 2, // 29: encore.parser.schema.v1.List.elem:type_name -> encore.parser.schema.v1.Type - 2, // 30: encore.parser.schema.v1.Pointer.base:type_name -> encore.parser.schema.v1.Type - 2, // 31: encore.parser.schema.v1.Union.types:type_name -> encore.parser.schema.v1.Type - 2, // 32: encore.parser.schema.v1.ConfigValue.elem:type_name -> encore.parser.schema.v1.Type - 4, // 33: encore.parser.schema.v1.ValidationExpr.And.exprs:type_name -> encore.parser.schema.v1.ValidationExpr - 4, // 34: encore.parser.schema.v1.ValidationExpr.Or.exprs:type_name -> encore.parser.schema.v1.ValidationExpr - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 18, // 6: encore.parser.schema.v1.Type.union:type_name -> encore.parser.schema.v1.Union + 19, // 7: encore.parser.schema.v1.Type.literal:type_name -> encore.parser.schema.v1.Literal + 17, // 8: encore.parser.schema.v1.Type.option:type_name -> encore.parser.schema.v1.Option + 5, // 9: encore.parser.schema.v1.Type.type_parameter:type_name -> encore.parser.schema.v1.TypeParameterRef + 20, // 10: encore.parser.schema.v1.Type.config:type_name -> encore.parser.schema.v1.ConfigValue + 4, // 11: encore.parser.schema.v1.Type.validation:type_name -> encore.parser.schema.v1.ValidationExpr + 1, // 12: encore.parser.schema.v1.ValidationRule.is:type_name -> encore.parser.schema.v1.ValidationRule.Is + 3, // 13: encore.parser.schema.v1.ValidationExpr.rule:type_name -> encore.parser.schema.v1.ValidationRule + 21, // 14: encore.parser.schema.v1.ValidationExpr.and:type_name -> encore.parser.schema.v1.ValidationExpr.And + 22, // 15: encore.parser.schema.v1.ValidationExpr.or:type_name -> encore.parser.schema.v1.ValidationExpr.Or + 2, // 16: encore.parser.schema.v1.Decl.type:type_name -> encore.parser.schema.v1.Type + 7, // 17: encore.parser.schema.v1.Decl.type_params:type_name -> encore.parser.schema.v1.TypeParameter + 8, // 18: encore.parser.schema.v1.Decl.loc:type_name -> encore.parser.schema.v1.Loc + 2, // 19: encore.parser.schema.v1.Named.type_arguments:type_name -> encore.parser.schema.v1.Type + 11, // 20: encore.parser.schema.v1.Struct.fields:type_name -> encore.parser.schema.v1.Field + 2, // 21: encore.parser.schema.v1.Field.typ:type_name -> encore.parser.schema.v1.Type + 13, // 22: encore.parser.schema.v1.Field.tags:type_name -> encore.parser.schema.v1.Tag + 12, // 23: encore.parser.schema.v1.Field.wire:type_name -> encore.parser.schema.v1.WireSpec + 23, // 24: encore.parser.schema.v1.WireSpec.header:type_name -> encore.parser.schema.v1.WireSpec.Header + 24, // 25: encore.parser.schema.v1.WireSpec.query:type_name -> encore.parser.schema.v1.WireSpec.Query + 25, // 26: encore.parser.schema.v1.WireSpec.cookie:type_name -> encore.parser.schema.v1.WireSpec.Cookie + 26, // 27: encore.parser.schema.v1.WireSpec.http_status:type_name -> encore.parser.schema.v1.WireSpec.HttpStatus + 2, // 28: encore.parser.schema.v1.Map.key:type_name -> encore.parser.schema.v1.Type + 2, // 29: encore.parser.schema.v1.Map.value:type_name -> encore.parser.schema.v1.Type + 2, // 30: encore.parser.schema.v1.List.elem:type_name -> encore.parser.schema.v1.Type + 2, // 31: encore.parser.schema.v1.Pointer.base:type_name -> encore.parser.schema.v1.Type + 2, // 32: encore.parser.schema.v1.Option.value:type_name -> encore.parser.schema.v1.Type + 2, // 33: encore.parser.schema.v1.Union.types:type_name -> encore.parser.schema.v1.Type + 2, // 34: encore.parser.schema.v1.ConfigValue.elem:type_name -> encore.parser.schema.v1.Type + 4, // 35: encore.parser.schema.v1.ValidationExpr.And.exprs:type_name -> encore.parser.schema.v1.ValidationExpr + 4, // 36: encore.parser.schema.v1.ValidationExpr.Or.exprs:type_name -> encore.parser.schema.v1.ValidationExpr + 37, // [37:37] is the sub-list for method output_type + 37, // [37:37] is the sub-list for method input_type + 37, // [37:37] is the sub-list for extension type_name + 37, // [37:37] is the sub-list for extension extendee + 0, // [0:37] is the sub-list for field type_name } func init() { file_encore_parser_schema_v1_schema_proto_init() } @@ -2367,297 +2327,7 @@ func file_encore_parser_schema_v1_schema_proto_init() { if File_encore_parser_schema_v1_schema_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_parser_schema_v1_schema_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Type); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidationRule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidationExpr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypeParameterRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Decl); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypeParameter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Loc); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Named); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Struct); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Field); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WireSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tag); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Map); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pointer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Union); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Literal); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidationExpr_And); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidationExpr_Or); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WireSpec_Header); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WireSpec_Query); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WireSpec_Cookie); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WireSpec_HttpStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_parser_schema_v1_schema_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_encore_parser_schema_v1_schema_proto_msgTypes[0].OneofWrappers = []any{ (*Type_Named)(nil), (*Type_Struct)(nil), (*Type_Map)(nil), @@ -2666,10 +2336,11 @@ func file_encore_parser_schema_v1_schema_proto_init() { (*Type_Pointer)(nil), (*Type_Union)(nil), (*Type_Literal)(nil), + (*Type_Option)(nil), (*Type_TypeParameter)(nil), (*Type_Config)(nil), } - file_encore_parser_schema_v1_schema_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_encore_parser_schema_v1_schema_proto_msgTypes[1].OneofWrappers = []any{ (*ValidationRule_MinLen)(nil), (*ValidationRule_MaxLen)(nil), (*ValidationRule_MinVal)(nil), @@ -2679,35 +2350,35 @@ func file_encore_parser_schema_v1_schema_proto_init() { (*ValidationRule_MatchesRegexp)(nil), (*ValidationRule_Is_)(nil), } - file_encore_parser_schema_v1_schema_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_encore_parser_schema_v1_schema_proto_msgTypes[2].OneofWrappers = []any{ (*ValidationExpr_Rule)(nil), (*ValidationExpr_And_)(nil), (*ValidationExpr_Or_)(nil), } - file_encore_parser_schema_v1_schema_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_encore_parser_schema_v1_schema_proto_msgTypes[10].OneofWrappers = []interface{}{ + file_encore_parser_schema_v1_schema_proto_msgTypes[9].OneofWrappers = []any{} + file_encore_parser_schema_v1_schema_proto_msgTypes[10].OneofWrappers = []any{ (*WireSpec_Header_)(nil), (*WireSpec_Query_)(nil), (*WireSpec_Cookie_)(nil), (*WireSpec_HttpStatus_)(nil), } - file_encore_parser_schema_v1_schema_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_encore_parser_schema_v1_schema_proto_msgTypes[17].OneofWrappers = []any{ (*Literal_Str)(nil), (*Literal_Boolean)(nil), (*Literal_Int)(nil), (*Literal_Float)(nil), (*Literal_Null)(nil), } - file_encore_parser_schema_v1_schema_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_encore_parser_schema_v1_schema_proto_msgTypes[21].OneofWrappers = []interface{}{} - file_encore_parser_schema_v1_schema_proto_msgTypes[22].OneofWrappers = []interface{}{} + file_encore_parser_schema_v1_schema_proto_msgTypes[21].OneofWrappers = []any{} + file_encore_parser_schema_v1_schema_proto_msgTypes[22].OneofWrappers = []any{} + file_encore_parser_schema_v1_schema_proto_msgTypes[23].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_parser_schema_v1_schema_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_parser_schema_v1_schema_proto_rawDesc), len(file_encore_parser_schema_v1_schema_proto_rawDesc)), NumEnums: 2, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, @@ -2717,7 +2388,6 @@ func file_encore_parser_schema_v1_schema_proto_init() { MessageInfos: file_encore_parser_schema_v1_schema_proto_msgTypes, }.Build() File_encore_parser_schema_v1_schema_proto = out.File - file_encore_parser_schema_v1_schema_proto_rawDesc = nil file_encore_parser_schema_v1_schema_proto_goTypes = nil file_encore_parser_schema_v1_schema_proto_depIdxs = nil } diff --git a/proto/encore/parser/schema/v1/schema.proto b/proto/encore/parser/schema/v1/schema.proto index 45369f6d5c..cd971c54c7 100644 --- a/proto/encore/parser/schema/v1/schema.proto +++ b/proto/encore/parser/schema/v1/schema.proto @@ -20,6 +20,7 @@ message Type { Pointer pointer = 8; // The type is a pointer Union union = 9; // The type is a union Literal literal = 10; // The type is a literal + Option option = 11; // The type is an option type /* Abstract Types */ TypeParameterRef type_parameter = 6; // This is placeholder for a unknown type within the declaration block @@ -204,6 +205,11 @@ message Pointer { Type base = 1; // The type of the pointer } +// Option represents an option type. +message Option { + Type value = 1; // The value it may contain. +} + // Union represents a union type. message Union { repeated Type types = 1; // The types that make up the union @@ -253,6 +259,6 @@ enum Builtin { INT = 18; UINT = 19; - + DECIMAL = 20; } diff --git a/proto/encore/parser/schema/v1/walk.go b/proto/encore/parser/schema/v1/walk.go index d7b20a1cd3..090fcebe38 100644 --- a/proto/encore/parser/schema/v1/walk.go +++ b/proto/encore/parser/schema/v1/walk.go @@ -34,6 +34,8 @@ func walk(decls []*Decl, node any, visitor func(node any) error, namedChain []ui return walk(decls, v.Builtin, visitor, namedChain) case *Type_Pointer: return walk(decls, v.Pointer, visitor, namedChain) + case *Type_Option: + return walk(decls, v.Option, visitor, namedChain) case *Type_TypeParameter: return walk(decls, v.TypeParameter, visitor, namedChain) case *Type_Literal: @@ -88,6 +90,8 @@ func walk(decls []*Decl, node any, visitor func(node any) error, namedChain []ui return nil case *Pointer: return walk(decls, node.Base, visitor, namedChain) + case *Option: + return walk(decls, node.Value, visitor, namedChain) case *TypeParameterRef: return nil case *Literal: diff --git a/proto/encore/runtime/v1/infra.pb.go b/proto/encore/runtime/v1/infra.pb.go index 7d1f39d143..9c6197d042 100644 --- a/proto/encore/runtime/v1/infra.pb.go +++ b/proto/encore/runtime/v1/infra.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/runtime/v1/infra.proto package runtimev1 @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -125,21 +126,18 @@ func (PubSubTopic_DeliveryGuarantee) EnumDescriptor() ([]byte, []int) { } type Infrastructure struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Resources *Infrastructure_Resources `protobuf:"bytes,1,opt,name=resources,proto3" json:"resources,omitempty"` + Credentials *Infrastructure_Credentials `protobuf:"bytes,2,opt,name=credentials,proto3" json:"credentials,omitempty"` unknownFields protoimpl.UnknownFields - - Resources *Infrastructure_Resources `protobuf:"bytes,1,opt,name=resources,proto3" json:"resources,omitempty"` - Credentials *Infrastructure_Credentials `protobuf:"bytes,2,opt,name=credentials,proto3" json:"credentials,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Infrastructure) Reset() { *x = Infrastructure{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Infrastructure) String() string { @@ -150,7 +148,7 @@ func (*Infrastructure) ProtoMessage() {} func (x *Infrastructure) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -180,23 +178,20 @@ func (x *Infrastructure) GetCredentials() *Infrastructure_Credentials { } type SQLCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this cluster. - Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` - Servers []*SQLServer `protobuf:"bytes,2,rep,name=servers,proto3" json:"servers,omitempty"` - Databases []*SQLDatabase `protobuf:"bytes,3,rep,name=databases,proto3" json:"databases,omitempty"` + Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` + Servers []*SQLServer `protobuf:"bytes,2,rep,name=servers,proto3" json:"servers,omitempty"` + Databases []*SQLDatabase `protobuf:"bytes,3,rep,name=databases,proto3" json:"databases,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLCluster) Reset() { *x = SQLCluster{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLCluster) String() string { @@ -207,7 +202,7 @@ func (*SQLCluster) ProtoMessage() {} func (x *SQLCluster) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -244,10 +239,7 @@ func (x *SQLCluster) GetDatabases() []*SQLDatabase { } type TLSConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Server CA Cert PEM to use for verifying the server's certificate. ServerCaCert *string `protobuf:"bytes,1,opt,name=server_ca_cert,json=serverCaCert,proto3,oneof" json:"server_ca_cert,omitempty"` // If true, skips hostname verification when connecting. @@ -257,15 +249,15 @@ type TLSConfig struct { // If true, skips CA cert validation when connecting. // This introduces significant vulnerabilities, and should only be used as a last resort. DisableCaValidation bool `protobuf:"varint,3,opt,name=disable_ca_validation,json=disableCaValidation,proto3" json:"disable_ca_validation,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TLSConfig) Reset() { *x = TLSConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLSConfig) String() string { @@ -276,7 +268,7 @@ func (*TLSConfig) ProtoMessage() {} func (x *TLSConfig) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -313,10 +305,7 @@ func (x *TLSConfig) GetDisableCaValidation() bool { } type SQLServer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this server. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // Host is the host to connect to. @@ -324,16 +313,16 @@ type SQLServer struct { Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` Kind ServerKind `protobuf:"varint,3,opt,name=kind,proto3,enum=encore.runtime.v1.ServerKind" json:"kind,omitempty"` // TLS configuration to use when connecting. - TlsConfig *TLSConfig `protobuf:"bytes,4,opt,name=tls_config,json=tlsConfig,proto3,oneof" json:"tls_config,omitempty"` + TlsConfig *TLSConfig `protobuf:"bytes,4,opt,name=tls_config,json=tlsConfig,proto3,oneof" json:"tls_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLServer) Reset() { *x = SQLServer{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLServer) String() string { @@ -344,7 +333,7 @@ func (*SQLServer) ProtoMessage() {} func (x *SQLServer) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -388,23 +377,20 @@ func (x *SQLServer) GetTlsConfig() *TLSConfig { } type ClientCert struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this certificate. - Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` - Cert string `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"` - Key *SecretData `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` + Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` + Cert string `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"` + Key *SecretData `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ClientCert) Reset() { *x = ClientCert{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ClientCert) String() string { @@ -415,7 +401,7 @@ func (*ClientCert) ProtoMessage() {} func (x *ClientCert) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -452,25 +438,22 @@ func (x *ClientCert) GetKey() *SecretData { } type SQLRole struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this role. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` Password *SecretData `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // The client cert to use to authenticate, if any. ClientCertRid *string `protobuf:"bytes,4,opt,name=client_cert_rid,json=clientCertRid,proto3,oneof" json:"client_cert_rid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLRole) Reset() { *x = SQLRole{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLRole) String() string { @@ -481,7 +464,7 @@ func (*SQLRole) ProtoMessage() {} func (x *SQLRole) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -525,26 +508,23 @@ func (x *SQLRole) GetClientCertRid() string { } type SQLDatabase struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this database. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` EncoreName string `protobuf:"bytes,2,opt,name=encore_name,json=encoreName,proto3" json:"encore_name,omitempty"` // The physical name of the database in the cluster. CloudName string `protobuf:"bytes,3,opt,name=cloud_name,json=cloudName,proto3" json:"cloud_name,omitempty"` // Connection pools to use for connecting to the database. - ConnPools []*SQLConnectionPool `protobuf:"bytes,4,rep,name=conn_pools,json=connPools,proto3" json:"conn_pools,omitempty"` + ConnPools []*SQLConnectionPool `protobuf:"bytes,4,rep,name=conn_pools,json=connPools,proto3" json:"conn_pools,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLDatabase) Reset() { *x = SQLDatabase{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLDatabase) String() string { @@ -555,7 +535,7 @@ func (*SQLDatabase) ProtoMessage() {} func (x *SQLDatabase) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -599,10 +579,7 @@ func (x *SQLDatabase) GetConnPools() []*SQLConnectionPool { } type SQLConnectionPool struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether this connection pool is for read-only servers. IsReadonly bool `protobuf:"varint,1,opt,name=is_readonly,json=isReadonly,proto3" json:"is_readonly,omitempty"` // The role to use to authenticate. @@ -610,15 +587,15 @@ type SQLConnectionPool struct { // The minimum and maximum number of connections to use. MinConnections int32 `protobuf:"varint,3,opt,name=min_connections,json=minConnections,proto3" json:"min_connections,omitempty"` MaxConnections int32 `protobuf:"varint,4,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SQLConnectionPool) Reset() { *x = SQLConnectionPool{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SQLConnectionPool) String() string { @@ -629,7 +606,7 @@ func (*SQLConnectionPool) ProtoMessage() {} func (x *SQLConnectionPool) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -673,23 +650,20 @@ func (x *SQLConnectionPool) GetMaxConnections() int32 { } type RedisCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this cluster. - Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` - Servers []*RedisServer `protobuf:"bytes,2,rep,name=servers,proto3" json:"servers,omitempty"` - Databases []*RedisDatabase `protobuf:"bytes,3,rep,name=databases,proto3" json:"databases,omitempty"` + Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` + Servers []*RedisServer `protobuf:"bytes,2,rep,name=servers,proto3" json:"servers,omitempty"` + Databases []*RedisDatabase `protobuf:"bytes,3,rep,name=databases,proto3" json:"databases,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RedisCluster) Reset() { *x = RedisCluster{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisCluster) String() string { @@ -700,7 +674,7 @@ func (*RedisCluster) ProtoMessage() {} func (x *RedisCluster) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -737,10 +711,7 @@ func (x *RedisCluster) GetDatabases() []*RedisDatabase { } type RedisServer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this server. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // Host is the host to connect to. @@ -749,16 +720,16 @@ type RedisServer struct { Kind ServerKind `protobuf:"varint,3,opt,name=kind,proto3,enum=encore.runtime.v1.ServerKind" json:"kind,omitempty"` // TLS configuration to use when connecting. // If nil, TLS is not used. - TlsConfig *TLSConfig `protobuf:"bytes,4,opt,name=tls_config,json=tlsConfig,proto3,oneof" json:"tls_config,omitempty"` + TlsConfig *TLSConfig `protobuf:"bytes,4,opt,name=tls_config,json=tlsConfig,proto3,oneof" json:"tls_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RedisServer) Reset() { *x = RedisServer{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisServer) String() string { @@ -769,7 +740,7 @@ func (*RedisServer) ProtoMessage() {} func (x *RedisServer) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -813,10 +784,7 @@ func (x *RedisServer) GetTlsConfig() *TLSConfig { } type RedisConnectionPool struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether this connection pool is for read-only servers. IsReadonly bool `protobuf:"varint,1,opt,name=is_readonly,json=isReadonly,proto3" json:"is_readonly,omitempty"` // The role to use to authenticate. @@ -824,15 +792,15 @@ type RedisConnectionPool struct { // The minimum and maximum number of connections to use. MinConnections int32 `protobuf:"varint,3,opt,name=min_connections,json=minConnections,proto3" json:"min_connections,omitempty"` MaxConnections int32 `protobuf:"varint,4,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RedisConnectionPool) Reset() { *x = RedisConnectionPool{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisConnectionPool) String() string { @@ -843,7 +811,7 @@ func (*RedisConnectionPool) ProtoMessage() {} func (x *RedisConnectionPool) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -887,10 +855,7 @@ func (x *RedisConnectionPool) GetMaxConnections() int32 { } type RedisRole struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this role. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The client cert to use to authenticate, if any. @@ -898,20 +863,20 @@ type RedisRole struct { // How to authenticate with Redis. // If unset, no authentication is used. // - // Types that are assignable to Auth: + // Types that are valid to be assigned to Auth: // // *RedisRole_Acl // *RedisRole_AuthString - Auth isRedisRole_Auth `protobuf_oneof:"auth"` + Auth isRedisRole_Auth `protobuf_oneof:"auth"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RedisRole) Reset() { *x = RedisRole{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisRole) String() string { @@ -922,7 +887,7 @@ func (*RedisRole) ProtoMessage() {} func (x *RedisRole) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -951,23 +916,27 @@ func (x *RedisRole) GetClientCertRid() string { return "" } -func (m *RedisRole) GetAuth() isRedisRole_Auth { - if m != nil { - return m.Auth +func (x *RedisRole) GetAuth() isRedisRole_Auth { + if x != nil { + return x.Auth } return nil } func (x *RedisRole) GetAcl() *RedisRole_AuthACL { - if x, ok := x.GetAuth().(*RedisRole_Acl); ok { - return x.Acl + if x != nil { + if x, ok := x.Auth.(*RedisRole_Acl); ok { + return x.Acl + } } return nil } func (x *RedisRole) GetAuthString() *SecretData { - if x, ok := x.GetAuth().(*RedisRole_AuthString); ok { - return x.AuthString + if x != nil { + if x, ok := x.Auth.(*RedisRole_AuthString); ok { + return x.AuthString + } } return nil } @@ -989,10 +958,7 @@ func (*RedisRole_Acl) isRedisRole_Auth() {} func (*RedisRole_AuthString) isRedisRole_Auth() {} type RedisDatabase struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Unique resource id for this database. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the database. @@ -1005,16 +971,16 @@ type RedisDatabase struct { // without having to coordinate and persist database index ids. KeyPrefix *string `protobuf:"bytes,4,opt,name=key_prefix,json=keyPrefix,proto3,oneof" json:"key_prefix,omitempty"` // Connection pools to use for connecting to the database. - ConnPools []*RedisConnectionPool `protobuf:"bytes,5,rep,name=conn_pools,json=connPools,proto3" json:"conn_pools,omitempty"` + ConnPools []*RedisConnectionPool `protobuf:"bytes,5,rep,name=conn_pools,json=connPools,proto3" json:"conn_pools,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RedisDatabase) Reset() { *x = RedisDatabase{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisDatabase) String() string { @@ -1025,7 +991,7 @@ func (*RedisDatabase) ProtoMessage() {} func (x *RedisDatabase) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1076,25 +1042,22 @@ func (x *RedisDatabase) GetConnPools() []*RedisConnectionPool { } type AppSecret struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this secret. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the secret. EncoreName string `protobuf:"bytes,2,opt,name=encore_name,json=encoreName,proto3" json:"encore_name,omitempty"` // The secret data. - Data *SecretData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + Data *SecretData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AppSecret) Reset() { *x = AppSecret{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AppSecret) String() string { @@ -1105,7 +1068,7 @@ func (*AppSecret) ProtoMessage() {} func (x *AppSecret) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1142,31 +1105,28 @@ func (x *AppSecret) GetData() *SecretData { } type PubSubCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this cluster. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` Topics []*PubSubTopic `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"` Subscriptions []*PubSubSubscription `protobuf:"bytes,3,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"` - // Types that are assignable to Provider: + // Types that are valid to be assigned to Provider: // // *PubSubCluster_Encore // *PubSubCluster_Aws // *PubSubCluster_Gcp // *PubSubCluster_Azure // *PubSubCluster_Nsq - Provider isPubSubCluster_Provider `protobuf_oneof:"provider"` + Provider isPubSubCluster_Provider `protobuf_oneof:"provider"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubCluster) Reset() { *x = PubSubCluster{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster) String() string { @@ -1177,7 +1137,7 @@ func (*PubSubCluster) ProtoMessage() {} func (x *PubSubCluster) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1213,44 +1173,54 @@ func (x *PubSubCluster) GetSubscriptions() []*PubSubSubscription { return nil } -func (m *PubSubCluster) GetProvider() isPubSubCluster_Provider { - if m != nil { - return m.Provider +func (x *PubSubCluster) GetProvider() isPubSubCluster_Provider { + if x != nil { + return x.Provider } return nil } func (x *PubSubCluster) GetEncore() *PubSubCluster_EncoreCloud { - if x, ok := x.GetProvider().(*PubSubCluster_Encore); ok { - return x.Encore + if x != nil { + if x, ok := x.Provider.(*PubSubCluster_Encore); ok { + return x.Encore + } } return nil } func (x *PubSubCluster) GetAws() *PubSubCluster_AWSSqsSns { - if x, ok := x.GetProvider().(*PubSubCluster_Aws); ok { - return x.Aws + if x != nil { + if x, ok := x.Provider.(*PubSubCluster_Aws); ok { + return x.Aws + } } return nil } func (x *PubSubCluster) GetGcp() *PubSubCluster_GCPPubSub { - if x, ok := x.GetProvider().(*PubSubCluster_Gcp); ok { - return x.Gcp + if x != nil { + if x, ok := x.Provider.(*PubSubCluster_Gcp); ok { + return x.Gcp + } } return nil } func (x *PubSubCluster) GetAzure() *PubSubCluster_AzureServiceBus { - if x, ok := x.GetProvider().(*PubSubCluster_Azure); ok { - return x.Azure + if x != nil { + if x, ok := x.Provider.(*PubSubCluster_Azure); ok { + return x.Azure + } } return nil } func (x *PubSubCluster) GetNsq() *PubSubCluster_NSQ { - if x, ok := x.GetProvider().(*PubSubCluster_Nsq); ok { - return x.Nsq + if x != nil { + if x, ok := x.Provider.(*PubSubCluster_Nsq); ok { + return x.Nsq + } } return nil } @@ -1290,10 +1260,7 @@ func (*PubSubCluster_Azure) isPubSubCluster_Provider() {} func (*PubSubCluster_Nsq) isPubSubCluster_Provider() {} type PubSubTopic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this topic. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the topic. @@ -1309,19 +1276,19 @@ type PubSubTopic struct { // Not all providers require this, but it must always be set // for the providers that are present. // - // Types that are assignable to ProviderConfig: + // Types that are valid to be assigned to ProviderConfig: // // *PubSubTopic_GcpConfig ProviderConfig isPubSubTopic_ProviderConfig `protobuf_oneof:"provider_config"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubTopic) Reset() { *x = PubSubTopic{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic) String() string { @@ -1332,7 +1299,7 @@ func (*PubSubTopic) ProtoMessage() {} func (x *PubSubTopic) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1382,16 +1349,18 @@ func (x *PubSubTopic) GetOrderingAttr() string { return "" } -func (m *PubSubTopic) GetProviderConfig() isPubSubTopic_ProviderConfig { - if m != nil { - return m.ProviderConfig +func (x *PubSubTopic) GetProviderConfig() isPubSubTopic_ProviderConfig { + if x != nil { + return x.ProviderConfig } return nil } func (x *PubSubTopic) GetGcpConfig() *PubSubTopic_GCPConfig { - if x, ok := x.GetProviderConfig().(*PubSubTopic_GcpConfig); ok { - return x.GcpConfig + if x != nil { + if x, ok := x.ProviderConfig.(*PubSubTopic_GcpConfig); ok { + return x.GcpConfig + } } return nil } @@ -1407,10 +1376,7 @@ type PubSubTopic_GcpConfig struct { func (*PubSubTopic_GcpConfig) isPubSubTopic_ProviderConfig() {} type PubSubSubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this subscription. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the topic this subscription is for. @@ -1428,19 +1394,19 @@ type PubSubSubscription struct { // Not all providers require this, but it must always be set // for the providers that are present. // - // Types that are assignable to ProviderConfig: + // Types that are valid to be assigned to ProviderConfig: // // *PubSubSubscription_GcpConfig ProviderConfig isPubSubSubscription_ProviderConfig `protobuf_oneof:"provider_config"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubSubscription) Reset() { *x = PubSubSubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubSubscription) String() string { @@ -1451,7 +1417,7 @@ func (*PubSubSubscription) ProtoMessage() {} func (x *PubSubSubscription) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1508,16 +1474,18 @@ func (x *PubSubSubscription) GetPushOnly() bool { return false } -func (m *PubSubSubscription) GetProviderConfig() isPubSubSubscription_ProviderConfig { - if m != nil { - return m.ProviderConfig +func (x *PubSubSubscription) GetProviderConfig() isPubSubSubscription_ProviderConfig { + if x != nil { + return x.ProviderConfig } return nil } func (x *PubSubSubscription) GetGcpConfig() *PubSubSubscription_GCPConfig { - if x, ok := x.GetProviderConfig().(*PubSubSubscription_GcpConfig); ok { - return x.GcpConfig + if x != nil { + if x, ok := x.ProviderConfig.(*PubSubSubscription_GcpConfig); ok { + return x.GcpConfig + } } return nil } @@ -1533,27 +1501,24 @@ type PubSubSubscription_GcpConfig struct { func (*PubSubSubscription_GcpConfig) isPubSubSubscription_ProviderConfig() {} type BucketCluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this cluster. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` Buckets []*Bucket `protobuf:"bytes,2,rep,name=buckets,proto3" json:"buckets,omitempty"` - // Types that are assignable to Provider: + // Types that are valid to be assigned to Provider: // // *BucketCluster_S3_ // *BucketCluster_Gcs - Provider isBucketCluster_Provider `protobuf_oneof:"provider"` + Provider isBucketCluster_Provider `protobuf_oneof:"provider"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BucketCluster) Reset() { *x = BucketCluster{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketCluster) String() string { @@ -1564,7 +1529,7 @@ func (*BucketCluster) ProtoMessage() {} func (x *BucketCluster) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1593,23 +1558,27 @@ func (x *BucketCluster) GetBuckets() []*Bucket { return nil } -func (m *BucketCluster) GetProvider() isBucketCluster_Provider { - if m != nil { - return m.Provider +func (x *BucketCluster) GetProvider() isBucketCluster_Provider { + if x != nil { + return x.Provider } return nil } func (x *BucketCluster) GetS3() *BucketCluster_S3 { - if x, ok := x.GetProvider().(*BucketCluster_S3_); ok { - return x.S3 + if x != nil { + if x, ok := x.Provider.(*BucketCluster_S3_); ok { + return x.S3 + } } return nil } func (x *BucketCluster) GetGcs() *BucketCluster_GCS { - if x, ok := x.GetProvider().(*BucketCluster_Gcs); ok { - return x.Gcs + if x != nil { + if x, ok := x.Provider.(*BucketCluster_Gcs); ok { + return x.Gcs + } } return nil } @@ -1631,10 +1600,7 @@ func (*BucketCluster_S3_) isBucketCluster_Provider() {} func (*BucketCluster_Gcs) isBucketCluster_Provider() {} type Bucket struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this bucket. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the bucket. @@ -1649,15 +1615,15 @@ type Bucket struct { // Public base URL for accessing objects in this bucket. // Must be set for public buckets. PublicBaseUrl *string `protobuf:"bytes,5,opt,name=public_base_url,json=publicBaseUrl,proto3,oneof" json:"public_base_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Bucket) Reset() { *x = Bucket{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Bucket) String() string { @@ -1668,7 +1634,7 @@ func (*Bucket) ProtoMessage() {} func (x *Bucket) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1719,10 +1685,7 @@ func (x *Bucket) GetPublicBaseUrl() string { } type Gateway struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique id for this resource. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // The encore name of the gateway. @@ -1733,16 +1696,16 @@ type Gateway struct { // The hostnames this gateway accepts requests for. Hostnames []string `protobuf:"bytes,4,rep,name=hostnames,proto3" json:"hostnames,omitempty"` // CORS is the CORS configuration for this gateway. - Cors *Gateway_CORS `protobuf:"bytes,5,opt,name=cors,proto3" json:"cors,omitempty"` + Cors *Gateway_CORS `protobuf:"bytes,5,opt,name=cors,proto3" json:"cors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Gateway) Reset() { *x = Gateway{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Gateway) String() string { @@ -1753,7 +1716,7 @@ func (*Gateway) ProtoMessage() {} func (x *Gateway) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1804,22 +1767,19 @@ func (x *Gateway) GetCors() *Gateway_CORS { } type Infrastructure_Credentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ClientCerts []*ClientCert `protobuf:"bytes,1,rep,name=client_certs,json=clientCerts,proto3" json:"client_certs,omitempty"` + SqlRoles []*SQLRole `protobuf:"bytes,2,rep,name=sql_roles,json=sqlRoles,proto3" json:"sql_roles,omitempty"` + RedisRoles []*RedisRole `protobuf:"bytes,3,rep,name=redis_roles,json=redisRoles,proto3" json:"redis_roles,omitempty"` unknownFields protoimpl.UnknownFields - - ClientCerts []*ClientCert `protobuf:"bytes,1,rep,name=client_certs,json=clientCerts,proto3" json:"client_certs,omitempty"` - SqlRoles []*SQLRole `protobuf:"bytes,2,rep,name=sql_roles,json=sqlRoles,proto3" json:"sql_roles,omitempty"` - RedisRoles []*RedisRole `protobuf:"bytes,3,rep,name=redis_roles,json=redisRoles,proto3" json:"redis_roles,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Infrastructure_Credentials) Reset() { *x = Infrastructure_Credentials{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Infrastructure_Credentials) String() string { @@ -1830,7 +1790,7 @@ func (*Infrastructure_Credentials) ProtoMessage() {} func (x *Infrastructure_Credentials) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1867,25 +1827,22 @@ func (x *Infrastructure_Credentials) GetRedisRoles() []*RedisRole { } type Infrastructure_Resources struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Gateways []*Gateway `protobuf:"bytes,1,rep,name=gateways,proto3" json:"gateways,omitempty"` - SqlClusters []*SQLCluster `protobuf:"bytes,2,rep,name=sql_clusters,json=sqlClusters,proto3" json:"sql_clusters,omitempty"` - PubsubClusters []*PubSubCluster `protobuf:"bytes,3,rep,name=pubsub_clusters,json=pubsubClusters,proto3" json:"pubsub_clusters,omitempty"` - RedisClusters []*RedisCluster `protobuf:"bytes,4,rep,name=redis_clusters,json=redisClusters,proto3" json:"redis_clusters,omitempty"` - AppSecrets []*AppSecret `protobuf:"bytes,5,rep,name=app_secrets,json=appSecrets,proto3" json:"app_secrets,omitempty"` - BucketClusters []*BucketCluster `protobuf:"bytes,6,rep,name=bucket_clusters,json=bucketClusters,proto3" json:"bucket_clusters,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Gateways []*Gateway `protobuf:"bytes,1,rep,name=gateways,proto3" json:"gateways,omitempty"` + SqlClusters []*SQLCluster `protobuf:"bytes,2,rep,name=sql_clusters,json=sqlClusters,proto3" json:"sql_clusters,omitempty"` + PubsubClusters []*PubSubCluster `protobuf:"bytes,3,rep,name=pubsub_clusters,json=pubsubClusters,proto3" json:"pubsub_clusters,omitempty"` + RedisClusters []*RedisCluster `protobuf:"bytes,4,rep,name=redis_clusters,json=redisClusters,proto3" json:"redis_clusters,omitempty"` + AppSecrets []*AppSecret `protobuf:"bytes,5,rep,name=app_secrets,json=appSecrets,proto3" json:"app_secrets,omitempty"` + BucketClusters []*BucketCluster `protobuf:"bytes,6,rep,name=bucket_clusters,json=bucketClusters,proto3" json:"bucket_clusters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Infrastructure_Resources) Reset() { *x = Infrastructure_Resources{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Infrastructure_Resources) String() string { @@ -1896,7 +1853,7 @@ func (*Infrastructure_Resources) ProtoMessage() {} func (x *Infrastructure_Resources) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1954,21 +1911,18 @@ func (x *Infrastructure_Resources) GetBucketClusters() []*BucketCluster { } type RedisRole_AuthACL struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password *SecretData `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password *SecretData `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RedisRole_AuthACL) Reset() { *x = RedisRole_AuthACL{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RedisRole_AuthACL) String() string { @@ -1979,7 +1933,7 @@ func (*RedisRole_AuthACL) ProtoMessage() {} func (x *RedisRole_AuthACL) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2009,18 +1963,16 @@ func (x *RedisRole_AuthACL) GetPassword() *SecretData { } type PubSubCluster_EncoreCloud struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubCluster_EncoreCloud) Reset() { *x = PubSubCluster_EncoreCloud{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster_EncoreCloud) String() string { @@ -2031,7 +1983,7 @@ func (*PubSubCluster_EncoreCloud) ProtoMessage() {} func (x *PubSubCluster_EncoreCloud) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2047,18 +1999,16 @@ func (*PubSubCluster_EncoreCloud) Descriptor() ([]byte, []int) { } type PubSubCluster_AWSSqsSns struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubCluster_AWSSqsSns) Reset() { *x = PubSubCluster_AWSSqsSns{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster_AWSSqsSns) String() string { @@ -2069,7 +2019,7 @@ func (*PubSubCluster_AWSSqsSns) ProtoMessage() {} func (x *PubSubCluster_AWSSqsSns) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2085,18 +2035,16 @@ func (*PubSubCluster_AWSSqsSns) Descriptor() ([]byte, []int) { } type PubSubCluster_GCPPubSub struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubCluster_GCPPubSub) Reset() { *x = PubSubCluster_GCPPubSub{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster_GCPPubSub) String() string { @@ -2107,7 +2055,7 @@ func (*PubSubCluster_GCPPubSub) ProtoMessage() {} func (x *PubSubCluster_GCPPubSub) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2123,21 +2071,18 @@ func (*PubSubCluster_GCPPubSub) Descriptor() ([]byte, []int) { } type PubSubCluster_NSQ struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The hosts to connect to NSQ. Must be non-empty. - Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubCluster_NSQ) Reset() { *x = PubSubCluster_NSQ{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster_NSQ) String() string { @@ -2148,7 +2093,7 @@ func (*PubSubCluster_NSQ) ProtoMessage() {} func (x *PubSubCluster_NSQ) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2171,20 +2116,17 @@ func (x *PubSubCluster_NSQ) GetHosts() []string { } type PubSubCluster_AzureServiceBus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` unknownFields protoimpl.UnknownFields - - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PubSubCluster_AzureServiceBus) Reset() { *x = PubSubCluster_AzureServiceBus{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubCluster_AzureServiceBus) String() string { @@ -2195,7 +2137,7 @@ func (*PubSubCluster_AzureServiceBus) ProtoMessage() {} func (x *PubSubCluster_AzureServiceBus) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2218,21 +2160,18 @@ func (x *PubSubCluster_AzureServiceBus) GetNamespace() string { } type PubSubTopic_GCPConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The GCP project id where the topic exists. - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubTopic_GCPConfig) Reset() { *x = PubSubTopic_GCPConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubTopic_GCPConfig) String() string { @@ -2243,7 +2182,7 @@ func (*PubSubTopic_GCPConfig) ProtoMessage() {} func (x *PubSubTopic_GCPConfig) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2266,10 +2205,7 @@ func (x *PubSubTopic_GCPConfig) GetProjectId() string { } type PubSubSubscription_GCPConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The GCP project id where the subscription exists. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // The service account used to authenticate messages being delivered over push. @@ -2278,15 +2214,15 @@ type PubSubSubscription_GCPConfig struct { // The audience to use when validating JWTs delivered over push. // If set, the JWT audience claim must match. If unset, any JWT audience is allowed. PushJwtAudience *string `protobuf:"bytes,3,opt,name=push_jwt_audience,json=pushJwtAudience,proto3,oneof" json:"push_jwt_audience,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PubSubSubscription_GCPConfig) Reset() { *x = PubSubSubscription_GCPConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PubSubSubscription_GCPConfig) String() string { @@ -2297,7 +2233,7 @@ func (*PubSubSubscription_GCPConfig) ProtoMessage() {} func (x *PubSubSubscription_GCPConfig) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2334,10 +2270,7 @@ func (x *PubSubSubscription_GCPConfig) GetPushJwtAudience() string { } type BucketCluster_S3 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Region to connect to. Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` // Endpoint override, if any. Must be specified if using a non-standard AWS region. @@ -2346,15 +2279,15 @@ type BucketCluster_S3 struct { // as opposed to resolving using AWS's default credential chain. AccessKeyId *string `protobuf:"bytes,3,opt,name=access_key_id,json=accessKeyId,proto3,oneof" json:"access_key_id,omitempty"` SecretAccessKey *SecretData `protobuf:"bytes,4,opt,name=secret_access_key,json=secretAccessKey,proto3,oneof" json:"secret_access_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BucketCluster_S3) Reset() { *x = BucketCluster_S3{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketCluster_S3) String() string { @@ -2365,7 +2298,7 @@ func (*BucketCluster_S3) ProtoMessage() {} func (x *BucketCluster_S3) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2409,26 +2342,23 @@ func (x *BucketCluster_S3) GetSecretAccessKey() *SecretData { } type BucketCluster_GCS struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Endpoint override, if any. Defaults to https://storage.googleapis.com if unset. Endpoint *string `protobuf:"bytes,1,opt,name=endpoint,proto3,oneof" json:"endpoint,omitempty"` // Whether to connect anonymously or if a service account should be resolved. Anonymous bool `protobuf:"varint,2,opt,name=anonymous,proto3" json:"anonymous,omitempty"` // Additional options for signed URLs when running in local dev mode. // Only use with anonymous mode. - LocalSign *BucketCluster_GCS_LocalSignOptions `protobuf:"bytes,3,opt,name=local_sign,json=localSign,proto3,oneof" json:"local_sign,omitempty"` + LocalSign *BucketCluster_GCS_LocalSignOptions `protobuf:"bytes,3,opt,name=local_sign,json=localSign,proto3,oneof" json:"local_sign,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BucketCluster_GCS) Reset() { *x = BucketCluster_GCS{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketCluster_GCS) String() string { @@ -2439,7 +2369,7 @@ func (*BucketCluster_GCS) ProtoMessage() {} func (x *BucketCluster_GCS) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2476,25 +2406,22 @@ func (x *BucketCluster_GCS) GetLocalSign() *BucketCluster_GCS_LocalSignOptions { } type BucketCluster_GCS_LocalSignOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Base prefix to use for presigned URLs. BaseUrl string `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` // Use these credentials to sign local URLs. Only pass dummy credentials // here, no actual secrets. - AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` - PrivateKey string `protobuf:"bytes,3,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` + PrivateKey string `protobuf:"bytes,3,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BucketCluster_GCS_LocalSignOptions) Reset() { *x = BucketCluster_GCS_LocalSignOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BucketCluster_GCS_LocalSignOptions) String() string { @@ -2505,7 +2432,7 @@ func (*BucketCluster_GCS_LocalSignOptions) ProtoMessage() {} func (x *BucketCluster_GCS_LocalSignOptions) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2543,11 +2470,8 @@ func (x *BucketCluster_GCS_LocalSignOptions) GetPrivateKey() string { // CORS describes the CORS configuration for a gateway. type Gateway_CORS struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Debug bool `protobuf:"varint,1,opt,name=debug,proto3" json:"debug,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Debug bool `protobuf:"varint,1,opt,name=debug,proto3" json:"debug,omitempty"` // If true, causes Encore to respond to OPTIONS requests // without setting Access-Control-Allow-Credentials: true. DisableCredentials bool `protobuf:"varint,2,opt,name=disable_credentials,json=disableCredentials,proto3" json:"disable_credentials,omitempty"` @@ -2557,7 +2481,7 @@ type Gateway_CORS struct { // // If disable_credentials is true this field is not used. // - // Types that are assignable to AllowedOriginsWithCredentials: + // Types that are valid to be assigned to AllowedOriginsWithCredentials: // // *Gateway_CORS_AllowedOrigins // *Gateway_CORS_UnsafeAllowAllOriginsWithCredentials @@ -2580,15 +2504,15 @@ type Gateway_CORS struct { // on private networks from websites. // See: https://wicg.github.io/private-network-access/ AllowPrivateNetworkAccess bool `protobuf:"varint,8,opt,name=allow_private_network_access,json=allowPrivateNetworkAccess,proto3" json:"allow_private_network_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Gateway_CORS) Reset() { *x = Gateway_CORS{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Gateway_CORS) String() string { @@ -2599,7 +2523,7 @@ func (*Gateway_CORS) ProtoMessage() {} func (x *Gateway_CORS) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2628,23 +2552,27 @@ func (x *Gateway_CORS) GetDisableCredentials() bool { return false } -func (m *Gateway_CORS) GetAllowedOriginsWithCredentials() isGateway_CORS_AllowedOriginsWithCredentials { - if m != nil { - return m.AllowedOriginsWithCredentials +func (x *Gateway_CORS) GetAllowedOriginsWithCredentials() isGateway_CORS_AllowedOriginsWithCredentials { + if x != nil { + return x.AllowedOriginsWithCredentials } return nil } func (x *Gateway_CORS) GetAllowedOrigins() *Gateway_CORSAllowedOrigins { - if x, ok := x.GetAllowedOriginsWithCredentials().(*Gateway_CORS_AllowedOrigins); ok { - return x.AllowedOrigins + if x != nil { + if x, ok := x.AllowedOriginsWithCredentials.(*Gateway_CORS_AllowedOrigins); ok { + return x.AllowedOrigins + } } return nil } func (x *Gateway_CORS) GetUnsafeAllowAllOriginsWithCredentials() bool { - if x, ok := x.GetAllowedOriginsWithCredentials().(*Gateway_CORS_UnsafeAllowAllOriginsWithCredentials); ok { - return x.UnsafeAllowAllOriginsWithCredentials + if x != nil { + if x, ok := x.AllowedOriginsWithCredentials.(*Gateway_CORS_UnsafeAllowAllOriginsWithCredentials); ok { + return x.UnsafeAllowAllOriginsWithCredentials + } } return false } @@ -2695,10 +2623,7 @@ func (*Gateway_CORS_UnsafeAllowAllOriginsWithCredentials) isGateway_CORS_Allowed } type Gateway_CORSAllowedOrigins struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The list of allowed origins. // The URLs in this list may include wildcards (e.g. "https://*.example.com" // or "https://*-myapp.example.com"). @@ -2706,15 +2631,15 @@ type Gateway_CORSAllowedOrigins struct { // The string "*" allows all origins, except for requests with credentials; // use CORS.unsafe_allow_unsafe_all_origins_with_credentials for that. AllowedOrigins []string `protobuf:"bytes,1,rep,name=allowed_origins,json=allowedOrigins,proto3" json:"allowed_origins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Gateway_CORSAllowedOrigins) Reset() { *x = Gateway_CORSAllowedOrigins{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_infra_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_infra_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Gateway_CORSAllowedOrigins) String() string { @@ -2725,7 +2650,7 @@ func (*Gateway_CORSAllowedOrigins) ProtoMessage() {} func (x *Gateway_CORSAllowedOrigins) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_infra_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2749,456 +2674,247 @@ func (x *Gateway_CORSAllowedOrigins) GetAllowedOrigins() []string { var File_encore_runtime_v1_infra_proto protoreflect.FileDescriptor -var file_encore_runtime_v1_infra_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x1a, 0x22, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x06, 0x0a, 0x0e, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xc7, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x71, 0x6c, 0x5f, 0x72, - 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x51, 0x4c, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x71, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x73, - 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x69, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x1a, - 0xa2, 0x03, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, - 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x71, 0x6c, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x51, 0x4c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x71, 0x6c, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x72, 0x65, 0x64, - 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x70, - 0x70, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0a, 0x61, - 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x0a, 0x53, 0x51, 0x4c, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x51, 0x4c, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, - 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x51, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x09, - 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x0e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x43, 0x65, 0x72, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x21, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x74, 0x6c, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x1e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6c, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x6e, - 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, - 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x09, 0x53, 0x51, 0x4c, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x40, 0x0a, - 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x63, - 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, - 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x07, 0x53, 0x51, 0x4c, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, - 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x52, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0b, 0x53, 0x51, - 0x4c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, - 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, - 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, - 0x72, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x52, - 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x69, 0x6e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, - 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, - 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x72, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x74, 0x6c, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, - 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x13, - 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, - 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x52, 0x69, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0xc4, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x64, 0x69, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, - 0x64, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, - 0x5f, 0x72, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x52, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, - 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x64, 0x69, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x41, 0x43, - 0x4c, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0a, - 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x60, 0x0a, 0x07, 0x41, 0x75, - 0x74, 0x68, 0x41, 0x43, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x06, 0x0a, 0x04, - 0x61, 0x75, 0x74, 0x68, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, - 0x69, 0x73, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x78, - 0x12, 0x22, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, - 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x71, 0x0a, 0x09, 0x41, 0x70, - 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf5, 0x04, - 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, - 0x64, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, - 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3e, - 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x57, - 0x53, 0x53, 0x71, 0x73, 0x53, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x77, 0x73, 0x12, 0x3e, - 0x0a, 0x03, 0x67, 0x63, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x43, - 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x70, 0x12, 0x48, - 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, - 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x03, 0x6e, 0x73, 0x71, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4e, 0x53, 0x51, 0x48, 0x00, 0x52, 0x03, 0x6e, - 0x73, 0x71, 0x1a, 0x0d, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x1a, 0x0b, 0x0a, 0x09, 0x41, 0x57, 0x53, 0x53, 0x71, 0x73, 0x53, 0x6e, 0x73, 0x1a, 0x0b, - 0x0a, 0x09, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x1a, 0x1b, 0x0a, 0x03, 0x4e, - 0x53, 0x51, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x1a, 0x2f, 0x0a, 0x0f, 0x41, 0x7a, 0x75, 0x72, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x8b, 0x04, 0x0a, 0x0b, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x79, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x75, 0x61, 0x72, - 0x61, 0x6e, 0x74, 0x65, 0x65, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, - 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, - 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x47, 0x43, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2a, 0x0a, - 0x09, 0x47, 0x43, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x44, 0x65, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x12, - 0x22, 0x0a, 0x1e, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x47, 0x55, 0x41, 0x52, - 0x41, 0x4e, 0x54, 0x45, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, - 0x47, 0x55, 0x41, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x4c, 0x45, 0x41, - 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x45, 0x4c, - 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x47, 0x55, 0x41, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x45, 0x5f, - 0x45, 0x58, 0x41, 0x43, 0x54, 0x4c, 0x59, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x42, 0x11, - 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x22, 0xb4, 0x04, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x6c, - 0x79, 0x12, 0x50, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x43, 0x50, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x70, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0xc1, 0x01, 0x0a, 0x09, 0x47, 0x43, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x35, 0x0a, 0x14, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x12, 0x70, 0x75, 0x73, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x75, 0x73, 0x68, 0x5f, - 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x70, 0x75, 0x73, 0x68, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x64, - 0x69, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x75, 0x73, - 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, - 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xec, 0x05, 0x0a, 0x0d, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, - 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x33, - 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x38, 0x0a, 0x03, 0x67, 0x63, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x43, 0x53, 0x48, 0x00, 0x52, - 0x03, 0x67, 0x63, 0x73, 0x1a, 0xeb, 0x01, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, - 0x11, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x1a, 0xa8, 0x02, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x12, 0x59, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, - 0x47, 0x43, 0x53, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, - 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x6b, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, - 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, - 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x0a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xce, 0x01, 0x0a, 0x06, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6b, 0x65, - 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x61, 0x73, - 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xb9, 0x06, 0x0a, 0x07, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, - 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x43, 0x4f, 0x52, - 0x53, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x1a, 0xcd, 0x04, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x53, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x43, 0x4f, 0x52, - 0x53, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x48, - 0x00, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x73, 0x12, 0x59, 0x0a, 0x29, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x24, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x7c, 0x0a, 0x23, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x43, 0x4f, 0x52, 0x53, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x32, - 0x0a, 0x15, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x42, 0x22, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x3d, 0x0a, 0x12, 0x43, 0x4f, 0x52, 0x53, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x2a, 0x7d, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4b, - 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, - 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x48, 0x4f, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x4e, 0x44, 0x42, 0x59, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56, 0x45, - 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x49, 0x43, 0x41, 0x10, 0x03, 0x42, 0x2c, 0x5a, 0x2a, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_runtime_v1_infra_proto_rawDesc = "" + + "\n" + + "\x1dencore/runtime/v1/infra.proto\x12\x11encore.runtime.v1\x1a\"encore/runtime/v1/secretdata.proto\"\x9b\x06\n" + + "\x0eInfrastructure\x12I\n" + + "\tresources\x18\x01 \x01(\v2+.encore.runtime.v1.Infrastructure.ResourcesR\tresources\x12O\n" + + "\vcredentials\x18\x02 \x01(\v2-.encore.runtime.v1.Infrastructure.CredentialsR\vcredentials\x1a\xc7\x01\n" + + "\vCredentials\x12@\n" + + "\fclient_certs\x18\x01 \x03(\v2\x1d.encore.runtime.v1.ClientCertR\vclientCerts\x127\n" + + "\tsql_roles\x18\x02 \x03(\v2\x1a.encore.runtime.v1.SQLRoleR\bsqlRoles\x12=\n" + + "\vredis_roles\x18\x03 \x03(\v2\x1c.encore.runtime.v1.RedisRoleR\n" + + "redisRoles\x1a\xa2\x03\n" + + "\tResources\x126\n" + + "\bgateways\x18\x01 \x03(\v2\x1a.encore.runtime.v1.GatewayR\bgateways\x12@\n" + + "\fsql_clusters\x18\x02 \x03(\v2\x1d.encore.runtime.v1.SQLClusterR\vsqlClusters\x12I\n" + + "\x0fpubsub_clusters\x18\x03 \x03(\v2 .encore.runtime.v1.PubSubClusterR\x0epubsubClusters\x12F\n" + + "\x0eredis_clusters\x18\x04 \x03(\v2\x1f.encore.runtime.v1.RedisClusterR\rredisClusters\x12=\n" + + "\vapp_secrets\x18\x05 \x03(\v2\x1c.encore.runtime.v1.AppSecretR\n" + + "appSecrets\x12I\n" + + "\x0fbucket_clusters\x18\x06 \x03(\v2 .encore.runtime.v1.BucketClusterR\x0ebucketClusters\"\x94\x01\n" + + "\n" + + "SQLCluster\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x126\n" + + "\aservers\x18\x02 \x03(\v2\x1c.encore.runtime.v1.SQLServerR\aservers\x12<\n" + + "\tdatabases\x18\x03 \x03(\v2\x1e.encore.runtime.v1.SQLDatabaseR\tdatabases\"\xc8\x01\n" + + "\tTLSConfig\x12)\n" + + "\x0eserver_ca_cert\x18\x01 \x01(\tH\x00R\fserverCaCert\x88\x01\x01\x12I\n" + + "!disable_tls_hostname_verification\x18\x02 \x01(\bR\x1edisableTlsHostnameVerification\x122\n" + + "\x15disable_ca_validation\x18\x03 \x01(\bR\x13disableCaValidationB\x11\n" + + "\x0f_server_ca_cert\"\xb5\x01\n" + + "\tSQLServer\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x12\n" + + "\x04host\x18\x02 \x01(\tR\x04host\x121\n" + + "\x04kind\x18\x03 \x01(\x0e2\x1d.encore.runtime.v1.ServerKindR\x04kind\x12@\n" + + "\n" + + "tls_config\x18\x04 \x01(\v2\x1c.encore.runtime.v1.TLSConfigH\x00R\ttlsConfig\x88\x01\x01B\r\n" + + "\v_tls_config\"c\n" + + "\n" + + "ClientCert\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x12\n" + + "\x04cert\x18\x02 \x01(\tR\x04cert\x12/\n" + + "\x03key\x18\x03 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\x03key\"\xb3\x01\n" + + "\aSQLRole\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busername\x129\n" + + "\bpassword\x18\x03 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\bpassword\x12+\n" + + "\x0fclient_cert_rid\x18\x04 \x01(\tH\x00R\rclientCertRid\x88\x01\x01B\x12\n" + + "\x10_client_cert_rid\"\xa4\x01\n" + + "\vSQLDatabase\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x12\x1d\n" + + "\n" + + "cloud_name\x18\x03 \x01(\tR\tcloudName\x12C\n" + + "\n" + + "conn_pools\x18\x04 \x03(\v2$.encore.runtime.v1.SQLConnectionPoolR\tconnPools\"\xa1\x01\n" + + "\x11SQLConnectionPool\x12\x1f\n" + + "\vis_readonly\x18\x01 \x01(\bR\n" + + "isReadonly\x12\x19\n" + + "\brole_rid\x18\x02 \x01(\tR\aroleRid\x12'\n" + + "\x0fmin_connections\x18\x03 \x01(\x05R\x0eminConnections\x12'\n" + + "\x0fmax_connections\x18\x04 \x01(\x05R\x0emaxConnections\"\x9a\x01\n" + + "\fRedisCluster\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x128\n" + + "\aservers\x18\x02 \x03(\v2\x1e.encore.runtime.v1.RedisServerR\aservers\x12>\n" + + "\tdatabases\x18\x03 \x03(\v2 .encore.runtime.v1.RedisDatabaseR\tdatabases\"\xb7\x01\n" + + "\vRedisServer\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x12\n" + + "\x04host\x18\x02 \x01(\tR\x04host\x121\n" + + "\x04kind\x18\x03 \x01(\x0e2\x1d.encore.runtime.v1.ServerKindR\x04kind\x12@\n" + + "\n" + + "tls_config\x18\x04 \x01(\v2\x1c.encore.runtime.v1.TLSConfigH\x00R\ttlsConfig\x88\x01\x01B\r\n" + + "\v_tls_config\"\xa3\x01\n" + + "\x13RedisConnectionPool\x12\x1f\n" + + "\vis_readonly\x18\x01 \x01(\bR\n" + + "isReadonly\x12\x19\n" + + "\brole_rid\x18\x02 \x01(\tR\aroleRid\x12'\n" + + "\x0fmin_connections\x18\x03 \x01(\x05R\x0eminConnections\x12'\n" + + "\x0fmax_connections\x18\x04 \x01(\x05R\x0emaxConnections\"\xc4\x02\n" + + "\tRedisRole\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12+\n" + + "\x0fclient_cert_rid\x18\x02 \x01(\tH\x01R\rclientCertRid\x88\x01\x01\x128\n" + + "\x03acl\x18\n" + + " \x01(\v2$.encore.runtime.v1.RedisRole.AuthACLH\x00R\x03acl\x12@\n" + + "\vauth_string\x18\v \x01(\v2\x1d.encore.runtime.v1.SecretDataH\x00R\n" + + "authString\x1a`\n" + + "\aAuthACL\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x129\n" + + "\bpassword\x18\x02 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\bpasswordB\x06\n" + + "\x04authB\x12\n" + + "\x10_client_cert_rid\"\xdf\x01\n" + + "\rRedisDatabase\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x12!\n" + + "\fdatabase_idx\x18\x03 \x01(\x05R\vdatabaseIdx\x12\"\n" + + "\n" + + "key_prefix\x18\x04 \x01(\tH\x00R\tkeyPrefix\x88\x01\x01\x12E\n" + + "\n" + + "conn_pools\x18\x05 \x03(\v2&.encore.runtime.v1.RedisConnectionPoolR\tconnPoolsB\r\n" + + "\v_key_prefix\"q\n" + + "\tAppSecret\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x121\n" + + "\x04data\x18\x03 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\x04data\"\xf5\x04\n" + + "\rPubSubCluster\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x126\n" + + "\x06topics\x18\x02 \x03(\v2\x1e.encore.runtime.v1.PubSubTopicR\x06topics\x12K\n" + + "\rsubscriptions\x18\x03 \x03(\v2%.encore.runtime.v1.PubSubSubscriptionR\rsubscriptions\x12F\n" + + "\x06encore\x18\x05 \x01(\v2,.encore.runtime.v1.PubSubCluster.EncoreCloudH\x00R\x06encore\x12>\n" + + "\x03aws\x18\x06 \x01(\v2*.encore.runtime.v1.PubSubCluster.AWSSqsSnsH\x00R\x03aws\x12>\n" + + "\x03gcp\x18\a \x01(\v2*.encore.runtime.v1.PubSubCluster.GCPPubSubH\x00R\x03gcp\x12H\n" + + "\x05azure\x18\b \x01(\v20.encore.runtime.v1.PubSubCluster.AzureServiceBusH\x00R\x05azure\x128\n" + + "\x03nsq\x18\t \x01(\v2$.encore.runtime.v1.PubSubCluster.NSQH\x00R\x03nsq\x1a\r\n" + + "\vEncoreCloud\x1a\v\n" + + "\tAWSSqsSns\x1a\v\n" + + "\tGCPPubSub\x1a\x1b\n" + + "\x03NSQ\x12\x14\n" + + "\x05hosts\x18\x01 \x03(\tR\x05hosts\x1a/\n" + + "\x0fAzureServiceBus\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespaceB\n" + + "\n" + + "\bprovider\"\x8b\x04\n" + + "\vPubSubTopic\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x12\x1d\n" + + "\n" + + "cloud_name\x18\x03 \x01(\tR\tcloudName\x12_\n" + + "\x12delivery_guarantee\x18\x04 \x01(\x0e20.encore.runtime.v1.PubSubTopic.DeliveryGuaranteeR\x11deliveryGuarantee\x12(\n" + + "\rordering_attr\x18\x05 \x01(\tH\x01R\forderingAttr\x88\x01\x01\x12I\n" + + "\n" + + "gcp_config\x18\n" + + " \x01(\v2(.encore.runtime.v1.PubSubTopic.GCPConfigH\x00R\tgcpConfig\x1a*\n" + + "\tGCPConfig\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"\x82\x01\n" + + "\x11DeliveryGuarantee\x12\"\n" + + "\x1eDELIVERY_GUARANTEE_UNSPECIFIED\x10\x00\x12$\n" + + " DELIVERY_GUARANTEE_AT_LEAST_ONCE\x10\x01\x12#\n" + + "\x1fDELIVERY_GUARANTEE_EXACTLY_ONCE\x10\x02B\x11\n" + + "\x0fprovider_configB\x10\n" + + "\x0e_ordering_attr\"\xb4\x04\n" + + "\x12PubSubSubscription\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12*\n" + + "\x11topic_encore_name\x18\x02 \x01(\tR\x0ftopicEncoreName\x128\n" + + "\x18subscription_encore_name\x18\x03 \x01(\tR\x16subscriptionEncoreName\x12(\n" + + "\x10topic_cloud_name\x18\x04 \x01(\tR\x0etopicCloudName\x126\n" + + "\x17subscription_cloud_name\x18\x05 \x01(\tR\x15subscriptionCloudName\x12\x1b\n" + + "\tpush_only\x18\x06 \x01(\bR\bpushOnly\x12P\n" + + "\n" + + "gcp_config\x18\n" + + " \x01(\v2/.encore.runtime.v1.PubSubSubscription.GCPConfigH\x00R\tgcpConfig\x1a\xc1\x01\n" + + "\tGCPConfig\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\x125\n" + + "\x14push_service_account\x18\x02 \x01(\tH\x00R\x12pushServiceAccount\x88\x01\x01\x12/\n" + + "\x11push_jwt_audience\x18\x03 \x01(\tH\x01R\x0fpushJwtAudience\x88\x01\x01B\x17\n" + + "\x15_push_service_accountB\x14\n" + + "\x12_push_jwt_audienceB\x11\n" + + "\x0fprovider_config\"\xec\x05\n" + + "\rBucketCluster\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x123\n" + + "\abuckets\x18\x02 \x03(\v2\x19.encore.runtime.v1.BucketR\abuckets\x125\n" + + "\x02s3\x18\n" + + " \x01(\v2#.encore.runtime.v1.BucketCluster.S3H\x00R\x02s3\x128\n" + + "\x03gcs\x18\v \x01(\v2$.encore.runtime.v1.BucketCluster.GCSH\x00R\x03gcs\x1a\xeb\x01\n" + + "\x02S3\x12\x16\n" + + "\x06region\x18\x01 \x01(\tR\x06region\x12\x1f\n" + + "\bendpoint\x18\x02 \x01(\tH\x00R\bendpoint\x88\x01\x01\x12'\n" + + "\raccess_key_id\x18\x03 \x01(\tH\x01R\vaccessKeyId\x88\x01\x01\x12N\n" + + "\x11secret_access_key\x18\x04 \x01(\v2\x1d.encore.runtime.v1.SecretDataH\x02R\x0fsecretAccessKey\x88\x01\x01B\v\n" + + "\t_endpointB\x10\n" + + "\x0e_access_key_idB\x14\n" + + "\x12_secret_access_key\x1a\xa8\x02\n" + + "\x03GCS\x12\x1f\n" + + "\bendpoint\x18\x01 \x01(\tH\x00R\bendpoint\x88\x01\x01\x12\x1c\n" + + "\tanonymous\x18\x02 \x01(\bR\tanonymous\x12Y\n" + + "\n" + + "local_sign\x18\x03 \x01(\v25.encore.runtime.v1.BucketCluster.GCS.LocalSignOptionsH\x01R\tlocalSign\x88\x01\x01\x1ak\n" + + "\x10LocalSignOptions\x12\x19\n" + + "\bbase_url\x18\x01 \x01(\tR\abaseUrl\x12\x1b\n" + + "\taccess_id\x18\x02 \x01(\tR\baccessId\x12\x1f\n" + + "\vprivate_key\x18\x03 \x01(\tR\n" + + "privateKeyB\v\n" + + "\t_endpointB\r\n" + + "\v_local_signB\n" + + "\n" + + "\bprovider\"\xce\x01\n" + + "\x06Bucket\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x12\x1d\n" + + "\n" + + "cloud_name\x18\x03 \x01(\tR\tcloudName\x12\"\n" + + "\n" + + "key_prefix\x18\x04 \x01(\tH\x00R\tkeyPrefix\x88\x01\x01\x12+\n" + + "\x0fpublic_base_url\x18\x05 \x01(\tH\x01R\rpublicBaseUrl\x88\x01\x01B\r\n" + + "\v_key_prefixB\x12\n" + + "\x10_public_base_url\"\xb9\x06\n" + + "\aGateway\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1f\n" + + "\vencore_name\x18\x02 \x01(\tR\n" + + "encoreName\x12\x19\n" + + "\bbase_url\x18\x03 \x01(\tR\abaseUrl\x12\x1c\n" + + "\thostnames\x18\x04 \x03(\tR\thostnames\x123\n" + + "\x04cors\x18\x05 \x01(\v2\x1f.encore.runtime.v1.Gateway.CORSR\x04cors\x1a\xcd\x04\n" + + "\x04CORS\x12\x14\n" + + "\x05debug\x18\x01 \x01(\bR\x05debug\x12/\n" + + "\x13disable_credentials\x18\x02 \x01(\bR\x12disableCredentials\x12X\n" + + "\x0fallowed_origins\x18\x03 \x01(\v2-.encore.runtime.v1.Gateway.CORSAllowedOriginsH\x00R\x0eallowedOrigins\x12Y\n" + + ")unsafe_allow_all_origins_with_credentials\x18\x04 \x01(\bH\x00R$unsafeAllowAllOriginsWithCredentials\x12|\n" + + "#allowed_origins_without_credentials\x18\x05 \x01(\v2-.encore.runtime.v1.Gateway.CORSAllowedOriginsR allowedOriginsWithoutCredentials\x122\n" + + "\x15extra_allowed_headers\x18\x06 \x03(\tR\x13extraAllowedHeaders\x122\n" + + "\x15extra_exposed_headers\x18\a \x03(\tR\x13extraExposedHeaders\x12?\n" + + "\x1callow_private_network_access\x18\b \x01(\bR\x19allowPrivateNetworkAccessB\"\n" + + " allowed_origins_with_credentials\x1a=\n" + + "\x12CORSAllowedOrigins\x12'\n" + + "\x0fallowed_origins\x18\x01 \x03(\tR\x0eallowedOrigins*}\n" + + "\n" + + "ServerKind\x12\x1b\n" + + "\x17SERVER_KIND_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13SERVER_KIND_PRIMARY\x10\x01\x12\x1b\n" + + "\x17SERVER_KIND_HOT_STANDBY\x10\x02\x12\x1c\n" + + "\x18SERVER_KIND_READ_REPLICA\x10\x03B,Z*encr.dev/proto/encore/runtime/v1;runtimev1b\x06proto3" var ( file_encore_runtime_v1_infra_proto_rawDescOnce sync.Once - file_encore_runtime_v1_infra_proto_rawDescData = file_encore_runtime_v1_infra_proto_rawDesc + file_encore_runtime_v1_infra_proto_rawDescData []byte ) func file_encore_runtime_v1_infra_proto_rawDescGZIP() []byte { file_encore_runtime_v1_infra_proto_rawDescOnce.Do(func() { - file_encore_runtime_v1_infra_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_runtime_v1_infra_proto_rawDescData) + file_encore_runtime_v1_infra_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_infra_proto_rawDesc), len(file_encore_runtime_v1_infra_proto_rawDesc))) }) return file_encore_runtime_v1_infra_proto_rawDescData } var file_encore_runtime_v1_infra_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_encore_runtime_v1_infra_proto_msgTypes = make([]protoimpl.MessageInfo, 35) -var file_encore_runtime_v1_infra_proto_goTypes = []interface{}{ +var file_encore_runtime_v1_infra_proto_goTypes = []any{ (ServerKind)(0), // 0: encore.runtime.v1.ServerKind (PubSubTopic_DeliveryGuarantee)(0), // 1: encore.runtime.v1.PubSubTopic.DeliveryGuarantee (*Infrastructure)(nil), // 2: encore.runtime.v1.Infrastructure @@ -3297,459 +3013,37 @@ func file_encore_runtime_v1_infra_proto_init() { return } file_encore_runtime_v1_secretdata_proto_init() - if !protoimpl.UnsafeEnabled { - file_encore_runtime_v1_infra_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Infrastructure); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLCluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLSConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLServer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientCert); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLRole); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLDatabase); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLConnectionPool); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisCluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisServer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisConnectionPool); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisRole); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisDatabase); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppSecret); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubSubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketCluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Bucket); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Gateway); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Infrastructure_Credentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Infrastructure_Resources); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedisRole_AuthACL); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster_EncoreCloud); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster_AWSSqsSns); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster_GCPPubSub); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster_NSQ); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubCluster_AzureServiceBus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubTopic_GCPConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubSubSubscription_GCPConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketCluster_S3); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketCluster_GCS); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BucketCluster_GCS_LocalSignOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Gateway_CORS); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_infra_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Gateway_CORSAllowedOrigins); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_runtime_v1_infra_proto_msgTypes[2].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[11].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[2].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[3].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[5].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[9].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[11].OneofWrappers = []any{ (*RedisRole_Acl)(nil), (*RedisRole_AuthString)(nil), } - file_encore_runtime_v1_infra_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[12].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[14].OneofWrappers = []any{ (*PubSubCluster_Encore)(nil), (*PubSubCluster_Aws)(nil), (*PubSubCluster_Gcp)(nil), (*PubSubCluster_Azure)(nil), (*PubSubCluster_Nsq)(nil), } - file_encore_runtime_v1_infra_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[15].OneofWrappers = []any{ (*PubSubTopic_GcpConfig)(nil), } - file_encore_runtime_v1_infra_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[16].OneofWrappers = []any{ (*PubSubSubscription_GcpConfig)(nil), } - file_encore_runtime_v1_infra_proto_msgTypes[17].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[17].OneofWrappers = []any{ (*BucketCluster_S3_)(nil), (*BucketCluster_Gcs)(nil), } - file_encore_runtime_v1_infra_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[30].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_encore_runtime_v1_infra_proto_msgTypes[33].OneofWrappers = []interface{}{ + file_encore_runtime_v1_infra_proto_msgTypes[18].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[29].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[30].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[31].OneofWrappers = []any{} + file_encore_runtime_v1_infra_proto_msgTypes[33].OneofWrappers = []any{ (*Gateway_CORS_AllowedOrigins)(nil), (*Gateway_CORS_UnsafeAllowAllOriginsWithCredentials)(nil), } @@ -3757,7 +3051,7 @@ func file_encore_runtime_v1_infra_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_runtime_v1_infra_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_infra_proto_rawDesc), len(file_encore_runtime_v1_infra_proto_rawDesc)), NumEnums: 2, NumMessages: 35, NumExtensions: 0, @@ -3769,7 +3063,6 @@ func file_encore_runtime_v1_infra_proto_init() { MessageInfos: file_encore_runtime_v1_infra_proto_msgTypes, }.Build() File_encore_runtime_v1_infra_proto = out.File - file_encore_runtime_v1_infra_proto_rawDesc = nil file_encore_runtime_v1_infra_proto_goTypes = nil file_encore_runtime_v1_infra_proto_depIdxs = nil } diff --git a/proto/encore/runtime/v1/runtime.pb.go b/proto/encore/runtime/v1/runtime.pb.go index 7c2da3106b..7453d81750 100644 --- a/proto/encore/runtime/v1/runtime.pb.go +++ b/proto/encore/runtime/v1/runtime.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/runtime/v1/runtime.proto package runtimev1 @@ -13,6 +13,7 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -136,23 +137,20 @@ func (Environment_Cloud) EnumDescriptor() ([]byte, []int) { } type RuntimeConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Environment *Environment `protobuf:"bytes,1,opt,name=environment,proto3" json:"environment,omitempty"` - Infra *Infrastructure `protobuf:"bytes,2,opt,name=infra,proto3" json:"infra,omitempty"` - Deployment *Deployment `protobuf:"bytes,3,opt,name=deployment,proto3" json:"deployment,omitempty"` - EncorePlatform *EncorePlatform `protobuf:"bytes,5,opt,name=encore_platform,json=encorePlatform,proto3,oneof" json:"encore_platform,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Environment *Environment `protobuf:"bytes,1,opt,name=environment,proto3" json:"environment,omitempty"` + Infra *Infrastructure `protobuf:"bytes,2,opt,name=infra,proto3" json:"infra,omitempty"` + Deployment *Deployment `protobuf:"bytes,3,opt,name=deployment,proto3" json:"deployment,omitempty"` + EncorePlatform *EncorePlatform `protobuf:"bytes,5,opt,name=encore_platform,json=encorePlatform,proto3,oneof" json:"encore_platform,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RuntimeConfig) Reset() { *x = RuntimeConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RuntimeConfig) String() string { @@ -163,7 +161,7 @@ func (*RuntimeConfig) ProtoMessage() {} func (x *RuntimeConfig) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -207,25 +205,22 @@ func (x *RuntimeConfig) GetEncorePlatform() *EncorePlatform { } type Environment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + AppSlug string `protobuf:"bytes,2,opt,name=app_slug,json=appSlug,proto3" json:"app_slug,omitempty"` + EnvId string `protobuf:"bytes,3,opt,name=env_id,json=envId,proto3" json:"env_id,omitempty"` + EnvName string `protobuf:"bytes,4,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` + EnvType Environment_Type `protobuf:"varint,5,opt,name=env_type,json=envType,proto3,enum=encore.runtime.v1.Environment_Type" json:"env_type,omitempty"` + Cloud Environment_Cloud `protobuf:"varint,6,opt,name=cloud,proto3,enum=encore.runtime.v1.Environment_Cloud" json:"cloud,omitempty"` unknownFields protoimpl.UnknownFields - - AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` - AppSlug string `protobuf:"bytes,2,opt,name=app_slug,json=appSlug,proto3" json:"app_slug,omitempty"` - EnvId string `protobuf:"bytes,3,opt,name=env_id,json=envId,proto3" json:"env_id,omitempty"` - EnvName string `protobuf:"bytes,4,opt,name=env_name,json=envName,proto3" json:"env_name,omitempty"` - EnvType Environment_Type `protobuf:"varint,5,opt,name=env_type,json=envType,proto3,enum=encore.runtime.v1.Environment_Type" json:"env_type,omitempty"` - Cloud Environment_Cloud `protobuf:"varint,6,opt,name=cloud,proto3,enum=encore.runtime.v1.Environment_Cloud" json:"cloud,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Environment) Reset() { *x = Environment{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Environment) String() string { @@ -236,7 +231,7 @@ func (*Environment) ProtoMessage() {} func (x *Environment) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -296,10 +291,7 @@ func (x *Environment) GetCloud() Environment_Cloud { // Describes the configuration related to a specific deployment, // meaning a group of services deployed together (think a single k8s Deployment). type Deployment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` DeployId string `protobuf:"bytes,1,opt,name=deploy_id,json=deployId,proto3" json:"deploy_id,omitempty"` DeployedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=deployed_at,json=deployedAt,proto3" json:"deployed_at,omitempty"` // A list of experiments to enable at runtime. @@ -319,15 +311,15 @@ type Deployment struct { ServiceDiscovery *ServiceDiscovery `protobuf:"bytes,8,opt,name=service_discovery,json=serviceDiscovery,proto3" json:"service_discovery,omitempty"` // Graceful shutdown behavior. GracefulShutdown *GracefulShutdown `protobuf:"bytes,9,opt,name=graceful_shutdown,json=gracefulShutdown,proto3" json:"graceful_shutdown,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Deployment) Reset() { *x = Deployment{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Deployment) String() string { @@ -338,7 +330,7 @@ func (*Deployment) ProtoMessage() {} func (x *Deployment) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -417,23 +409,20 @@ func (x *Deployment) GetGracefulShutdown() *GracefulShutdown { } type Observability struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The observability providers to use. - Tracing []*TracingProvider `protobuf:"bytes,1,rep,name=tracing,proto3" json:"tracing,omitempty"` - Metrics []*MetricsProvider `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"` - Logs []*LogsProvider `protobuf:"bytes,3,rep,name=logs,proto3" json:"logs,omitempty"` + Tracing []*TracingProvider `protobuf:"bytes,1,rep,name=tracing,proto3" json:"tracing,omitempty"` + Metrics []*MetricsProvider `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"` + Logs []*LogsProvider `protobuf:"bytes,3,rep,name=logs,proto3" json:"logs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Observability) Reset() { *x = Observability{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Observability) String() string { @@ -444,7 +433,7 @@ func (*Observability) ProtoMessage() {} func (x *Observability) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -481,10 +470,7 @@ func (x *Observability) GetLogs() []*LogsProvider { } type HostedService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The name of the service. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Number of worker threads to use. @@ -494,16 +480,16 @@ type HostedService struct { WorkerThreads *int32 `protobuf:"varint,2,opt,name=worker_threads,json=workerThreads,proto3,oneof" json:"worker_threads,omitempty"` // The log configuration to use for this service. // If unset it defaults to "trace". - LogConfig *string `protobuf:"bytes,3,opt,name=log_config,json=logConfig,proto3,oneof" json:"log_config,omitempty"` + LogConfig *string `protobuf:"bytes,3,opt,name=log_config,json=logConfig,proto3,oneof" json:"log_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HostedService) Reset() { *x = HostedService{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HostedService) String() string { @@ -514,7 +500,7 @@ func (*HostedService) ProtoMessage() {} func (x *HostedService) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -551,26 +537,23 @@ func (x *HostedService) GetLogConfig() string { } type ServiceAuth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The auth method to use. // - // Types that are assignable to AuthMethod: + // Types that are valid to be assigned to AuthMethod: // // *ServiceAuth_Noop // *ServiceAuth_EncoreAuth_ - AuthMethod isServiceAuth_AuthMethod `protobuf_oneof:"auth_method"` + AuthMethod isServiceAuth_AuthMethod `protobuf_oneof:"auth_method"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServiceAuth) Reset() { *x = ServiceAuth{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceAuth) String() string { @@ -581,7 +564,7 @@ func (*ServiceAuth) ProtoMessage() {} func (x *ServiceAuth) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -596,23 +579,27 @@ func (*ServiceAuth) Descriptor() ([]byte, []int) { return file_encore_runtime_v1_runtime_proto_rawDescGZIP(), []int{5} } -func (m *ServiceAuth) GetAuthMethod() isServiceAuth_AuthMethod { - if m != nil { - return m.AuthMethod +func (x *ServiceAuth) GetAuthMethod() isServiceAuth_AuthMethod { + if x != nil { + return x.AuthMethod } return nil } func (x *ServiceAuth) GetNoop() *ServiceAuth_NoopAuth { - if x, ok := x.GetAuthMethod().(*ServiceAuth_Noop); ok { - return x.Noop + if x != nil { + if x, ok := x.AuthMethod.(*ServiceAuth_Noop); ok { + return x.Noop + } } return nil } func (x *ServiceAuth) GetEncoreAuth() *ServiceAuth_EncoreAuth { - if x, ok := x.GetAuthMethod().(*ServiceAuth_EncoreAuth_); ok { - return x.EncoreAuth + if x != nil { + if x, ok := x.AuthMethod.(*ServiceAuth_EncoreAuth_); ok { + return x.EncoreAuth + } } return nil } @@ -635,25 +622,22 @@ func (*ServiceAuth_Noop) isServiceAuth_AuthMethod() {} func (*ServiceAuth_EncoreAuth_) isServiceAuth_AuthMethod() {} type TracingProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this provider. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` - // Types that are assignable to Provider: + // Types that are valid to be assigned to Provider: // // *TracingProvider_Encore - Provider isTracingProvider_Provider `protobuf_oneof:"provider"` + Provider isTracingProvider_Provider `protobuf_oneof:"provider"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TracingProvider) Reset() { *x = TracingProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TracingProvider) String() string { @@ -664,7 +648,7 @@ func (*TracingProvider) ProtoMessage() {} func (x *TracingProvider) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -686,16 +670,18 @@ func (x *TracingProvider) GetRid() string { return "" } -func (m *TracingProvider) GetProvider() isTracingProvider_Provider { - if m != nil { - return m.Provider +func (x *TracingProvider) GetProvider() isTracingProvider_Provider { + if x != nil { + return x.Provider } return nil } func (x *TracingProvider) GetEncore() *TracingProvider_EncoreTracingProvider { - if x, ok := x.GetProvider().(*TracingProvider_Encore); ok { - return x.Encore + if x != nil { + if x, ok := x.Provider.(*TracingProvider_Encore); ok { + return x.Encore + } } return nil } @@ -711,30 +697,27 @@ type TracingProvider_Encore struct { func (*TracingProvider_Encore) isTracingProvider_Provider() {} type MetricsProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this provider. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` CollectionInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=collection_interval,json=collectionInterval,proto3" json:"collection_interval,omitempty"` - // Types that are assignable to Provider: + // Types that are valid to be assigned to Provider: // // *MetricsProvider_EncoreCloud // *MetricsProvider_Gcp // *MetricsProvider_Aws // *MetricsProvider_PromRemoteWrite // *MetricsProvider_Datadog_ - Provider isMetricsProvider_Provider `protobuf_oneof:"provider"` + Provider isMetricsProvider_Provider `protobuf_oneof:"provider"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricsProvider) Reset() { *x = MetricsProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricsProvider) String() string { @@ -745,7 +728,7 @@ func (*MetricsProvider) ProtoMessage() {} func (x *MetricsProvider) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -774,44 +757,54 @@ func (x *MetricsProvider) GetCollectionInterval() *durationpb.Duration { return nil } -func (m *MetricsProvider) GetProvider() isMetricsProvider_Provider { - if m != nil { - return m.Provider +func (x *MetricsProvider) GetProvider() isMetricsProvider_Provider { + if x != nil { + return x.Provider } return nil } func (x *MetricsProvider) GetEncoreCloud() *MetricsProvider_GCPCloudMonitoring { - if x, ok := x.GetProvider().(*MetricsProvider_EncoreCloud); ok { - return x.EncoreCloud + if x != nil { + if x, ok := x.Provider.(*MetricsProvider_EncoreCloud); ok { + return x.EncoreCloud + } } return nil } func (x *MetricsProvider) GetGcp() *MetricsProvider_GCPCloudMonitoring { - if x, ok := x.GetProvider().(*MetricsProvider_Gcp); ok { - return x.Gcp + if x != nil { + if x, ok := x.Provider.(*MetricsProvider_Gcp); ok { + return x.Gcp + } } return nil } func (x *MetricsProvider) GetAws() *MetricsProvider_AWSCloudWatch { - if x, ok := x.GetProvider().(*MetricsProvider_Aws); ok { - return x.Aws + if x != nil { + if x, ok := x.Provider.(*MetricsProvider_Aws); ok { + return x.Aws + } } return nil } func (x *MetricsProvider) GetPromRemoteWrite() *MetricsProvider_PrometheusRemoteWrite { - if x, ok := x.GetProvider().(*MetricsProvider_PromRemoteWrite); ok { - return x.PromRemoteWrite + if x != nil { + if x, ok := x.Provider.(*MetricsProvider_PromRemoteWrite); ok { + return x.PromRemoteWrite + } } return nil } func (x *MetricsProvider) GetDatadog() *MetricsProvider_Datadog { - if x, ok := x.GetProvider().(*MetricsProvider_Datadog_); ok { - return x.Datadog + if x != nil { + if x, ok := x.Provider.(*MetricsProvider_Datadog_); ok { + return x.Datadog + } } return nil } @@ -851,21 +844,18 @@ func (*MetricsProvider_PromRemoteWrite) isMetricsProvider_Provider() {} func (*MetricsProvider_Datadog_) isMetricsProvider_Provider() {} type LogsProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this provider. - Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` + Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LogsProvider) Reset() { *x = LogsProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogsProvider) String() string { @@ -876,7 +866,7 @@ func (*LogsProvider) ProtoMessage() {} func (x *LogsProvider) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -899,21 +889,18 @@ func (x *LogsProvider) GetRid() string { } type EncoreAuthKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Data *SecretData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields - - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Data *SecretData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncoreAuthKey) Reset() { *x = EncoreAuthKey{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncoreAuthKey) String() string { @@ -924,7 +911,7 @@ func (*EncoreAuthKey) ProtoMessage() {} func (x *EncoreAuthKey) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -955,21 +942,18 @@ func (x *EncoreAuthKey) GetData() *SecretData { // Describes service discovery configuration. type ServiceDiscovery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Where services are located, keyed by the service name. - Services map[string]*ServiceDiscovery_Location `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Services map[string]*ServiceDiscovery_Location `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServiceDiscovery) Reset() { *x = ServiceDiscovery{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceDiscovery) String() string { @@ -980,7 +964,7 @@ func (*ServiceDiscovery) ProtoMessage() {} func (x *ServiceDiscovery) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1004,10 +988,7 @@ func (x *ServiceDiscovery) GetServices() map[string]*ServiceDiscovery_Location { // GracefulShutdown defines the graceful shutdown timings. type GracefulShutdown struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Total is how long we allow the total shutdown to take // before the process forcibly exits. Total *durationpb.Duration `protobuf:"bytes,1,opt,name=total,proto3" json:"total,omitempty"` @@ -1022,16 +1003,16 @@ type GracefulShutdown struct { // For example, if [total] is 10 seconds and [handlers] is 2 seconds, // then we will cancel the context passed to handlers 8 seconds after // a graceful shutdown is initiated. - Handlers *durationpb.Duration `protobuf:"bytes,3,opt,name=handlers,proto3" json:"handlers,omitempty"` + Handlers *durationpb.Duration `protobuf:"bytes,3,opt,name=handlers,proto3" json:"handlers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GracefulShutdown) Reset() { *x = GracefulShutdown{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GracefulShutdown) String() string { @@ -1042,7 +1023,7 @@ func (*GracefulShutdown) ProtoMessage() {} func (x *GracefulShutdown) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1079,23 +1060,20 @@ func (x *GracefulShutdown) GetHandlers() *durationpb.Duration { } type EncorePlatform struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Auth keys for validating signed requests from the Encore Platform. PlatformSigningKeys []*EncoreAuthKey `protobuf:"bytes,1,rep,name=platform_signing_keys,json=platformSigningKeys,proto3" json:"platform_signing_keys,omitempty"` // The Encore Cloud configuration to use, if running in Encore Cloud. - EncoreCloud *EncoreCloudProvider `protobuf:"bytes,2,opt,name=encore_cloud,json=encoreCloud,proto3,oneof" json:"encore_cloud,omitempty"` + EncoreCloud *EncoreCloudProvider `protobuf:"bytes,2,opt,name=encore_cloud,json=encoreCloud,proto3,oneof" json:"encore_cloud,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncorePlatform) Reset() { *x = EncorePlatform{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncorePlatform) String() string { @@ -1106,7 +1084,7 @@ func (*EncorePlatform) ProtoMessage() {} func (x *EncorePlatform) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1136,23 +1114,20 @@ func (x *EncorePlatform) GetEncoreCloud() *EncoreCloudProvider { } type RateLimiter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *RateLimiter_TokenBucket_ - Kind isRateLimiter_Kind `protobuf_oneof:"kind"` + Kind isRateLimiter_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RateLimiter) Reset() { *x = RateLimiter{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RateLimiter) String() string { @@ -1163,7 +1138,7 @@ func (*RateLimiter) ProtoMessage() {} func (x *RateLimiter) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1178,16 +1153,18 @@ func (*RateLimiter) Descriptor() ([]byte, []int) { return file_encore_runtime_v1_runtime_proto_rawDescGZIP(), []int{13} } -func (m *RateLimiter) GetKind() isRateLimiter_Kind { - if m != nil { - return m.Kind +func (x *RateLimiter) GetKind() isRateLimiter_Kind { + if x != nil { + return x.Kind } return nil } func (x *RateLimiter) GetTokenBucket() *RateLimiter_TokenBucket { - if x, ok := x.GetKind().(*RateLimiter_TokenBucket_); ok { - return x.TokenBucket + if x != nil { + if x, ok := x.Kind.(*RateLimiter_TokenBucket_); ok { + return x.TokenBucket + } } return nil } @@ -1203,24 +1180,21 @@ type RateLimiter_TokenBucket_ struct { func (*RateLimiter_TokenBucket_) isRateLimiter_Kind() {} type EncoreCloudProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The unique resource id for this provider. Rid string `protobuf:"bytes,1,opt,name=rid,proto3" json:"rid,omitempty"` // URL to use to authenticate with the server. - ServerUrl string `protobuf:"bytes,2,opt,name=server_url,json=serverUrl,proto3" json:"server_url,omitempty"` - AuthKeys []*EncoreAuthKey `protobuf:"bytes,3,rep,name=auth_keys,json=authKeys,proto3" json:"auth_keys,omitempty"` + ServerUrl string `protobuf:"bytes,2,opt,name=server_url,json=serverUrl,proto3" json:"server_url,omitempty"` + AuthKeys []*EncoreAuthKey `protobuf:"bytes,3,rep,name=auth_keys,json=authKeys,proto3" json:"auth_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncoreCloudProvider) Reset() { *x = EncoreCloudProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncoreCloudProvider) String() string { @@ -1231,7 +1205,7 @@ func (*EncoreCloudProvider) ProtoMessage() {} func (x *EncoreCloudProvider) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1268,18 +1242,16 @@ func (x *EncoreCloudProvider) GetAuthKeys() []*EncoreAuthKey { } type ServiceAuth_NoopAuth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServiceAuth_NoopAuth) Reset() { *x = ServiceAuth_NoopAuth{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceAuth_NoopAuth) String() string { @@ -1290,7 +1262,7 @@ func (*ServiceAuth_NoopAuth) ProtoMessage() {} func (x *ServiceAuth_NoopAuth) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1306,20 +1278,17 @@ func (*ServiceAuth_NoopAuth) Descriptor() ([]byte, []int) { } type ServiceAuth_EncoreAuth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AuthKeys []*EncoreAuthKey `protobuf:"bytes,1,rep,name=auth_keys,json=authKeys,proto3" json:"auth_keys,omitempty"` unknownFields protoimpl.UnknownFields - - AuthKeys []*EncoreAuthKey `protobuf:"bytes,1,rep,name=auth_keys,json=authKeys,proto3" json:"auth_keys,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ServiceAuth_EncoreAuth) Reset() { *x = ServiceAuth_EncoreAuth{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceAuth_EncoreAuth) String() string { @@ -1330,7 +1299,7 @@ func (*ServiceAuth_EncoreAuth) ProtoMessage() {} func (x *ServiceAuth_EncoreAuth) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1353,23 +1322,20 @@ func (x *ServiceAuth_EncoreAuth) GetAuthKeys() []*EncoreAuthKey { } type TracingProvider_EncoreTracingProvider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TraceEndpoint string `protobuf:"bytes,1,opt,name=trace_endpoint,json=traceEndpoint,proto3" json:"trace_endpoint,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TraceEndpoint string `protobuf:"bytes,1,opt,name=trace_endpoint,json=traceEndpoint,proto3" json:"trace_endpoint,omitempty"` // The sampling rate to use for traces, between [0, 1]. // If unset it defaults to 1 (meaning all requests are traced). - SamplingRate *float64 `protobuf:"fixed64,2,opt,name=sampling_rate,json=samplingRate,proto3,oneof" json:"sampling_rate,omitempty"` + SamplingRate *float64 `protobuf:"fixed64,2,opt,name=sampling_rate,json=samplingRate,proto3,oneof" json:"sampling_rate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TracingProvider_EncoreTracingProvider) Reset() { *x = TracingProvider_EncoreTracingProvider{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TracingProvider_EncoreTracingProvider) String() string { @@ -1380,7 +1346,7 @@ func (*TracingProvider_EncoreTracingProvider) ProtoMessage() {} func (x *TracingProvider_EncoreTracingProvider) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1410,10 +1376,7 @@ func (x *TracingProvider_EncoreTracingProvider) GetSamplingRate() float64 { } type MetricsProvider_GCPCloudMonitoring struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The GCP project id to send metrics to. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // The enum value for the monitored resource this application is monitoring. @@ -1422,18 +1385,18 @@ type MetricsProvider_GCPCloudMonitoring struct { // The labels to specify for the monitored resource. // Each monitored resource type has a pre-defined set of labels that must be set. // See https://cloud.google.com/monitoring/api/resources for expected labels. - MonitoredResourceLabels map[string]string `protobuf:"bytes,3,rep,name=monitored_resource_labels,json=monitoredResourceLabels,proto3" json:"monitored_resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MonitoredResourceLabels map[string]string `protobuf:"bytes,3,rep,name=monitored_resource_labels,json=monitoredResourceLabels,proto3" json:"monitored_resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // The mapping between metric names in Encore and metric names in GCP. - MetricNames map[string]string `protobuf:"bytes,4,rep,name=metric_names,json=metricNames,proto3" json:"metric_names,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MetricNames map[string]string `protobuf:"bytes,4,rep,name=metric_names,json=metricNames,proto3" json:"metric_names,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricsProvider_GCPCloudMonitoring) Reset() { *x = MetricsProvider_GCPCloudMonitoring{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricsProvider_GCPCloudMonitoring) String() string { @@ -1444,7 +1407,7 @@ func (*MetricsProvider_GCPCloudMonitoring) ProtoMessage() {} func (x *MetricsProvider_GCPCloudMonitoring) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1488,21 +1451,18 @@ func (x *MetricsProvider_GCPCloudMonitoring) GetMetricNames() map[string]string } type MetricsProvider_AWSCloudWatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The namespace to use for metrics. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricsProvider_AWSCloudWatch) Reset() { *x = MetricsProvider_AWSCloudWatch{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricsProvider_AWSCloudWatch) String() string { @@ -1513,7 +1473,7 @@ func (*MetricsProvider_AWSCloudWatch) ProtoMessage() {} func (x *MetricsProvider_AWSCloudWatch) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1536,21 +1496,18 @@ func (x *MetricsProvider_AWSCloudWatch) GetNamespace() string { } type MetricsProvider_PrometheusRemoteWrite struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The URL to send metrics to. RemoteWriteUrl *SecretData `protobuf:"bytes,1,opt,name=remote_write_url,json=remoteWriteUrl,proto3" json:"remote_write_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricsProvider_PrometheusRemoteWrite) Reset() { *x = MetricsProvider_PrometheusRemoteWrite{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricsProvider_PrometheusRemoteWrite) String() string { @@ -1561,7 +1518,7 @@ func (*MetricsProvider_PrometheusRemoteWrite) ProtoMessage() {} func (x *MetricsProvider_PrometheusRemoteWrite) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1584,21 +1541,18 @@ func (x *MetricsProvider_PrometheusRemoteWrite) GetRemoteWriteUrl() *SecretData } type MetricsProvider_Datadog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Site string `protobuf:"bytes,1,opt,name=site,proto3" json:"site,omitempty"` + ApiKey *SecretData `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` unknownFields protoimpl.UnknownFields - - Site string `protobuf:"bytes,1,opt,name=site,proto3" json:"site,omitempty"` - ApiKey *SecretData `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MetricsProvider_Datadog) Reset() { *x = MetricsProvider_Datadog{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricsProvider_Datadog) String() string { @@ -1609,7 +1563,7 @@ func (*MetricsProvider_Datadog) ProtoMessage() {} func (x *MetricsProvider_Datadog) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1639,23 +1593,20 @@ func (x *MetricsProvider_Datadog) GetApiKey() *SecretData { } type ServiceDiscovery_Location struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The base URL of the service (including scheme and port). BaseUrl string `protobuf:"bytes,1,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` // The auth methods to use when talking to this service. - AuthMethods []*ServiceAuth `protobuf:"bytes,2,rep,name=auth_methods,json=authMethods,proto3" json:"auth_methods,omitempty"` + AuthMethods []*ServiceAuth `protobuf:"bytes,2,rep,name=auth_methods,json=authMethods,proto3" json:"auth_methods,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServiceDiscovery_Location) Reset() { *x = ServiceDiscovery_Location{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceDiscovery_Location) String() string { @@ -1666,7 +1617,7 @@ func (*ServiceDiscovery_Location) ProtoMessage() {} func (x *ServiceDiscovery_Location) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1696,23 +1647,20 @@ func (x *ServiceDiscovery_Location) GetAuthMethods() []*ServiceAuth { } type RateLimiter_TokenBucket struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The rate (in events per per second) to allow. Rate float64 `protobuf:"fixed64,1,opt,name=rate,proto3" json:"rate,omitempty"` // The burst size to allow. - Burst uint32 `protobuf:"varint,2,opt,name=burst,proto3" json:"burst,omitempty"` + Burst uint32 `protobuf:"varint,2,opt,name=burst,proto3" json:"burst,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RateLimiter_TokenBucket) Reset() { *x = RateLimiter_TokenBucket{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_runtime_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_runtime_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RateLimiter_TokenBucket) String() string { @@ -1723,7 +1671,7 @@ func (*RateLimiter_TokenBucket) ProtoMessage() {} func (x *RateLimiter_TokenBucket) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_runtime_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1754,327 +1702,159 @@ func (x *RateLimiter_TokenBucket) GetBurst() uint32 { var File_encore_runtime_v1_runtime_proto protoreflect.FileDescriptor -var file_encore_runtime_v1_runtime_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1d, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x02, 0x0a, 0x0d, 0x52, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x6e, - 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x05, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x48, 0x00, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xcb, 0x03, 0x0a, 0x0b, 0x45, 0x6e, - 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x53, 0x6c, 0x75, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x65, - 0x6e, 0x76, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x76, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, - 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x23, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, - 0x05, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x6a, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x44, 0x45, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, - 0x0f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x50, 0x48, 0x45, 0x4d, - 0x45, 0x52, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, - 0x45, 0x53, 0x54, 0x10, 0x04, 0x22, 0x70, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x15, - 0x0a, 0x11, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x4c, - 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, - 0x45, 0x4e, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, 0x55, - 0x44, 0x5f, 0x41, 0x57, 0x53, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, 0x55, 0x44, - 0x5f, 0x47, 0x43, 0x50, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, - 0x41, 0x5a, 0x55, 0x52, 0x45, 0x10, 0x05, 0x22, 0xba, 0x04, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x65, - 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, - 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x6f, 0x73, 0x74, - 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x68, 0x6f, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x0b, 0x61, 0x75, 0x74, - 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x6f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x50, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x12, 0x50, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, - 0x77, 0x6e, 0x52, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x68, 0x75, 0x74, - 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xc0, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, - 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, - 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x54, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0x82, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x3d, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x4e, 0x6f, - 0x6f, 0x70, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x4c, - 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x75, 0x74, 0x68, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, - 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x1a, 0x0a, 0x0a, 0x08, - 0x4e, 0x6f, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x68, 0x1a, 0x4b, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x61, 0x75, 0x74, - 0x68, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x45, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x7a, - 0x0a, 0x15, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, - 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, - 0x67, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xf6, 0x09, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x13, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5a, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x47, 0x43, 0x50, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x49, 0x0a, 0x03, 0x67, 0x63, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x47, 0x43, 0x50, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x70, 0x12, - 0x44, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x2e, 0x41, 0x57, 0x53, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, - 0x52, 0x03, 0x61, 0x77, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, - 0x6f, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x46, 0x0a, - 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x07, 0x64, 0x61, - 0x74, 0x61, 0x64, 0x6f, 0x67, 0x1a, 0xf3, 0x03, 0x0a, 0x12, 0x47, 0x43, 0x50, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x6d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, - 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x47, 0x43, 0x50, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x6d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x69, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x47, - 0x43, 0x50, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, - 0x4a, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2d, 0x0a, 0x0d, 0x41, - 0x57, 0x53, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x60, 0x0a, 0x15, 0x50, 0x72, - 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x1a, 0x55, 0x0a, 0x07, - 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x61, - 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x61, 0x70, 0x69, - 0x4b, 0x65, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, - 0x20, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x69, - 0x64, 0x22, 0x52, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, - 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb6, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x08, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0d, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x68, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x0c, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0xbc, - 0x01, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, - 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, - 0x6e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x22, 0xc7, 0x01, - 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x54, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x69, 0x67, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, - 0x79, 0x52, 0x13, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x69, - 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4e, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x74, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x37, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x75, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x75, 0x72, 0x73, - 0x74, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x45, 0x6e, - 0x63, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x72, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, - 0x72, 0x6c, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x72, 0x65, - 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, - 0x73, 0x42, 0x2c, 0x5a, 0x2a, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x76, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_runtime_v1_runtime_proto_rawDesc = "" + + "\n" + + "\x1fencore/runtime/v1/runtime.proto\x12\x11encore.runtime.v1\x1a\x1dencore/runtime/v1/infra.proto\x1a\"encore/runtime/v1/secretdata.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xae\x02\n" + + "\rRuntimeConfig\x12@\n" + + "\venvironment\x18\x01 \x01(\v2\x1e.encore.runtime.v1.EnvironmentR\venvironment\x127\n" + + "\x05infra\x18\x02 \x01(\v2!.encore.runtime.v1.InfrastructureR\x05infra\x12=\n" + + "\n" + + "deployment\x18\x03 \x01(\v2\x1d.encore.runtime.v1.DeploymentR\n" + + "deployment\x12O\n" + + "\x0fencore_platform\x18\x05 \x01(\v2!.encore.runtime.v1.EncorePlatformH\x00R\x0eencorePlatform\x88\x01\x01B\x12\n" + + "\x10_encore_platform\"\xcb\x03\n" + + "\vEnvironment\x12\x15\n" + + "\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x19\n" + + "\bapp_slug\x18\x02 \x01(\tR\aappSlug\x12\x15\n" + + "\x06env_id\x18\x03 \x01(\tR\x05envId\x12\x19\n" + + "\benv_name\x18\x04 \x01(\tR\aenvName\x12>\n" + + "\benv_type\x18\x05 \x01(\x0e2#.encore.runtime.v1.Environment.TypeR\aenvType\x12:\n" + + "\x05cloud\x18\x06 \x01(\x0e2$.encore.runtime.v1.Environment.CloudR\x05cloud\"j\n" + + "\x04Type\x12\x14\n" + + "\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n" + + "\x10TYPE_DEVELOPMENT\x10\x01\x12\x13\n" + + "\x0fTYPE_PRODUCTION\x10\x02\x12\x12\n" + + "\x0eTYPE_EPHEMERAL\x10\x03\x12\r\n" + + "\tTYPE_TEST\x10\x04\"p\n" + + "\x05Cloud\x12\x15\n" + + "\x11CLOUD_UNSPECIFIED\x10\x00\x12\x0f\n" + + "\vCLOUD_LOCAL\x10\x01\x12\x10\n" + + "\fCLOUD_ENCORE\x10\x02\x12\r\n" + + "\tCLOUD_AWS\x10\x03\x12\r\n" + + "\tCLOUD_GCP\x10\x04\x12\x0f\n" + + "\vCLOUD_AZURE\x10\x05\"\xba\x04\n" + + "\n" + + "Deployment\x12\x1b\n" + + "\tdeploy_id\x18\x01 \x01(\tR\bdeployId\x12;\n" + + "\vdeployed_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "deployedAt\x12/\n" + + "\x13dynamic_experiments\x18\x03 \x03(\tR\x12dynamicExperiments\x12'\n" + + "\x0fhosted_gateways\x18\x04 \x03(\tR\x0ehostedGateways\x12I\n" + + "\x0fhosted_services\x18\x05 \x03(\v2 .encore.runtime.v1.HostedServiceR\x0ehostedServices\x12A\n" + + "\fauth_methods\x18\x06 \x03(\v2\x1e.encore.runtime.v1.ServiceAuthR\vauthMethods\x12F\n" + + "\robservability\x18\a \x01(\v2 .encore.runtime.v1.ObservabilityR\robservability\x12P\n" + + "\x11service_discovery\x18\b \x01(\v2#.encore.runtime.v1.ServiceDiscoveryR\x10serviceDiscovery\x12P\n" + + "\x11graceful_shutdown\x18\t \x01(\v2#.encore.runtime.v1.GracefulShutdownR\x10gracefulShutdown\"\xc0\x01\n" + + "\rObservability\x12<\n" + + "\atracing\x18\x01 \x03(\v2\".encore.runtime.v1.TracingProviderR\atracing\x12<\n" + + "\ametrics\x18\x02 \x03(\v2\".encore.runtime.v1.MetricsProviderR\ametrics\x123\n" + + "\x04logs\x18\x03 \x03(\v2\x1f.encore.runtime.v1.LogsProviderR\x04logs\"\x95\x01\n" + + "\rHostedService\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12*\n" + + "\x0eworker_threads\x18\x02 \x01(\x05H\x00R\rworkerThreads\x88\x01\x01\x12\"\n" + + "\n" + + "log_config\x18\x03 \x01(\tH\x01R\tlogConfig\x88\x01\x01B\x11\n" + + "\x0f_worker_threadsB\r\n" + + "\v_log_config\"\x82\x02\n" + + "\vServiceAuth\x12=\n" + + "\x04noop\x18\n" + + " \x01(\v2'.encore.runtime.v1.ServiceAuth.NoopAuthH\x00R\x04noop\x12L\n" + + "\vencore_auth\x18\v \x01(\v2).encore.runtime.v1.ServiceAuth.EncoreAuthH\x00R\n" + + "encoreAuth\x1a\n" + + "\n" + + "\bNoopAuth\x1aK\n" + + "\n" + + "EncoreAuth\x12=\n" + + "\tauth_keys\x18\x01 \x03(\v2 .encore.runtime.v1.EncoreAuthKeyR\bauthKeysB\r\n" + + "\vauth_method\"\xff\x01\n" + + "\x0fTracingProvider\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12R\n" + + "\x06encore\x18\n" + + " \x01(\v28.encore.runtime.v1.TracingProvider.EncoreTracingProviderH\x00R\x06encore\x1az\n" + + "\x15EncoreTracingProvider\x12%\n" + + "\x0etrace_endpoint\x18\x01 \x01(\tR\rtraceEndpoint\x12(\n" + + "\rsampling_rate\x18\x02 \x01(\x01H\x00R\fsamplingRate\x88\x01\x01B\x10\n" + + "\x0e_sampling_rateB\n" + + "\n" + + "\bprovider\"\xf6\t\n" + + "\x0fMetricsProvider\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12J\n" + + "\x13collection_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x12collectionInterval\x12Z\n" + + "\fencore_cloud\x18\n" + + " \x01(\v25.encore.runtime.v1.MetricsProvider.GCPCloudMonitoringH\x00R\vencoreCloud\x12I\n" + + "\x03gcp\x18\v \x01(\v25.encore.runtime.v1.MetricsProvider.GCPCloudMonitoringH\x00R\x03gcp\x12D\n" + + "\x03aws\x18\f \x01(\v20.encore.runtime.v1.MetricsProvider.AWSCloudWatchH\x00R\x03aws\x12f\n" + + "\x11prom_remote_write\x18\r \x01(\v28.encore.runtime.v1.MetricsProvider.PrometheusRemoteWriteH\x00R\x0fpromRemoteWrite\x12F\n" + + "\adatadog\x18\x0e \x01(\v2*.encore.runtime.v1.MetricsProvider.DatadogH\x00R\adatadog\x1a\xf3\x03\n" + + "\x12GCPCloudMonitoring\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\x126\n" + + "\x17monitored_resource_type\x18\x02 \x01(\tR\x15monitoredResourceType\x12\x8e\x01\n" + + "\x19monitored_resource_labels\x18\x03 \x03(\v2R.encore.runtime.v1.MetricsProvider.GCPCloudMonitoring.MonitoredResourceLabelsEntryR\x17monitoredResourceLabels\x12i\n" + + "\fmetric_names\x18\x04 \x03(\v2F.encore.runtime.v1.MetricsProvider.GCPCloudMonitoring.MetricNamesEntryR\vmetricNames\x1aJ\n" + + "\x1cMonitoredResourceLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a>\n" + + "\x10MetricNamesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a-\n" + + "\rAWSCloudWatch\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x1a`\n" + + "\x15PrometheusRemoteWrite\x12G\n" + + "\x10remote_write_url\x18\x01 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\x0eremoteWriteUrl\x1aU\n" + + "\aDatadog\x12\x12\n" + + "\x04site\x18\x01 \x01(\tR\x04site\x126\n" + + "\aapi_key\x18\x02 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\x06apiKeyB\n" + + "\n" + + "\bprovider\" \n" + + "\fLogsProvider\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\"R\n" + + "\rEncoreAuthKey\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x121\n" + + "\x04data\x18\x02 \x01(\v2\x1d.encore.runtime.v1.SecretDataR\x04data\"\xb6\x02\n" + + "\x10ServiceDiscovery\x12M\n" + + "\bservices\x18\x01 \x03(\v21.encore.runtime.v1.ServiceDiscovery.ServicesEntryR\bservices\x1ai\n" + + "\rServicesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12B\n" + + "\x05value\x18\x02 \x01(\v2,.encore.runtime.v1.ServiceDiscovery.LocationR\x05value:\x028\x01\x1ah\n" + + "\bLocation\x12\x19\n" + + "\bbase_url\x18\x01 \x01(\tR\abaseUrl\x12A\n" + + "\fauth_methods\x18\x02 \x03(\v2\x1e.encore.runtime.v1.ServiceAuthR\vauthMethods\"\xbc\x01\n" + + "\x10GracefulShutdown\x12/\n" + + "\x05total\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\x05total\x12@\n" + + "\x0eshutdown_hooks\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\rshutdownHooks\x125\n" + + "\bhandlers\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\bhandlers\"\xc7\x01\n" + + "\x0eEncorePlatform\x12T\n" + + "\x15platform_signing_keys\x18\x01 \x03(\v2 .encore.runtime.v1.EncoreAuthKeyR\x13platformSigningKeys\x12N\n" + + "\fencore_cloud\x18\x02 \x01(\v2&.encore.runtime.v1.EncoreCloudProviderH\x00R\vencoreCloud\x88\x01\x01B\x0f\n" + + "\r_encore_cloud\"\x9f\x01\n" + + "\vRateLimiter\x12O\n" + + "\ftoken_bucket\x18\x01 \x01(\v2*.encore.runtime.v1.RateLimiter.TokenBucketH\x00R\vtokenBucket\x1a7\n" + + "\vTokenBucket\x12\x12\n" + + "\x04rate\x18\x01 \x01(\x01R\x04rate\x12\x14\n" + + "\x05burst\x18\x02 \x01(\rR\x05burstB\x06\n" + + "\x04kind\"\x85\x01\n" + + "\x13EncoreCloudProvider\x12\x10\n" + + "\x03rid\x18\x01 \x01(\tR\x03rid\x12\x1d\n" + + "\n" + + "server_url\x18\x02 \x01(\tR\tserverUrl\x12=\n" + + "\tauth_keys\x18\x03 \x03(\v2 .encore.runtime.v1.EncoreAuthKeyR\bauthKeysB,Z*encr.dev/proto/encore/runtime/v1;runtimev1b\x06proto3" var ( file_encore_runtime_v1_runtime_proto_rawDescOnce sync.Once - file_encore_runtime_v1_runtime_proto_rawDescData = file_encore_runtime_v1_runtime_proto_rawDesc + file_encore_runtime_v1_runtime_proto_rawDescData []byte ) func file_encore_runtime_v1_runtime_proto_rawDescGZIP() []byte { file_encore_runtime_v1_runtime_proto_rawDescOnce.Do(func() { - file_encore_runtime_v1_runtime_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_runtime_v1_runtime_proto_rawDescData) + file_encore_runtime_v1_runtime_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_runtime_proto_rawDesc), len(file_encore_runtime_v1_runtime_proto_rawDesc))) }) return file_encore_runtime_v1_runtime_proto_rawDescData } var file_encore_runtime_v1_runtime_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_encore_runtime_v1_runtime_proto_msgTypes = make([]protoimpl.MessageInfo, 27) -var file_encore_runtime_v1_runtime_proto_goTypes = []interface{}{ +var file_encore_runtime_v1_runtime_proto_goTypes = []any{ (Environment_Type)(0), // 0: encore.runtime.v1.Environment.Type (Environment_Cloud)(0), // 1: encore.runtime.v1.Environment.Cloud (*RuntimeConfig)(nil), // 2: encore.runtime.v1.RuntimeConfig @@ -2164,322 +1944,32 @@ func file_encore_runtime_v1_runtime_proto_init() { } file_encore_runtime_v1_infra_proto_init() file_encore_runtime_v1_secretdata_proto_init() - if !protoimpl.UnsafeEnabled { - file_encore_runtime_v1_runtime_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RuntimeConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Environment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Deployment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Observability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HostedService); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceAuth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TracingProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogsProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncoreAuthKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceDiscovery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GracefulShutdown); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncorePlatform); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RateLimiter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncoreCloudProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceAuth_NoopAuth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceAuth_EncoreAuth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TracingProvider_EncoreTracingProvider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsProvider_GCPCloudMonitoring); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsProvider_AWSCloudWatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsProvider_PrometheusRemoteWrite); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsProvider_Datadog); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceDiscovery_Location); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RateLimiter_TokenBucket); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_runtime_v1_runtime_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_encore_runtime_v1_runtime_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_encore_runtime_v1_runtime_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_encore_runtime_v1_runtime_proto_msgTypes[0].OneofWrappers = []any{} + file_encore_runtime_v1_runtime_proto_msgTypes[4].OneofWrappers = []any{} + file_encore_runtime_v1_runtime_proto_msgTypes[5].OneofWrappers = []any{ (*ServiceAuth_Noop)(nil), (*ServiceAuth_EncoreAuth_)(nil), } - file_encore_runtime_v1_runtime_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_encore_runtime_v1_runtime_proto_msgTypes[6].OneofWrappers = []any{ (*TracingProvider_Encore)(nil), } - file_encore_runtime_v1_runtime_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_encore_runtime_v1_runtime_proto_msgTypes[7].OneofWrappers = []any{ (*MetricsProvider_EncoreCloud)(nil), (*MetricsProvider_Gcp)(nil), (*MetricsProvider_Aws)(nil), (*MetricsProvider_PromRemoteWrite)(nil), (*MetricsProvider_Datadog_)(nil), } - file_encore_runtime_v1_runtime_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_encore_runtime_v1_runtime_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_encore_runtime_v1_runtime_proto_msgTypes[12].OneofWrappers = []any{} + file_encore_runtime_v1_runtime_proto_msgTypes[13].OneofWrappers = []any{ (*RateLimiter_TokenBucket_)(nil), } - file_encore_runtime_v1_runtime_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_encore_runtime_v1_runtime_proto_msgTypes[17].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_runtime_v1_runtime_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_runtime_proto_rawDesc), len(file_encore_runtime_v1_runtime_proto_rawDesc)), NumEnums: 2, NumMessages: 27, NumExtensions: 0, @@ -2491,7 +1981,6 @@ func file_encore_runtime_v1_runtime_proto_init() { MessageInfos: file_encore_runtime_v1_runtime_proto_msgTypes, }.Build() File_encore_runtime_v1_runtime_proto = out.File - file_encore_runtime_v1_runtime_proto_rawDesc = nil file_encore_runtime_v1_runtime_proto_goTypes = nil file_encore_runtime_v1_runtime_proto_depIdxs = nil } diff --git a/proto/encore/runtime/v1/secretdata.pb.go b/proto/encore/runtime/v1/secretdata.pb.go index a847beccb4..0f28e80e0d 100644 --- a/proto/encore/runtime/v1/secretdata.pb.go +++ b/proto/encore/runtime/v1/secretdata.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc-gen-go v1.36.10 +// protoc v6.32.1 // source: encore/runtime/v1/secretdata.proto package runtimev1 @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -70,14 +71,11 @@ func (SecretData_Encoding) EnumDescriptor() ([]byte, []int) { // Defines how to resolve a secret value. type SecretData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // How to resolve the initial secret value. // The output of this step is always a byte slice. // - // Types that are assignable to Source: + // Types that are valid to be assigned to Source: // // *SecretData_Embedded // *SecretData_Env @@ -86,19 +84,19 @@ type SecretData struct { Encoding SecretData_Encoding `protobuf:"varint,20,opt,name=encoding,proto3,enum=encore.runtime.v1.SecretData_Encoding" json:"encoding,omitempty"` // sub_path is an optional path to a sub-value within the secret data. // - // Types that are assignable to SubPath: + // Types that are valid to be assigned to SubPath: // // *SecretData_JsonKey - SubPath isSecretData_SubPath `protobuf_oneof:"sub_path"` + SubPath isSecretData_SubPath `protobuf_oneof:"sub_path"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SecretData) Reset() { *x = SecretData{} - if protoimpl.UnsafeEnabled { - mi := &file_encore_runtime_v1_secretdata_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_encore_runtime_v1_secretdata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SecretData) String() string { @@ -109,7 +107,7 @@ func (*SecretData) ProtoMessage() {} func (x *SecretData) ProtoReflect() protoreflect.Message { mi := &file_encore_runtime_v1_secretdata_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -124,23 +122,27 @@ func (*SecretData) Descriptor() ([]byte, []int) { return file_encore_runtime_v1_secretdata_proto_rawDescGZIP(), []int{0} } -func (m *SecretData) GetSource() isSecretData_Source { - if m != nil { - return m.Source +func (x *SecretData) GetSource() isSecretData_Source { + if x != nil { + return x.Source } return nil } func (x *SecretData) GetEmbedded() []byte { - if x, ok := x.GetSource().(*SecretData_Embedded); ok { - return x.Embedded + if x != nil { + if x, ok := x.Source.(*SecretData_Embedded); ok { + return x.Embedded + } } return nil } func (x *SecretData) GetEnv() string { - if x, ok := x.GetSource().(*SecretData_Env); ok { - return x.Env + if x != nil { + if x, ok := x.Source.(*SecretData_Env); ok { + return x.Env + } } return "" } @@ -152,16 +154,18 @@ func (x *SecretData) GetEncoding() SecretData_Encoding { return SecretData_ENCODING_NONE } -func (m *SecretData) GetSubPath() isSecretData_SubPath { - if m != nil { - return m.SubPath +func (x *SecretData) GetSubPath() isSecretData_SubPath { + if x != nil { + return x.SubPath } return nil } func (x *SecretData) GetJsonKey() string { - if x, ok := x.GetSubPath().(*SecretData_JsonKey); ok { - return x.JsonKey + if x != nil { + if x, ok := x.SubPath.(*SecretData_JsonKey); ok { + return x.JsonKey + } } return "" } @@ -208,47 +212,39 @@ func (*SecretData_JsonKey) isSecretData_SubPath() {} var File_encore_runtime_v1_secretdata_proto protoreflect.FileDescriptor -var file_encore_runtime_v1_secretdata_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x22, 0xf5, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x08, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6d, 0x62, 0x65, - 0x64, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x42, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x08, - 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x32, 0x0a, 0x08, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x43, 0x4f, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x36, 0x34, 0x10, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x42, - 0x2c, 0x5a, 0x2a, 0x65, 0x6e, 0x63, 0x72, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_encore_runtime_v1_secretdata_proto_rawDesc = "" + + "\n" + + "\"encore/runtime/v1/secretdata.proto\x12\x11encore.runtime.v1\"\xf5\x01\n" + + "\n" + + "SecretData\x12\x1c\n" + + "\bembedded\x18\x01 \x01(\fH\x00R\bembedded\x12\x12\n" + + "\x03env\x18\x02 \x01(\tH\x00R\x03env\x12B\n" + + "\bencoding\x18\x14 \x01(\x0e2&.encore.runtime.v1.SecretData.EncodingR\bencoding\x12\x1b\n" + + "\bjson_key\x18\n" + + " \x01(\tH\x01R\ajsonKey\"2\n" + + "\bEncoding\x12\x11\n" + + "\rENCODING_NONE\x10\x00\x12\x13\n" + + "\x0fENCODING_BASE64\x10\x01B\b\n" + + "\x06sourceB\n" + + "\n" + + "\bsub_pathJ\x04\b\x03\x10\n" + + "J\x04\b\f\x10\x14B,Z*encr.dev/proto/encore/runtime/v1;runtimev1b\x06proto3" var ( file_encore_runtime_v1_secretdata_proto_rawDescOnce sync.Once - file_encore_runtime_v1_secretdata_proto_rawDescData = file_encore_runtime_v1_secretdata_proto_rawDesc + file_encore_runtime_v1_secretdata_proto_rawDescData []byte ) func file_encore_runtime_v1_secretdata_proto_rawDescGZIP() []byte { file_encore_runtime_v1_secretdata_proto_rawDescOnce.Do(func() { - file_encore_runtime_v1_secretdata_proto_rawDescData = protoimpl.X.CompressGZIP(file_encore_runtime_v1_secretdata_proto_rawDescData) + file_encore_runtime_v1_secretdata_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_secretdata_proto_rawDesc), len(file_encore_runtime_v1_secretdata_proto_rawDesc))) }) return file_encore_runtime_v1_secretdata_proto_rawDescData } var file_encore_runtime_v1_secretdata_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_encore_runtime_v1_secretdata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_encore_runtime_v1_secretdata_proto_goTypes = []interface{}{ +var file_encore_runtime_v1_secretdata_proto_goTypes = []any{ (SecretData_Encoding)(0), // 0: encore.runtime.v1.SecretData.Encoding (*SecretData)(nil), // 1: encore.runtime.v1.SecretData } @@ -266,21 +262,7 @@ func file_encore_runtime_v1_secretdata_proto_init() { if File_encore_runtime_v1_secretdata_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_encore_runtime_v1_secretdata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecretData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_encore_runtime_v1_secretdata_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_encore_runtime_v1_secretdata_proto_msgTypes[0].OneofWrappers = []any{ (*SecretData_Embedded)(nil), (*SecretData_Env)(nil), (*SecretData_JsonKey)(nil), @@ -289,7 +271,7 @@ func file_encore_runtime_v1_secretdata_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_encore_runtime_v1_secretdata_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_encore_runtime_v1_secretdata_proto_rawDesc), len(file_encore_runtime_v1_secretdata_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, @@ -301,7 +283,6 @@ func file_encore_runtime_v1_secretdata_proto_init() { MessageInfos: file_encore_runtime_v1_secretdata_proto_msgTypes, }.Build() File_encore_runtime_v1_secretdata_proto = out.File - file_encore_runtime_v1_secretdata_proto_rawDesc = nil file_encore_runtime_v1_secretdata_proto_goTypes = nil file_encore_runtime_v1_secretdata_proto_depIdxs = nil } diff --git a/runtimes/core/src/api/jsonschema/meta.rs b/runtimes/core/src/api/jsonschema/meta.rs index adf3d26df5..29246c314a 100644 --- a/runtimes/core/src/api/jsonschema/meta.rs +++ b/runtimes/core/src/api/jsonschema/meta.rs @@ -122,6 +122,7 @@ impl BuilderCtx<'_, '_> { } Typ::Pointer(ptr) => self.ptr(ptr), + Typ::Option(opt) => self.option(opt), Typ::Struct(st) => Ok(Value::Struct(self.struct_val(st)?)), Typ::Map(map) => self.map(map), Typ::List(list) => self.list(list), @@ -198,6 +199,15 @@ impl BuilderCtx<'_, '_> { self.typ(&ptr.base) } + #[inline] + fn option(&mut self, opt: &schema::Option) -> Result { + let value = self.typ(&opt.value)?; + Ok(Value::Union(vec![ + self.bov(value), + BasicOrValue::Basic(Basic::Null), + ])) + } + #[inline] fn builtin(&mut self, b: schema::Builtin) -> Value { use schema::Builtin; diff --git a/runtimes/core/src/api/schema/encoding.rs b/runtimes/core/src/api/schema/encoding.rs index 82c22e2ff4..5d2a990fa0 100644 --- a/runtimes/core/src/api/schema/encoding.rs +++ b/runtimes/core/src/api/schema/encoding.rs @@ -350,6 +350,20 @@ impl<'a> TypeArgResolver<'a> { self.resolve(typ) } + Typ::Option(opt) => { + let value = opt.value.as_ref().context("option without value")?; + let inner = value.typ.as_ref().context("value without type")?; + match self.resolve(inner)? { + Cow::Borrowed(_) => Ok(Cow::Borrowed(typ)), + Cow::Owned(inner) => Ok(Cow::Owned(Typ::Option(Box::new(schema::Option { + value: Some(Box::new(schema::Type { + typ: Some(inner), + validation: value.validation.clone(), + })), + })))), + } + } + Typ::TypeParameter(param) => { let idx = param.param_idx as usize; let typ = &self.resolved_args[idx]; diff --git a/runtimes/core/src/pubsub/manager.rs b/runtimes/core/src/pubsub/manager.rs index 797d33be24..88c5725066 100644 --- a/runtimes/core/src/pubsub/manager.rs +++ b/runtimes/core/src/pubsub/manager.rs @@ -557,6 +557,7 @@ fn message_attr_fields( | Typ::List(_) | Typ::Builtin(_) | Typ::Pointer(_) + | Typ::Option(_) | Typ::Union(_) | Typ::Literal(_) | Typ::TypeParameter(_) diff --git a/runtimes/go/appruntime/shared/etype/marshal.go b/runtimes/go/appruntime/shared/etype/marshal.go index 9a27d8046a..ed34476340 100644 --- a/runtimes/go/appruntime/shared/etype/marshal.go +++ b/runtimes/go/appruntime/shared/etype/marshal.go @@ -7,95 +7,120 @@ import ( "time" "encore.dev/beta/auth" + "encore.dev/types/option" "encore.dev/types/uuid" ) -type ElemMarshaller[T any] func(T) string +type ElemMarshaller[T any] func(T) (val string, present bool) func MarshalOne[T any](fn ElemMarshaller[T], data T) string { - return fn(data) + if val, present := fn(data); present { + return val + } else { + return "" + } +} + +func MarshalOneAsList[T any](fn ElemMarshaller[T], data T) []string { + if val, present := fn(data); present { + return []string{val} + } else { + return []string{} + } } func MarshalList[T any](fn ElemMarshaller[T], data []T) []string { - result := make([]string, len(data)) - for i, x := range data { - result[i] = fn(x) + result := make([]string, 0, len(data)) + for _, x := range data { + if val, present := fn(x); present { + result = append(result, val) + } } return result } -func MarshalInt16(s int16) (v string) { - return strconv.FormatInt(int64(s), 10) +// OptionMarshaller wraps an ElemMarshaller to produce an ElemMarshaller for option.Option types. +func OptionMarshaller[T any](inner ElemMarshaller[T]) ElemMarshaller[option.Option[T]] { + return func(s option.Option[T]) (val string, present bool) { + if val, ok := s.Get(); ok { + return inner(val) + } + return "", false + } +} + +func MarshalInt16(s int16) (v string, present bool) { + return strconv.FormatInt(int64(s), 10), true } -func MarshalUint16(s uint16) (v string) { - return strconv.FormatUint(uint64(s), 10) +func MarshalUint16(s uint16) (v string, present bool) { + return strconv.FormatUint(uint64(s), 10), true } -func MarshalFloat64(s float64) (v string) { - return strconv.FormatFloat(s, uint8(0x66), -1, 64) +func MarshalFloat64(s float64) (v string, present bool) { + return strconv.FormatFloat(s, uint8(0x66), -1, 64), true } -func MarshalBytes(s []byte) (v string) { - return base64.URLEncoding.EncodeToString(s) +func MarshalBytes(s []byte) (v string, present bool) { + return base64.URLEncoding.EncodeToString(s), true } -func MarshalUserID(s auth.UID) (v string) { - return string(s) +func MarshalUserID(s auth.UID) (v string, present bool) { + return string(s), true } -func MarshalUint32(s uint32) (v string) { - return strconv.FormatUint(uint64(s), 10) +func MarshalUint32(s uint32) (v string, present bool) { + return strconv.FormatUint(uint64(s), 10), true } -func MarshalString(s string) (v string) { - return s +func MarshalString(s string) (v string, present bool) { + return s, true } -func MarshalUUID(s uuid.UUID) (v string) { - return s.String() +func MarshalUUID(s uuid.UUID) (v string, present bool) { + return s.String(), true } -func MarshalJSON(s stdjson.RawMessage) (v string) { - return string(s) +func MarshalJSON(s stdjson.RawMessage) (v string, present bool) { + return string(s), true } -func MarshalInt(s int) (v string) { - return strconv.FormatInt(int64(s), 10) +func MarshalInt(s int) (v string, present bool) { + return strconv.FormatInt(int64(s), 10), true } -func MarshalUint(s uint) (v string) { - return strconv.FormatUint(uint64(s), 10) +func MarshalUint(s uint) (v string, present bool) { + return strconv.FormatUint(uint64(s), 10), true } -func MarshalBool(s bool) (v string) { - return strconv.FormatBool(s) +func MarshalBool(s bool) (v string, present bool) { + return strconv.FormatBool(s), true } -func MarshalUint8(s uint8) (v string) { - return strconv.FormatUint(uint64(s), 10) +func MarshalUint8(s uint8) (v string, present bool) { + return strconv.FormatUint(uint64(s), 10), true } -func MarshalUint64(s uint64) (v string) { - return strconv.FormatUint(s, 10) +func MarshalUint64(s uint64) (v string, present bool) { + return strconv.FormatUint(s, 10), true } -func MarshalFloat32(s float32) (v string) { - return strconv.FormatFloat(float64(s), uint8(0x66), -1, 32) +func MarshalFloat32(s float32) (v string, present bool) { + return strconv.FormatFloat(float64(s), uint8(0x66), -1, 32), true } -func MarshalTime(s time.Time) (v string) { - return s.Format(time.RFC3339) +func MarshalTime(s time.Time) (v string, present bool) { + return s.Format(time.RFC3339), true } -func MarshalInt8(s int8) (v string) { - return strconv.FormatInt(int64(s), 10) +func MarshalInt8(s int8) (v string, present bool) { + return strconv.FormatInt(int64(s), 10), true } -func MarshalInt32(s int32) (v string) { - return strconv.FormatInt(int64(s), 10) +func MarshalInt32(s int32) (v string, present bool) { + return strconv.FormatInt(int64(s), 10), true } -func MarshalInt64(s int64) (v string) { - return strconv.FormatInt(s, 10) +func MarshalInt64(s int64) (v string, present bool) { + return strconv.FormatInt(s, 10), true } diff --git a/runtimes/go/appruntime/shared/etype/unmarshal.go b/runtimes/go/appruntime/shared/etype/unmarshal.go index 77b94ad705..bc9cbf0831 100644 --- a/runtimes/go/appruntime/shared/etype/unmarshal.go +++ b/runtimes/go/appruntime/shared/etype/unmarshal.go @@ -11,6 +11,7 @@ import ( jsoniter "github.com/json-iterator/go" "encore.dev/beta/auth" + "encore.dev/types/option" "encore.dev/types/uuid" ) @@ -46,6 +47,17 @@ func UnmarshalList[T any](u *Unmarshaller, fn ElemUnmarshaller[T], field string, return list } +// OptionUnmarshaller wraps an ElemUnmarshaller to produce an ElemUnmarshaller for option.Option types. +func OptionUnmarshaller[T any](inner ElemUnmarshaller[T]) ElemUnmarshaller[option.Option[T]] { + return func(s string) (option.Option[T], error) { + v, err := inner(s) + if err != nil { + return option.None[T](), err + } + return option.Some(v), nil + } +} + // IncNonEmpty increments the number of non-empty values this decoder has decoded. // It's useful when decoding something that doesn't go through the unmarshaller // but still was present, so that code that checks NonEmptyValues is correct. diff --git a/runtimes/go/types/option/option.go b/runtimes/go/types/option/option.go new file mode 100644 index 0000000000..8349ce9061 --- /dev/null +++ b/runtimes/go/types/option/option.go @@ -0,0 +1,178 @@ +// Package option provides a generic Option type for representing optional values +// in a more type-safe way than using pointers or zero values. +package option + +import ( + "encoding/json" + "fmt" +) + +// Option is a type that represents a value that may or may not be present. +type Option[T any] struct { + value T + present bool +} + +func (o Option[T]) MarshalJSON() ([]byte, error) { + if !o.present { + return []byte("null"), nil + } + return json.Marshal(o.value) +} + +func (o *Option[T]) UnmarshalJSON(data []byte) error { + if string(data) == "null" { + var zero T + o.present = false + o.value = zero + return nil + } + + o.present = true + return json.Unmarshal(data, &o.value) +} + +// FromComparable returns Some(v) if v is not zero, and None otherwise. +// If T implements an IsZero() bool method, that is also used to determine if v is zero. +func FromComparable[T comparable](v T) Option[T] { + var zero T + if v == zero { + return None[T]() + } else if z, ok := any(v).(interface{ IsZero() bool }); ok && z.IsZero() { + return None[T]() + } + return Some[T](v) +} + +// FromPointer returns Some(*v) if v is not nil, and None otherwise. +func FromPointer[T any](v *T) Option[T] { + if v == nil { + return None[T]() + } + return Some[T](*v) +} + +// Some returns an Option with the given value and present set to true. +func Some[T any](v T) Option[T] { + return Option[T]{value: v, present: true} +} + +// None returns an Option with no value set. +func None[T any]() Option[T] { + return Option[T]{present: false} +} + +// IsSome returns true if the Option has a value set. +func (o Option[T]) IsSome() bool { + return o.present +} + +// IsNone returns true if the Option has no value set. +func (o Option[T]) IsNone() bool { + return !o.present +} + +// IsZero is an alias for IsNone, to support usage in structs with "omitempty". +func (o Option[T]) IsZero() bool { + return !o.present +} + +// Get gets the option value and returns ok==true if present. +// Commonly used in the "comma ok" idiom: +// +// if val, ok := option.Get(); ok { +// ... +// } +func (o Option[T]) Get() (val T, ok bool) { + return o.value, o.present +} + +// GetOrElse returns the value if present, otherwise returns alternative. +func (o Option[T]) GetOrElse(alternative T) T { + if o.present { + return o.value + } + return alternative +} + +// GetOrElseF returns the value if present, otherwise returns alternative(). +func (o Option[T]) GetOrElseF(alternative func() T) T { + if o.present { + return o.value + } + return alternative() +} + +// MustGet returns the value if present, and otherwise panics. +func (o Option[T]) MustGet() T { + if o.present { + return o.value + } + panic("option is None") +} + +// OrElse returns an Option with the value if present, otherwise returns Some(alternative). +func (o Option[T]) OrElse(alternative T) Option[T] { + if o.present { + return o + } + return Some(alternative) +} + +// Contains returns pred(v) if the option contains v, and false otherwise. +func (o Option[T]) Contains(predicate func(v T) bool) bool { + if o.present { + return predicate(o.value) + } + return false +} + +func (o Option[T]) String() string { + if o.present { + return fmt.Sprintf("%v", o.value) + } + return "null" +} + +func (o Option[T]) GoString() string { + if o.present { + return fmt.Sprintf("option.Some(%v)", o.value) + } + return fmt.Sprintf("option.None[%T]()", o.value) +} + +// PtrOrNil returns the value as a pointer if present, or nil otherwise. +func (o Option[T]) PtrOrNil() *T { + if o.present { + return &o.value + } + return nil +} + +// Equal reports whether a and b are equal, using ==. +// If both are None, they are considered equal. +func Equal[T comparable](a, b Option[T]) bool { + if a.present != b.present { + return false + } + if !a.present { + return true + } + return a.value == b.value +} + +// Contains returns true if the option is present and matches the given value. +func Contains[T comparable](option Option[T], matches T) bool { + if option.present { + return option.value == matches + } + return false +} + +// Map returns an Option with the value mapped by the given function if present, otherwise returns None. +func Map[T, R any](option Option[T], f func(T) R) Option[R] { + if option.present { + return Some(f(option.value)) + } + return None[R]() +} diff --git a/v2/app/legacymeta/schema.go b/v2/app/legacymeta/schema.go index 00223b6bdd..2a8366f149 100644 --- a/v2/app/legacymeta/schema.go +++ b/v2/app/legacymeta/schema.go @@ -131,6 +131,13 @@ func (b *builder) schemaType(typ schemav2.Type) *schema.Type { }, }} + case schemav2.OptionType: + return &schema.Type{Typ: &schema.Type_Option{ + Option: &schema.Option{ + Value: b.schemaType(typ.Value), + }, + }} + case schemav2.TypeParamRefType: return &schema.Type{Typ: &schema.Type_TypeParameter{ TypeParameter: &schema.TypeParameterRef{ @@ -196,6 +203,11 @@ func (b *builder) structField(f schemav2.StructField) *schema.Field { } } + // Treat option types as optional. + if schemautil.IsOption(f.Type) { + field.Optional = true + } + // Set WireSpec for header fields if header, _ := f.Tag.Get("header"); header != nil { headerSpec := &schema.WireSpec_Header{} @@ -299,10 +311,6 @@ func (b *builder) schemaTypes(typs ...schemav2.Type) []*schema.Type { return fns.Map(typs, b.schemaType) } -func (b *builder) declInfo(info *pkginfo.PkgDeclInfo) uint32 { - return b.declKey(info.File.Pkg.ImportPath, info.Name) -} - func (b *builder) decl(decl schemav2.Decl) uint32 { typeDecl, ok := decl.(*schemav2.TypeDecl) if !ok { diff --git a/v2/app/testdata/rpc_option_types.txt b/v2/app/testdata/rpc_option_types.txt new file mode 100644 index 0000000000..6fd542d7e8 --- /dev/null +++ b/v2/app/testdata/rpc_option_types.txt @@ -0,0 +1,18 @@ +parse + +-- svc/svc.go -- +package svc + +import ( + "context" + "encore.dev/types/option" +) + +type MyParams struct { + Query option.Option[string] `query:"foo"` + Header option.Option[string] `header:"foo"` + Body option.Option[string] +} + +//encore:api public path=/str +func Str(ctx context.Context, p *MyParams) (*MyParams, error) { return nil, nil } diff --git a/v2/app/testdata/rpc_path_params.txt b/v2/app/testdata/rpc_path_params.txt index bbf0232d11..19b447b560 100644 --- a/v2/app/testdata/rpc_path_params.txt +++ b/v2/app/testdata/rpc_path_params.txt @@ -15,4 +15,4 @@ func Str(ctx context.Context, p string) error { return nil } func Int(ctx context.Context, p int) error { return nil } //encore:api public path=/uuid/:p -func UUID(ctx context.Context, p uuid.UUID) error { return nil } \ No newline at end of file +func UUID(ctx context.Context, p uuid.UUID) error { return nil } diff --git a/v2/codegen/apigen/apigenutil/apigenutil.go b/v2/codegen/apigen/apigenutil/apigenutil.go index 95e5f790d1..e27ccd337d 100644 --- a/v2/codegen/apigen/apigenutil/apigenutil.go +++ b/v2/codegen/apigen/apigenutil/apigenutil.go @@ -26,7 +26,7 @@ func DecodeHeaders(g *Group, httpHeaderExpr, paramExpr *Statement, dec *genutil. for _, f := range params { singleValExpr := Id("h").Dot("Get").Call(Lit(f.WireName)) listValExpr := Id("h").Dot("Values").Call(Lit(f.WireName)) - decodeExpr := dec.UnmarshalSingleOrList(f.Type, f.WireName, singleValExpr, listValExpr, false) + decodeExpr := dec.UnmarshalQueryOrHeader(f.Type, f.WireName, singleValExpr, listValExpr) g.Add(paramExpr.Clone().Dot(f.SrcName).Op("=").Add(decodeExpr)) } g.Line() @@ -43,7 +43,7 @@ func DecodeQuery(g *Group, urlValuesExpr, paramExpr *Statement, dec *genutil.Typ for _, f := range params { singleValExpr := Id("qs").Dot("Get").Call(Lit(f.WireName)) listValExpr := Id("qs").Index(Lit(f.WireName)) - decodeExpr := dec.UnmarshalSingleOrList(f.Type, f.WireName, singleValExpr, listValExpr, false) + decodeExpr := dec.UnmarshalQueryOrHeader(f.Type, f.WireName, singleValExpr, listValExpr) g.Add(paramExpr.Clone()).Dot(f.SrcName).Op("=").Add(decodeExpr) } g.Line() @@ -115,22 +115,22 @@ func EncodeHeaders(errs *perr.List, g *Group, httpHeaderExpr, paramExpr *Stateme g.Add(httpHeaderExpr.Clone().Op("=").Make(Qual("net/http", "Header"), Lit(len(params)))) for _, f := range params { - kind, isList, ok := schemautil.IsBuiltinOrList(f.Type) - if !ok { - errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to string", f.Type) + if !schemautil.IsValidHeaderType(f.Type) { + errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to header", f.Type) continue } - if isList { - strVals := genutil.MarshalBuiltinList(kind, paramExpr.Clone().Dot(f.SrcName)) - g.Add(httpHeaderExpr.Clone()).Index( - Qual("net/textproto", "CanonicalMIMEHeaderKey").Call(Lit(f.WireName)), - ).Op("=").Add(strVals) - } else { - strVal := genutil.MarshalBuiltin(kind, paramExpr.Clone().Dot(f.SrcName)) - g.Add(httpHeaderExpr.Clone().Dot("Set").Call(Lit(f.WireName), strVal)) + strVals, ok := genutil.MarshalQueryOrHeader(f.Type, paramExpr.Clone().Dot(f.SrcName)) + if !ok { + errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to header", f.Type) + continue } + + g.Add(httpHeaderExpr.Clone()).Index( + Qual("net/textproto", "CanonicalMIMEHeaderKey").Call(Lit(f.WireName)), + ).Op("=").Add(strVals) } + g.Line() } @@ -145,20 +145,19 @@ func EncodeQuery(errs *perr.List, g *Group, urlValuesExpr, paramExpr *Statement, g.Add(urlValuesExpr.Clone().Op("=").Make(Qual("net/url", "Values"), Lit(len(params)))) for _, f := range params { - kind, isList, ok := schemautil.IsBuiltinOrList(f.Type) - if !ok { - errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to string", f.Type) + if !schemautil.IsValidQueryType(f.Type) { + errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to query string", f.Type) continue } - if isList { - strVals := genutil.MarshalBuiltinList(kind, paramExpr.Clone().Dot(f.SrcName)) - g.Add(urlValuesExpr.Clone()).Index(Lit(f.WireName)).Op("=").Add(strVals) - } else { - strVal := genutil.MarshalBuiltin(kind, paramExpr.Clone().Dot(f.SrcName)) - g.Add(urlValuesExpr.Clone().Dot("Set").Call(Lit(f.WireName), strVal)) + strVals, ok := genutil.MarshalQueryOrHeader(f.Type, paramExpr.Clone().Dot(f.SrcName)) + if !ok { + errs.Addf(f.Type.ASTExpr().Pos(), "cannot marshal %s to query string", f.Type) + continue } + g.Add(urlValuesExpr.Clone()).Index(Lit(f.WireName)).Op("=").Add(strVals) } + g.Line() } diff --git a/v2/codegen/apigen/endpointgen/response.go b/v2/codegen/apigen/endpointgen/response.go index 6336a8e442..ca5b7d9544 100644 --- a/v2/codegen/apigen/endpointgen/response.go +++ b/v2/codegen/apigen/endpointgen/response.go @@ -5,7 +5,6 @@ import ( "encr.dev/v2/codegen/apigen/apigenutil" "encr.dev/v2/codegen/internal/genutil" - "encr.dev/v2/internals/schema" "encr.dev/v2/internals/schema/schemautil" "encr.dev/v2/parser/apis/api" "encr.dev/v2/parser/apis/api/apienc" @@ -92,12 +91,12 @@ func (d *responseDesc) EncodeResponse() *Statement { g.Line().Comment("Encode headers") g.Id("headers").Op("=").Map(String()).Index().String().Values(DictFunc(func(dict Dict) { for _, f := range resp.HeaderParameters { - if builtin, ok := f.Type.(schema.BuiltinType); ok { - encExpr := genutil.MarshalBuiltin(builtin.Kind, Id("resp").Dot(f.SrcName)) - dict[Lit(f.WireName)] = Index().String().Values(encExpr) - } else { + encExpr, ok := genutil.MarshalQueryOrHeader(f.Type, Id("resp").Dot(f.SrcName)) + if !ok { d.gu.Errs.Addf(f.Type.ASTExpr().Pos(), "unsupported type in header: %s", d.gu.TypeToString(f.Type)) + continue } + dict[Lit(f.WireName)] = encExpr } })) } diff --git a/v2/codegen/apigen/endpointgen/testdata/request_headers.txt b/v2/codegen/apigen/endpointgen/testdata/request_headers.txt index 9008794914..3375ecec63 100644 --- a/v2/codegen/apigen/endpointgen/testdata/request_headers.txt +++ b/v2/codegen/apigen/endpointgen/testdata/request_headers.txt @@ -111,7 +111,7 @@ var EncoreInternal_api_APIDesc_Foo = &__api.Desc[*EncoreInternal_FooReq, EncoreI // Encode headers httpHeader = make(http.Header, 2) - httpHeader.Set("x-foo", __etype.MarshalOne(__etype.MarshalString, params.Foo)) + httpHeader[textproto.CanonicalMIMEHeaderKey("x-foo")] = __etype.MarshalOneAsList(__etype.MarshalString, params.Foo) httpHeader[textproto.CanonicalMIMEHeaderKey("x-strings")] = __etype.MarshalList(__etype.MarshalString, params.Strings) return httpHeader, queryString, err diff --git a/v2/codegen/apigen/endpointgen/testdata/request_query.txt b/v2/codegen/apigen/endpointgen/testdata/request_query.txt index 3464e3a17b..188d3e2df8 100644 --- a/v2/codegen/apigen/endpointgen/testdata/request_query.txt +++ b/v2/codegen/apigen/endpointgen/testdata/request_query.txt @@ -110,7 +110,7 @@ var EncoreInternal_api_APIDesc_Foo = &__api.Desc[*EncoreInternal_FooReq, EncoreI // Encode query string queryString = make(url.Values, 2) - queryString.Set("foo", __etype.MarshalOne(__etype.MarshalString, params.Foo)) + queryString["foo"] = __etype.MarshalOneAsList(__etype.MarshalString, params.Foo) queryString["ints"] = __etype.MarshalList(__etype.MarshalInt, params.Ints) return httpHeader, queryString, err diff --git a/v2/codegen/apigen/endpointgen/testdata/response_headers.txt b/v2/codegen/apigen/endpointgen/testdata/response_headers.txt index b55af78024..f66e4e72c0 100644 --- a/v2/codegen/apigen/endpointgen/testdata/response_headers.txt +++ b/v2/codegen/apigen/endpointgen/testdata/response_headers.txt @@ -100,7 +100,7 @@ var EncoreInternal_api_APIDesc_Foo = &__api.Desc[*EncoreInternal_FooReq, EncoreI if resp != nil { // Encode headers - headers = map[string][]string{"x-foo": []string{__etype.MarshalOne(__etype.MarshalString, resp.Foo)}} + headers = map[string][]string{"x-foo": __etype.MarshalOneAsList(__etype.MarshalString, resp.Foo)} } // Set response headers diff --git a/v2/codegen/internal/genutil/etype.go b/v2/codegen/internal/genutil/etype.go index 30672b227e..f9ff057813 100644 --- a/v2/codegen/internal/genutil/etype.go +++ b/v2/codegen/internal/genutil/etype.go @@ -5,6 +5,7 @@ import ( "encr.dev/v2/internals/perr" "encr.dev/v2/internals/schema" + "encr.dev/v2/internals/schema/schemautil" ) // MarshalBuiltin generates the code to marshal a builtin type. @@ -25,6 +26,46 @@ func MarshalBuiltinList(kind schema.BuiltinKind, value *Statement) Code { ) } +// MarshalQueryOrHeader generates the code to marshal a supported query value. +// The resulting code is an expression of type []string. +func MarshalQueryOrHeader(typ schema.Type, value *Statement) (code Code, ok bool) { + if list, ok := typ.(schema.ListType); ok { + marshaller, ok := getQueryOrHeaderMarshaller(list.Elem) + if !ok { + return nil, false + } + + return Qual("encore.dev/appruntime/shared/etype", "MarshalList").Call( + marshaller, + value.Clone(), + ), true + } + + marshaller, ok := getQueryOrHeaderMarshaller(typ) + if !ok { + return nil, false + } + + return Qual("encore.dev/appruntime/shared/etype", "MarshalOneAsList").Call( + marshaller, + value.Clone(), + ), true +} + +func getQueryOrHeaderMarshaller(typ schema.Type) (s *Statement, ok bool) { + switch typ := typ.(type) { + case schema.BuiltinType: + return Qual("encore.dev/appruntime/shared/etype", "Marshal"+builtinToName(typ.Kind)), true + case schema.OptionType: + inner, ok := getQueryOrHeaderMarshaller(typ.Value) + return Qual("encore.dev/appruntime/shared/etype", "OptionMarshaller").Call( + inner, + ), ok + default: + return Nil(), false + } +} + type TypeUnmarshaller struct { errs *perr.List @@ -78,29 +119,44 @@ func (u *TypeUnmarshaller) UnmarshalBuiltin(kind schema.BuiltinKind, fieldName s ) } -// UnmarshalBuiltinList unmarshals a list of builtins. -func (u *TypeUnmarshaller) UnmarshalBuiltinList(kind schema.BuiltinKind, fieldName string, value *Statement, required bool) *Statement { - return Qual("encore.dev/appruntime/shared/etype", "UnmarshalList").Call( +// UnmarshalQueryOrHeader returns the code to unmarshal a supported type. +func (u *TypeUnmarshaller) UnmarshalQueryOrHeader(typ schema.Type, fieldName string, singleValue, listOfValues *Statement) *Statement { + if !schemautil.IsValidHeaderType(typ) { + u.errs.Addf(typ.ASTExpr().Pos(), "cannot unmarshal string to type %s", typ) + return Null() + } + + if list, ok := typ.(schema.ListType); ok { + return Qual("encore.dev/appruntime/shared/etype", "UnmarshalList").Call( + u.unmarshallerExpr.Clone(), + u.getQueryOrHeaderUnmarshaller(list.Elem), + Lit(fieldName), + listOfValues, + Lit(false), // not required + ) + } + + return Qual("encore.dev/appruntime/shared/etype", "UnmarshalOne").Call( u.unmarshallerExpr.Clone(), - Qual("encore.dev/appruntime/shared/etype", "Unmarshal"+builtinToName(kind)), + u.getQueryOrHeaderUnmarshaller(typ), Lit(fieldName), - value.Clone(), - Lit(required), + singleValue, + Lit(false), // not required ) } -// UnmarshalSingleOrList returns the code to unmarshal a supported type. -// The type must be a builtin or a list of builtins. -func (u *TypeUnmarshaller) UnmarshalSingleOrList(typ schema.Type, fieldName string, singleValue, listOfValues *Statement, required bool) *Statement { - if builtin, ok := typ.(schema.BuiltinType); ok { - return u.UnmarshalBuiltin(builtin.Kind, fieldName, singleValue, required) - } else if list, ok := typ.(schema.ListType); ok { - if builtin, ok := list.Elem.(schema.BuiltinType); ok { - return u.UnmarshalBuiltinList(builtin.Kind, fieldName, listOfValues, required) - } +func (u *TypeUnmarshaller) getQueryOrHeaderUnmarshaller(typ schema.Type) *Statement { + switch typ := typ.(type) { + case schema.BuiltinType: + return Qual("encore.dev/appruntime/shared/etype", "Unmarshal"+builtinToName(typ.Kind)) + case schema.OptionType: + return Qual("encore.dev/appruntime/shared/etype", "OptionUnmarshaller").Call( + u.getQueryOrHeaderUnmarshaller(typ.Value), + ) + default: + u.errs.Addf(typ.ASTExpr().Pos(), "cannot unmarshal string to type %s", typ) + return Null() } - u.errs.Addf(typ.ASTExpr().Pos(), "cannot unmarshal string to type %s", typ) - return Null() } // ReadBody returns an expression to read the full request body into a []byte. diff --git a/v2/codegen/internal/genutil/types.go b/v2/codegen/internal/genutil/types.go index d7e3d68b54..0bfeb64665 100644 --- a/v2/codegen/internal/genutil/types.go +++ b/v2/codegen/internal/genutil/types.go @@ -40,6 +40,8 @@ func (g *Helper) Type(typ schema.Type) *Statement { return Index().Add(elem) case schema.PointerType: return Op("*").Add(g.Type(typ.Elem)) + case schema.OptionType: + return Qual("encore.dev/types/option", "Option").Types(g.Type(typ.Value)) case schema.BuiltinType: return g.Builtin(typ.AST.Pos(), typ.Kind) case schema.InterfaceType: diff --git a/v2/internals/schema/schema_parser.go b/v2/internals/schema/schema_parser.go index a8282b0491..5a90afeb57 100644 --- a/v2/internals/schema/schema_parser.go +++ b/v2/internals/schema/schema_parser.go @@ -340,6 +340,7 @@ func (r *typeResolver) resolveTypeWithTypeArgs(file *pkginfo.File, indexExpr, ex } named := baseType.(NamedType) + named.AST = indexExpr // Use the index expression as the AST for the named type as we've resolved the type arguments. decl := named.Decl() if len(decl.TypeParams) != len(typeArgs) { @@ -352,12 +353,23 @@ func (r *typeResolver) resolveTypeWithTypeArgs(file *pkginfo.File, indexExpr, ex for idx, expr := range typeArgs { named.TypeArgs[idx] = r.parseType(file, expr) } + + // Is this an option.Option type? If so, we return an OptionType instead. + if info := named.DeclInfo.QualifiedName(); info.PkgPath == optionImportPath && info.Name == "Option" { + if len(named.TypeArgs) != 1 { + r.errs.Addf(expr.Pos(), "option.Option must have exactly one type argument, got %d", len(named.TypeArgs)) + return named + } + return OptionType{AST: expr, Value: named.TypeArgs[0]} + } + return named } const ( - uuidImportPath paths.Pkg = "encore.dev/types/uuid" - authImportPath paths.Pkg = "encore.dev/beta/auth" + uuidImportPath paths.Pkg = "encore.dev/types/uuid" + optionImportPath paths.Pkg = "encore.dev/types/option" + authImportPath paths.Pkg = "encore.dev/beta/auth" ) // parseRecv parses a receiver AST into a Receiver. diff --git a/v2/internals/schema/schema_parser_test.go b/v2/internals/schema/schema_parser_test.go index 77a02824c4..67ed5f644e 100644 --- a/v2/internals/schema/schema_parser_test.go +++ b/v2/internals/schema/schema_parser_test.go @@ -82,6 +82,12 @@ func TestParser_ParseType(t *testing.T) { typ: "uuid.UUID", want: BuiltinType{Kind: UUID, AST: ast.NewIdent("uuid.UUID")}, }, + { + name: "encore_option", + imports: []string{"encore.dev/types/option", "encore.dev/types/uuid"}, + typ: "option.Option[uuid.UUID]", + want: OptionType{AST: ast.NewIdent("option.Option"), Value: BuiltinType{Kind: UUID, AST: ast.NewIdent("uuid.UUID")}}, + }, { name: "builtin_encore_userid", imports: []string{"encore.dev/beta/auth"}, diff --git a/v2/internals/schema/schematest/schematest.go b/v2/internals/schema/schematest/schematest.go index 32f518ccc7..ee5dbd7a81 100644 --- a/v2/internals/schema/schematest/schematest.go +++ b/v2/internals/schema/schematest/schematest.go @@ -13,6 +13,10 @@ func Ptr(elem schema.Type) schema.Type { return schema.PointerType{Elem: elem} } +func Option(elem schema.Type) schema.Type { + return schema.OptionType{Value: elem} +} + func Builtin(kind schema.BuiltinKind) schema.BuiltinType { return schema.BuiltinType{Kind: kind} } diff --git a/v2/internals/schema/schemautil/schemautil.go b/v2/internals/schema/schemautil/schemautil.go index 5fa392ae74..f056ba9fc0 100644 --- a/v2/internals/schema/schemautil/schemautil.go +++ b/v2/internals/schema/schemautil/schemautil.go @@ -33,14 +33,18 @@ func IsPointer(t schema.Type) bool { return ok } +// IsOption reports whether t is an option type. +func IsOption(t schema.Type) bool { + _, ok := t.(schema.OptionType) + return ok +} + // IsBuiltinKind reports whether the given type is a builtin // of one of the given kinds. func IsBuiltinKind(t schema.Type, kinds ...schema.BuiltinKind) bool { if b, ok := t.(schema.BuiltinType); ok { - for _, k := range kinds { - if b.Kind == k { - return true - } + if slices.Contains(kinds, b.Kind) { + return true } } return false @@ -60,6 +64,44 @@ func IsBuiltinOrList(t schema.Type) (kind schema.BuiltinKind, isList bool, ok bo return schema.Invalid, false, false } +// IsValidHeaderType reports whether the given type is valid for use as an HTTP header value. +func IsValidHeaderType(t schema.Type) bool { + if list, ok := t.(schema.ListType); ok { + return isValidHeaderTypeValue(list.Elem) + } + return isValidHeaderTypeValue(t) +} + +func isValidHeaderTypeValue(t schema.Type) bool { + switch t := t.(type) { + case schema.BuiltinType: + return true + case schema.OptionType: + return isValidHeaderTypeValue(t.Value) + default: + return false + } +} + +// IsValidQueryType reports whether the given type is valid for use as a query parameter value. +func IsValidQueryType(t schema.Type) bool { + if list, ok := t.(schema.ListType); ok { + return isValidQueryTypeValue(list.Elem) + } + return isValidQueryTypeValue(t) +} + +func isValidQueryTypeValue(t schema.Type) bool { + switch t := t.(type) { + case schema.BuiltinType: + return true + case schema.OptionType: + return isValidHeaderTypeValue(t.Value) + default: + return false + } +} + var Signed = []schema.BuiltinKind{ schema.Int, schema.Int8, @@ -176,6 +218,8 @@ func concretize(errs *perr.List, referencedFrom ast.Node, typ schema.Type, typeA return typ case schema.PointerType: return schema.PointerType{AST: typ.AST, Elem: concretize(errs, typ.AST, typ.Elem, typeArgs, seenDecls)} + case schema.OptionType: + return schema.OptionType{AST: typ.AST, Value: concretize(errs, typ.AST, typ.Value, typeArgs, seenDecls)} case schema.ListType: return schema.ListType{AST: typ.AST, Elem: concretize(errs, typ.AST.Elt, typ.Elem, typeArgs, seenDecls), Len: typ.Len} case schema.MapType: @@ -304,6 +348,8 @@ func walk(node schema.Type, visitor func(typ schema.Type) bool, declChain []pkgD return true // keep going elsewhere case schema.PointerType: return walk(node.Elem, visitor, declChain) + case schema.OptionType: + return walk(node.Value, visitor, declChain) case schema.FuncType: for _, part := range [...][]schema.Param{node.Params, node.Results} { for _, p := range part { @@ -381,6 +427,11 @@ func hashType(buf *bytes.Buffer, t schema.Type) { buf.WriteString("*") hashType(buf, t.Elem) + case schema.OptionType: + buf.WriteString("Option[") + hashType(buf, t.Value) + buf.WriteString("]") + case schema.FuncType: buf.WriteString("func(") for i, p := range t.Params { diff --git a/v2/internals/schema/types.go b/v2/internals/schema/types.go index d87c8b94b0..db40215984 100644 --- a/v2/internals/schema/types.go +++ b/v2/internals/schema/types.go @@ -21,6 +21,7 @@ const ( List Builtin Pointer + Option Func Interface TypeParamRef @@ -113,6 +114,12 @@ type PointerType struct { Elem Type } +// OptionType represents an option.Option[T] type. +type OptionType struct { + AST ast.Expr + Value Type +} + type BuiltinType struct { AST ast.Expr Kind BuiltinKind @@ -152,7 +159,7 @@ type TypeParamRefType struct { type BuiltinKind int -//go:generate stringer -type=BuiltinKind -output=types_string.go +//go:generate go run golang.org/x/tools/cmd/stringer@latest -type=BuiltinKind -output=types_string.go const ( Invalid BuiltinKind = iota @@ -194,6 +201,7 @@ var _ Type = StructType{} var _ Type = MapType{} var _ Type = ListType{} var _ Type = PointerType{} +var _ Type = OptionType{} var _ Type = BuiltinType{} var _ Type = FuncType{} var _ Type = InterfaceType{} @@ -204,6 +212,7 @@ func (StructType) Family() TypeFamily { return Struct } func (MapType) Family() TypeFamily { return Map } func (ListType) Family() TypeFamily { return List } func (PointerType) Family() TypeFamily { return Pointer } +func (OptionType) Family() TypeFamily { return Option } func (BuiltinType) Family() TypeFamily { return Builtin } func (FuncType) Family() TypeFamily { return Func } func (InterfaceType) Family() TypeFamily { return Interface } @@ -214,6 +223,7 @@ func (t StructType) ASTExpr() ast.Expr { return t.AST } func (t MapType) ASTExpr() ast.Expr { return t.AST } func (t ListType) ASTExpr() ast.Expr { return t.AST } func (t PointerType) ASTExpr() ast.Expr { return t.AST } +func (t OptionType) ASTExpr() ast.Expr { return t.AST } func (t BuiltinType) ASTExpr() ast.Expr { return t.AST } func (t FuncType) ASTExpr() ast.Expr { return t.AST } func (t InterfaceType) ASTExpr() ast.Expr { return t.AST } @@ -237,6 +247,7 @@ func (t StructType) String() string { return "struct" } func (t MapType) String() string { return "map[" + t.Key.String() + "]" + t.Value.String() } func (t ListType) String() string { return "[]" + t.Elem.String() } func (t PointerType) String() string { return "*" + t.Elem.String() } +func (t OptionType) String() string { return "Option[" + t.Value.String() + "]" } func (t BuiltinType) String() string { return types.ExprString(t.AST) } func (t FuncType) String() string { return "function" } func (t InterfaceType) String() string { return "interface" } diff --git a/v2/internals/schema/types_string.go b/v2/internals/schema/types_string.go index c7fe57d114..4465158aac 100644 --- a/v2/internals/schema/types_string.go +++ b/v2/internals/schema/types_string.go @@ -38,9 +38,9 @@ const _BuiltinKind_name = "unsupportedInvalidAnyBoolIntInt8Int16Int32Int64UintUi var _BuiltinKind_index = [...]uint8{0, 11, 18, 21, 25, 28, 32, 37, 42, 47, 51, 56, 62, 68, 74, 81, 88, 94, 99, 103, 107, 111, 117, 122} func (i BuiltinKind) String() string { - i -= -1 - if i < 0 || i >= BuiltinKind(len(_BuiltinKind_index)-1) { - return "BuiltinKind(" + strconv.FormatInt(int64(i+-1), 10) + ")" + idx := int(i) - -1 + if i < -1 || idx >= len(_BuiltinKind_index)-1 { + return "BuiltinKind(" + strconv.FormatInt(int64(i), 10) + ")" } - return _BuiltinKind_name[_BuiltinKind_index[i]:_BuiltinKind_index[i+1]] + return _BuiltinKind_name[_BuiltinKind_index[idx]:_BuiltinKind_index[idx+1]] } diff --git a/v2/internals/testutil/testutil.go b/v2/internals/testutil/testutil.go index 4cf96beabd..54096e9fb8 100644 --- a/v2/internals/testutil/testutil.go +++ b/v2/internals/testutil/testutil.go @@ -55,6 +55,7 @@ module test go 1.20 require encore.dev v1.13.4 + -- fakesvcfortest/test.go -- // this service only exists to suppress the "no services found error" package fakesvcfortest @@ -168,7 +169,7 @@ func (c *Context) DeferExpectError(matches ...string) { c.TestC.Fatalf("expected %d errors, got %d: %s", len(matches), n, l.FormatErrors()) } - for i := 0; i < n; i++ { + for i := range n { err := l.At(i) re := regexp.MustCompile(matches[i]) errMsg := err.Error() diff --git a/v2/parser/apis/api/apienc/encoding.go b/v2/parser/apis/api/apienc/encoding.go index fdd9fa4484..18d8257a74 100644 --- a/v2/parser/apis/api/apienc/encoding.go +++ b/v2/parser/apis/api/apienc/encoding.go @@ -296,7 +296,7 @@ func DescribeRequest(errs *perr.List, requestAST schema.Param, requestSchema sch errs.Add(errReservedHeaderPrefix.AtGoNode(field.Type.ASTExpr())) } - if _, _, ok := schemautil.IsBuiltinOrList(field.Type); !ok { + if !schemautil.IsValidHeaderType(field.Type) { errs.Add( errInvalidHeaderType(field.Type.String()). AtGoNode(field.Type.ASTExpr(), errors.AsError("unsupported type")). @@ -307,7 +307,7 @@ func DescribeRequest(errs *perr.List, requestAST schema.Param, requestSchema sch // Check for invalid datatype in query parameters for _, field := range fields[Query] { - if _, _, ok := schemautil.IsBuiltinOrList(field.Type); !ok { + if !schemautil.IsValidQueryType(field.Type) { err := errInvalidQueryStringType(field.Type.String()). AtGoNode(field.Type.ASTExpr(), errors.AsError("unsupported type")). AtGoNode(requestAST.AST, errors.AsHelp("used here"))