diff --git a/docs/guides/en/extensions.md b/docs/guides/en/extensions.md index f4c33ba8..7c2e05b8 100644 --- a/docs/guides/en/extensions.md +++ b/docs/guides/en/extensions.md @@ -335,8 +335,8 @@ Arrow-compatible results. The SDK includes PostgreSQL and BigQuery-oriented runn Use the redesigned `commerce` Extension for new commerce apps. It provides the ID-based order model, buyer information, order lookup, cancel/return/exchange requests, exchangeable items, shipping -address changes, and structured `ActionResult` responses. Validate provider state before mutations -and return explicit unsupported results when a provider lacks an operation. +address changes, product catalog reads, and structured `ActionResult` responses. Validate provider +state before mutations and return explicit unsupported results when a provider lacks an operation. [Commerce details](extensions/commerce.md) diff --git a/docs/guides/en/extensions/commerce.md b/docs/guides/en/extensions/commerce.md index 0dab25dd..6b856581 100644 --- a/docs/guides/en/extensions/commerce.md +++ b/docs/guides/en/extensions/commerce.md @@ -1,6 +1,6 @@ # Commerce Extension -The Commerce extension registers commerce order lookups and claim actions through a helper. The read model is the `id`-based `CommerceOrder` (with `CommerceOrderItem`), and actions wrap their result in an `ActionResult`. +The Commerce extension registers commerce order lookups, claim actions, and product catalog reads through a helper. The read model is the `id`-based `CommerceOrder` (with `CommerceOrderItem`), and actions wrap their result in an `ActionResult`. ## Go @@ -14,7 +14,8 @@ err := app.Use(commerce.Extension(). AcceptReturnOrder(handler.AcceptReturnOrder). RequestExchangeOrder(handler.RequestExchangeOrder). GetExchangeableItems(handler.GetExchangeableItems). - ChangeShippingAddress(handler.ChangeShippingAddress), + ChangeShippingAddress(handler.ChangeShippingAddress). + GetProducts(handler.GetProducts), ) ``` @@ -28,15 +29,23 @@ Supported methods: - `extension.commerce.order.requestExchangeOrder` - `extension.commerce.order.getExchangeableItems` - `extension.commerce.order.changeShippingAddress` +- `extension.commerce.product.getProducts` Reuse the SDK-exported value types for addresses, payments, fulfillment, and claims. +`getProducts` is a catalog read, not a search. Its `searchFilter` accepts `productId` (one id or +several), `state`, and `createdAt`; advertise the keys you accept as the enum `allowedValues` of +`getProductsOptions.fieldConfigs["searchFilter.key"]`, reject any other key, and do not accept +`name`. `since` carries the previous `next` cursor, and the app applies a default `limit` of 10 and +caps it at 50. + ## TypeScript Use `@Extension({ name: "commerce", systemVersion: "v1" })` and the canonical schemas exported by `@channel.io/app-sdk-server`: `CommerceGetAppConfigsOutputSchema`, -`CommerceGetOrdersInputSchema`/`CommerceGetOrdersOutputSchema`, the action input schemas, and -`CommerceResultSchema`. Use the exact relative names listed above and add the class to the NestJS +`CommerceGetOrdersInputSchema`/`CommerceGetOrdersOutputSchema`, the action input schemas, +`CommerceResultSchema`, and `CommerceGetProductsInputSchema`/`CommerceGetProductsOutputSchema` for +the product catalog. Use the exact relative names listed above and add the class to the NestJS providers. ## Authentication, reliability, and testing diff --git a/docs/guides/ja/extensions.md b/docs/guides/ja/extensions.md index d9c554ad..7d238852 100644 --- a/docs/guides/ja/extensions.md +++ b/docs/guides/ja/extensions.md @@ -334,8 +334,8 @@ Arrow-compatible result を stream してください。SDK は PostgreSQL と B 新しい commerce app は redesigned `commerce` Extension を使います。ID-based order model、 buyer、order lookup、cancel/return/exchange request、exchangeable item、shipping address change、 -structured `ActionResult` を提供します。Mutation 前に provider state を検証し、provider が -対応しない operation は明確な unsupported result にしてください。 +product catalog read、structured `ActionResult` を提供します。Mutation 前に provider state を +検証し、provider が対応しない operation は明確な unsupported result にしてください。 [Commerce 詳細](extensions/commerce.md) diff --git a/docs/guides/ja/extensions/commerce.md b/docs/guides/ja/extensions/commerce.md index c8c3fabe..bd01cc11 100644 --- a/docs/guides/ja/extensions/commerce.md +++ b/docs/guides/ja/extensions/commerce.md @@ -1,6 +1,6 @@ # Commerce 拡張 -Commerce 拡張は、コマース注文の取得とクレームアクションを helper で登録します。取得モデルは `id` ベースの `CommerceOrder`(`CommerceOrderItem` を含む)で、アクションは結果を `ActionResult` でラップします。 +Commerce 拡張は、コマース注文の取得・クレームアクション・商品カタログの取得を helper で登録します。取得モデルは `id` ベースの `CommerceOrder`(`CommerceOrderItem` を含む)で、アクションは結果を `ActionResult` でラップします。 ## Go @@ -14,7 +14,8 @@ err := app.Use(commerce.Extension(). AcceptReturnOrder(handler.AcceptReturnOrder). RequestExchangeOrder(handler.RequestExchangeOrder). GetExchangeableItems(handler.GetExchangeableItems). - ChangeShippingAddress(handler.ChangeShippingAddress), + ChangeShippingAddress(handler.ChangeShippingAddress). + GetProducts(handler.GetProducts), ) ``` @@ -28,15 +29,22 @@ err := app.Use(commerce.Extension(). - `extension.commerce.order.requestExchangeOrder` - `extension.commerce.order.getExchangeableItems` - `extension.commerce.order.changeShippingAddress` +- `extension.commerce.product.getProducts` 住所・決済・履行・クレームには SDK が export する値型を再利用します。 +`getProducts` は検索ではなくカタログ取得です。`searchFilter` は `productId`(単一・複数 id)・ +`state`・`createdAt` を受け取ります。受け取るキーは `getProductsOptions.fieldConfigs["searchFilter.key"]` +の enum `allowedValues` で告知し、それ以外のキーは拒否し、`name` は受け取りません。`since` には +前回の `next` を渡し、`limit` は app が既定 10・上限 50 を適用します。 + ## TypeScript `@Extension({ name: "commerce", systemVersion: "v1" })` と `@channel.io/app-sdk-server` が export する canonical schema を使います。 `CommerceGetAppConfigsOutputSchema`、`CommerceGetOrdersInputSchema`/ -`CommerceGetOrdersOutputSchema`、action input schema、`CommerceResultSchema` を使い、上の正確な +`CommerceGetOrdersOutputSchema`、action input schema、`CommerceResultSchema`、商品カタログ用の +`CommerceGetProductsInputSchema`/`CommerceGetProductsOutputSchema` を使い、上の正確な relative name で Function を登録します。 ## 認証・信頼性・test diff --git a/docs/guides/ko/extensions.md b/docs/guides/ko/extensions.md index 8525e2c7..6fa9f30a 100644 --- a/docs/guides/ko/extensions.md +++ b/docs/guides/ko/extensions.md @@ -324,9 +324,9 @@ stream하세요. SDK는 PostgreSQL과 BigQuery용 runner를 제공합니다. ## Commerce 새 commerce 앱은 재설계된 `commerce` Extension을 사용합니다. ID 기반 order model, buyer, -order 조회, cancel/return/exchange request, 교환 가능 상품, 배송지 변경, 구조화된 `ActionResult`를 -제공합니다. Mutation 전에 provider 상태를 검증하고 provider가 지원하지 않는 동작은 명시적인 -unsupported 결과로 반환하세요. +order 조회, cancel/return/exchange request, 교환 가능 상품, 배송지 변경, 상품 카탈로그 조회, +구조화된 `ActionResult`를 제공합니다. Mutation 전에 provider 상태를 검증하고 provider가 지원하지 +않는 동작은 명시적인 unsupported 결과로 반환하세요. [Commerce 상세](extensions/commerce.md) diff --git a/docs/guides/ko/extensions/commerce.md b/docs/guides/ko/extensions/commerce.md index a2d546f0..77cd233c 100644 --- a/docs/guides/ko/extensions/commerce.md +++ b/docs/guides/ko/extensions/commerce.md @@ -1,6 +1,6 @@ # Commerce 확장 -Commerce 확장은 커머스 주문 조회와 클레임 액션을 helper로 등록합니다. 조회 모델은 `id` 기반 `CommerceOrder`(`CommerceOrderItem` 포함)이며, 액션은 결과를 `ActionResult`로 감쌉니다. +Commerce 확장은 커머스 주문 조회·클레임 액션·상품 카탈로그 조회를 helper로 등록합니다. 조회 모델은 `id` 기반 `CommerceOrder`(`CommerceOrderItem` 포함)이며, 액션은 결과를 `ActionResult`로 감쌉니다. ## Go @@ -14,7 +14,8 @@ err := app.Use(commerce.Extension(). AcceptReturnOrder(handler.AcceptReturnOrder). RequestExchangeOrder(handler.RequestExchangeOrder). GetExchangeableItems(handler.GetExchangeableItems). - ChangeShippingAddress(handler.ChangeShippingAddress), + ChangeShippingAddress(handler.ChangeShippingAddress). + GetProducts(handler.GetProducts), ) ``` @@ -28,16 +29,23 @@ err := app.Use(commerce.Extension(). - `extension.commerce.order.requestExchangeOrder` - `extension.commerce.order.getExchangeableItems` - `extension.commerce.order.changeShippingAddress` +- `extension.commerce.product.getProducts` 주소·결제·이행·클레임에는 SDK가 export하는 값 타입을 재사용합니다. +`getProducts`는 검색이 아니라 카탈로그 조회입니다. `searchFilter`는 `productId`(단건·복수 id)· +`state`·`createdAt`을 받습니다. 받는 키는 `getProductsOptions.fieldConfigs["searchFilter.key"]`의 +enum `allowedValues`로 광고하고, 그 밖의 키는 거부하며 `name`은 받지 않습니다. `since`에는 이전 +응답의 `next`를 넣고, `limit`은 앱이 기본 10·상한 50으로 둡니다. + ## TypeScript `@Extension({ name: "commerce", systemVersion: "v1" })`과 `@channel.io/app-sdk-server`가 export하는 canonical schema를 사용합니다. `CommerceGetAppConfigsOutputSchema`, `CommerceGetOrdersInputSchema`/ -`CommerceGetOrdersOutputSchema`, action input schema, `CommerceResultSchema`를 사용하고 위 목록의 -정확한 relative name으로 Function을 등록합니다. +`CommerceGetOrdersOutputSchema`, action input schema, `CommerceResultSchema`, 상품 카탈로그용 +`CommerceGetProductsInputSchema`/`CommerceGetProductsOutputSchema`를 사용하고 위 목록의 정확한 +relative name으로 Function을 등록합니다. ## 인증·신뢰성·테스트 diff --git a/docs/reference/go/EXTENSIONS.md b/docs/reference/go/EXTENSIONS.md index df41cbed..05f76abc 100644 --- a/docs/reference/go/EXTENSIONS.md +++ b/docs/reference/go/EXTENSIONS.md @@ -168,7 +168,8 @@ app.Use(commerce.Extension(). AcceptReturnOrder(handler.AcceptReturnOrder). RequestExchangeOrder(handler.RequestExchangeOrder). GetExchangeableItems(handler.GetExchangeableItems). - ChangeShippingAddress(handler.ChangeShippingAddress)) + ChangeShippingAddress(handler.ChangeShippingAddress). + GetProducts(handler.GetProducts)) ``` Commerce uses stable ID-based orders and structured action results. Validate current provider state diff --git a/go/extension/commerce/extension.go b/go/extension/commerce/extension.go index 5f733c00..38ccd90d 100644 --- a/go/extension/commerce/extension.go +++ b/go/extension/commerce/extension.go @@ -56,6 +56,11 @@ func (b *ExtensionBuilder) ChangeShippingAddress(handler appsdk.TypedHandlerFunc return b } +func (b *ExtensionBuilder) GetProducts(handler appsdk.TypedHandlerFunc[GetProductsInput, GetProductsOutput]) *ExtensionBuilder { + b.base.Func(FunctionGetProducts, schemaregistry.Append(FunctionGetProducts, appsdk.HandleProto(handler))...) + return b +} + func (b *ExtensionBuilder) Function(name string, opts ...appsdk.FunctionOption) *ExtensionBuilder { b.base.Func(name, opts...) return b diff --git a/go/extension/commerce/extension_test.go b/go/extension/commerce/extension_test.go index e2d3eab0..68d29b13 100644 --- a/go/extension/commerce/extension_test.go +++ b/go/extension/commerce/extension_test.go @@ -26,7 +26,8 @@ func newExtension() appsdk.Extension { AcceptReturnOrder(zero[commerce.AcceptReturnOrderInput, commerce.ActionResult]()). RequestExchangeOrder(zero[commerce.ExchangeOrderInput, commerce.ActionResult]()). GetExchangeableItems(zero[commerce.GetExchangeableItemsInput, commerce.GetExchangeableItemsOutput]()). - ChangeShippingAddress(zero[commerce.ChangeShippingAddressInput, commerce.ActionResult]()) + ChangeShippingAddress(zero[commerce.ChangeShippingAddressInput, commerce.ActionResult]()). + GetProducts(zero[commerce.GetProductsInput, commerce.GetProductsOutput]()) } func TestExtensionRegistersFunctions(t *testing.T) { @@ -35,8 +36,8 @@ func TestExtensionRegistersFunctions(t *testing.T) { t.Fatal(err) } - if got := len(app.Methods()); got != 8 { - t.Fatalf("expected 8 methods, got %d", got) + if got := len(app.Methods()); got != 9 { + t.Fatalf("expected 9 methods, got %d", got) } targets := app.AutoRegisterTargets() @@ -61,6 +62,7 @@ func TestSchemasMatchCanonicalRegistry(t *testing.T) { commerce.FunctionRequestExchangeOrder, commerce.FunctionGetExchangeableItems, commerce.FunctionChangeShippingAddress, + commerce.FunctionGetProducts, } schemas := app.Schemas() @@ -108,3 +110,68 @@ func TestGetOrdersUsesProtoJSONNames(t *testing.T) { t.Fatalf("expected protojson camelCase output, got %+v", out) } } + +func TestGetProductsKeepsZeroValuesAndOmitsUnsetFields(t *testing.T) { + app := appsdk.New(appsdk.Options{AppID: "app"}) + price := 0.0 + if err := app.Use(commerce.Extension(). + GetProducts(func(_ context.Context, _ appsdk.Context, in *commerce.GetProductsInput) (*commerce.GetProductsOutput, error) { + if in.GetLimit() != 20 { + t.Fatalf("expected limit 20, got %d", in.GetLimit()) + } + return &commerce.GetProductsOutput{ + Products: []*commerce.Product{{ + Id: "product-1", + Name: "gift", + Price: &price, + Variants: []*commerce.ProductVariant{ + {Id: "variant-1", Price: &price}, + {Id: "variant-2", Price: &price, StockQuantity: &price}, + }, + }}, + Next: "cursor-2", + }, nil + }), + ); err != nil { + t.Fatal(err) + } + + res := app.HandleRequest(context.Background(), appsdk.FunctionRequest{ + Method: commerce.FunctionGetProducts, + Params: json.RawMessage(`{"searchFilter":{"state":"active"},"limit":20}`), + }) + if res.Error != nil { + t.Fatalf("unexpected error: %+v", res.Error) + } + var out map[string]any + if err := json.Unmarshal(res.Result, &out); err != nil { + t.Fatal(err) + } + if out["next"] != "cursor-2" { + t.Fatalf("expected next cursor, got %+v", out) + } + products, ok := out["products"].([]any) + if !ok || len(products) != 1 { + t.Fatalf("unexpected products: %+v", out) + } + first := products[0].(map[string]any) + if first["id"] != "product-1" || first["price"] != 0.0 { + t.Fatalf("expected protojson camelCase output with zero price kept, got %+v", first) + } + for _, key := range []string{"state", "originalPrice", "images", "categories", "tags"} { + if _, present := first[key]; present { + t.Fatalf("expected unset %s to be omitted, got %+v", key, first) + } + } + variant := first["variants"].([]any)[0].(map[string]any) + if variant["price"] != 0.0 { + t.Fatalf("expected zero variant price kept, got %+v", variant) + } + if _, present := variant["stockQuantity"]; present { + t.Fatalf("expected unset stockQuantity to be omitted, got %+v", variant) + } + soldOut := first["variants"].([]any)[1].(map[string]any) + if soldOut["stockQuantity"] != 0.0 { + t.Fatalf("expected zero stockQuantity kept (sold out), got %+v", soldOut) + } +} diff --git a/go/extension/commerce/types.go b/go/extension/commerce/types.go index 65c1a9cc..871738a8 100644 --- a/go/extension/commerce/types.go +++ b/go/extension/commerce/types.go @@ -14,6 +14,7 @@ const ( FunctionRequestExchangeOrder = "extension.commerce.order.requestExchangeOrder" FunctionGetExchangeableItems = "extension.commerce.order.getExchangeableItems" FunctionChangeShippingAddress = "extension.commerce.order.changeShippingAddress" + FunctionGetProducts = "extension.commerce.product.getProducts" ) // commerce 전용 타입 @@ -34,6 +35,8 @@ type ExchangeOrderInput = sdkv1.CommerceExchangeOrderInput type GetExchangeableItemsInput = sdkv1.CommerceGetExchangeableItemsInput type GetExchangeableItemsOutput = sdkv1.CommerceGetExchangeableItemsOutput type ChangeShippingAddressInput = sdkv1.CommerceChangeShippingAddressInput +type GetProductsInput = sdkv1.CommerceGetProductsInput +type GetProductsOutput = sdkv1.CommerceGetProductsOutput // 변경 없는 값 타입은 Order* / Buyer 재사용 type Buyer = sdkv1.Buyer @@ -62,4 +65,11 @@ type Metafield = sdkv1.OrderMetafield // 교환 후보. getExchangeableItems 응답에서만 채워진다. type ExchangeableItem = sdkv1.CommerceExchangeableItem type ExchangeableVariant = sdkv1.CommerceExchangeableVariant + +// 상품 카탈로그. getProducts 응답에서만 채워진다. ProductVariant.Price 는 절대가라 +// ExchangeableVariant.AdditionalAmount(추가금)와 뜻이 다르다. +type Product = sdkv1.CommerceProduct +type ProductVariant = sdkv1.CommerceProductVariant + +// variant 옵션(name/value). 교환 후보와 상품 variant 가 함께 쓴다. type VariantOption = sdkv1.CommerceVariantOption diff --git a/go/extension/commerce/value_types_test.go b/go/extension/commerce/value_types_test.go index c83def1c..14b0cc03 100644 --- a/go/extension/commerce/value_types_test.go +++ b/go/extension/commerce/value_types_test.go @@ -21,35 +21,43 @@ const sdkProtoPackage = "channel.app.sdk.v1" // 별칭을 빠뜨리면 스키마에는 필드가 보이는데 앱이 그 값을 만들 방법이 없는 상태가 된다 — // 컴파일은 SDK 안에서 멀쩡히 통과해서 릴리즈 전까지 드러나지 않는다(#116). // -// 아래 목록을 손으로 관리하지만, 진실의 원천은 proto 디스크립터다. Order 에서 도달 가능한 -// 메시지를 걸어 목록과 대조하므로, 새 메시지를 추가하고 이 목록을 갱신하지 않으면 실패한다. -// 값은 별칭 자체를 참조하므로 별칭이 없으면 컴파일도 되지 않는다. -func TestOrderValueTypesAreAliased(t *testing.T) { +// 아래 목록을 손으로 관리하지만, 진실의 원천은 proto 디스크립터다. Order·Product·ExchangeableItem +// 에서 도달 가능한 메시지를 걸어 목록과 대조하므로, 새 메시지를 추가하고 이 목록을 갱신하지 않으면 +// 실패한다. 값은 별칭 자체를 참조하므로 별칭이 없으면 컴파일도 되지 않는다. +func TestCommerceValueTypesAreAliased(t *testing.T) { aliases := map[string]any{ - "CommerceOrder": commerce.Order{}, - "CommerceOrderItem": commerce.OrderItem{}, - "CommerceOrderBundleItem": commerce.OrderBundleItem{}, - "Buyer": commerce.Buyer{}, - "OrderAddress": commerce.Address{}, - "OrderPayment": commerce.Payment{}, - "OrderFulfillment": commerce.Fulfillment{}, - "OrderFulfillmentItem": commerce.FulfillmentItem{}, - "OrderClaim": commerce.Claim{}, - "OrderClaimability": commerce.Claimability{}, - "OrderTaxLine": commerce.TaxLine{}, - "OrderAttribute": commerce.Attribute{}, - "OrderShippingLine": commerce.ShippingLine{}, - "OrderTransaction": commerce.Transaction{}, - "OrderMetafield": commerce.Metafield{}, + "CommerceOrder": commerce.Order{}, + "CommerceOrderItem": commerce.OrderItem{}, + "CommerceOrderBundleItem": commerce.OrderBundleItem{}, + "Buyer": commerce.Buyer{}, + "OrderAddress": commerce.Address{}, + "OrderPayment": commerce.Payment{}, + "OrderFulfillment": commerce.Fulfillment{}, + "OrderFulfillmentItem": commerce.FulfillmentItem{}, + "OrderClaim": commerce.Claim{}, + "OrderClaimability": commerce.Claimability{}, + "OrderTaxLine": commerce.TaxLine{}, + "OrderAttribute": commerce.Attribute{}, + "OrderShippingLine": commerce.ShippingLine{}, + "OrderTransaction": commerce.Transaction{}, + "OrderMetafield": commerce.Metafield{}, + "CommerceProduct": commerce.Product{}, + "CommerceProductVariant": commerce.ProductVariant{}, + "CommerceVariantOption": commerce.VariantOption{}, + "CommerceExchangeableItem": commerce.ExchangeableItem{}, + "CommerceExchangeableVariant": commerce.ExchangeableVariant{}, } reachable := map[string]protoreflect.MessageDescriptor{} collectMessages((&commerce.Order{}).ProtoReflect().Descriptor(), reachable) + // 상품 카탈로그와 교환 후보는 주문에서 도달하지 않는 별도 루트다. + collectMessages((&commerce.Product{}).ProtoReflect().Descriptor(), reachable) + collectMessages((&commerce.ExchangeableItem{}).ProtoReflect().Descriptor(), reachable) for name := range reachable { if _, ok := aliases[name]; !ok { t.Errorf( - "proto 메시지 %s 가 주문 계약에서 도달 가능한데 commerce 별칭이 없다 — "+ + "proto 메시지 %s 가 주문·상품·교환 계약에서 도달 가능한데 commerce 별칭이 없다 — "+ "extension/commerce/types.go 에 별칭을 추가하고 이 목록에도 넣어라", name, ) @@ -61,7 +69,7 @@ func TestOrderValueTypesAreAliased(t *testing.T) { for name, value := range aliases { desc, ok := reachable[name] if !ok { - // 주문 계약에서 도달하지 않는 별칭은 이 테스트의 관심사가 아니다. + // 주문·상품·교환 계약에서 도달하지 않는 별칭은 이 테스트의 관심사가 아니다. continue } diff --git a/go/extension/schemaregistry/extension_function_schemas.json b/go/extension/schemaregistry/extension_function_schemas.json index 1de79153..8862b93c 100644 --- a/go/extension/schemaregistry/extension_function_schemas.json +++ b/go/extension/schemaregistry/extension_function_schemas.json @@ -1523,6 +1523,81 @@ } }, "additionalProperties": false + }, + "getProductsOptions": { + "type": "object", + "properties": { + "required": { + "type": "array", + "items": { + "type": "string" + } + }, + "optional": { + "type": "array", + "items": { + "type": "string" + } + }, + "fieldConfigs": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "enum" + }, + "allowedValues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "value", + "label" + ], + "additionalProperties": false + }, + "minItems": 1 + } + }, + "required": [ + "type", + "allowedValues" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "freeform" + }, + "description": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + } + } + }, + "additionalProperties": false } }, "additionalProperties": false @@ -3100,6 +3175,152 @@ "$schema": "http://json-schema.org/draft-07/schema#" } }, + { + "name": "extension.commerce.product.getProducts", + "inputSchema": { + "type": "object", + "properties": { + "searchFilter": {}, + "since": { + "type": "string" + }, + "limit": { + "type": "integer" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "outputSchema": { + "type": "object", + "properties": { + "products": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "price": { + "type": "number" + }, + "originalPrice": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "active", + "inactive" + ] + }, + "imageUrl": { + "type": "string" + }, + "images": { + "type": "array", + "items": { + "type": "string" + } + }, + "productUrl": { + "type": "string" + }, + "description": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "productType": { + "type": "string" + }, + "categories": { + "type": "array", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "number" + }, + "updatedAt": { + "type": "number" + }, + "variants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "price": { + "type": "number" + }, + "stockQuantity": { + "type": "number" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "price" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "name", + "price" + ], + "additionalProperties": false + } + }, + "next": { + "type": "string" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, { "name": "extension.config.metadata.getConfigSchema", "inputSchema": { diff --git a/go/extension/schemaregistry/extension_smoke_test.go b/go/extension/schemaregistry/extension_smoke_test.go index 04579024..b1800800 100644 --- a/go/extension/schemaregistry/extension_smoke_test.go +++ b/go/extension/schemaregistry/extension_smoke_test.go @@ -93,6 +93,7 @@ var extensionSmokeSpecs = []extensionSmokeSpec{ commerce.FunctionRequestExchangeOrder, commerce.FunctionGetExchangeableItems, commerce.FunctionChangeShippingAddress, + commerce.FunctionGetProducts, }, build: func() appsdk.Extension { return commerce.Extension(). @@ -103,7 +104,8 @@ var extensionSmokeSpecs = []extensionSmokeSpec{ AcceptReturnOrder(smokeZero[commerce.AcceptReturnOrderInput, commerce.ActionResult]()). RequestExchangeOrder(smokeZero[commerce.ExchangeOrderInput, commerce.ActionResult]()). GetExchangeableItems(smokeZero[commerce.GetExchangeableItemsInput, commerce.GetExchangeableItemsOutput]()). - ChangeShippingAddress(smokeZero[commerce.ChangeShippingAddressInput, commerce.ActionResult]()) + ChangeShippingAddress(smokeZero[commerce.ChangeShippingAddressInput, commerce.ActionResult]()). + GetProducts(smokeZero[commerce.GetProductsInput, commerce.GetProductsOutput]()) }, }, { diff --git a/go/extension/schemaregistry/registry_test.go b/go/extension/schemaregistry/registry_test.go index c8396ca9..9026ee1f 100644 --- a/go/extension/schemaregistry/registry_test.go +++ b/go/extension/schemaregistry/registry_test.go @@ -58,7 +58,8 @@ func TestRegisteredExtensionSchemasMatchCanonicalRegistry(t *testing.T) { GetOrders(zero[commerce.GetOrdersInput, commerce.GetOrdersOutput]()). RequestCancelOrder(zero[commerce.CancelOrderInput, commerce.ActionResult]()). RequestExchangeOrder(zero[commerce.ExchangeOrderInput, commerce.ActionResult]()). - RequestReturnOrder(zero[commerce.ReturnOrderInput, commerce.ActionResult]())) + RequestReturnOrder(zero[commerce.ReturnOrderInput, commerce.ActionResult]()). + GetProducts(zero[commerce.GetProductsInput, commerce.GetProductsOutput]())) use(t, app, config.Extension(). GetConfigSchema(zero[config.GetConfigSchemaRequest, config.GetConfigSchemaResponse]()). @@ -147,8 +148,8 @@ func TestRegisteredExtensionSchemasMatchCanonicalRegistry(t *testing.T) { got := app.Schemas() want := schemaregistry.Schemas() - if len(got) != 78 { - t.Fatalf("expected 78 registered extension function schemas, got %d", len(got)) + if len(got) != 79 { + t.Fatalf("expected 79 registered extension function schemas, got %d", len(got)) } if !reflect.DeepEqual(got, want) { t.Fatalf("registered extension function schemas drifted from canonical registry") diff --git a/go/internal/gen/channel/app/sdk/v1/extension.pb.go b/go/internal/gen/channel/app/sdk/v1/extension.pb.go index 83877b96..f2ae034a 100644 --- a/go/internal/gen/channel/app/sdk/v1/extension.pb.go +++ b/go/internal/gen/channel/app/sdk/v1/extension.pb.go @@ -12022,8 +12022,14 @@ type CommerceAppCapabilities struct { AcceptReturnOrderOptions *OrderOperationOptions `protobuf:"bytes,4,opt,name=accept_return_order_options,json=acceptReturnOrderOptions,proto3" json:"accept_return_order_options,omitempty"` RequestExchangeOrderOptions *OrderOperationOptions `protobuf:"bytes,5,opt,name=request_exchange_order_options,json=requestExchangeOrderOptions,proto3" json:"request_exchange_order_options,omitempty"` ChangeShippingAddressOptions *OrderOperationOptions `protobuf:"bytes,6,opt,name=change_shipping_address_options,json=changeShippingAddressOptions,proto3" json:"change_shipping_address_options,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // 다른 *_options 와 같은 어휘다: required / optional 에는 getProducts 의 입력 필드명 + // (searchFilter·since·limit)을 적고, 앱이 받는 searchFilter 키는 field_configs["searchFilter.key"] + // 한 항목에 type=enum·allowed_values 로 나열한다(getOrders 와 같은 방식). searchFilter 는 + // 자유 형식이라 호출자가 지원 키를 기계적으로 알 길은 이것뿐이다. 필터 없이 불러도 첫 페이지를 + // 돌려주므로 required 는 비운다. + GetProductsOptions *OrderOperationOptions `protobuf:"bytes,7,opt,name=get_products_options,json=getProductsOptions,proto3" json:"get_products_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommerceAppCapabilities) Reset() { @@ -12098,6 +12104,13 @@ func (x *CommerceAppCapabilities) GetChangeShippingAddressOptions() *OrderOperat return nil } +func (x *CommerceAppCapabilities) GetGetProductsOptions() *OrderOperationOptions { + if x != nil { + return x.GetProductsOptions + } + return nil +} + type CommerceGetAppConfigsInput struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -13050,6 +13063,388 @@ func (x *CommerceChangeShippingAddressInput) GetNewAddress() *OrderAddress { return nil } +type CommerceGetProductsInput struct { + state protoimpl.MessageState `protogen:"open.v1"` + // getOrders 와 같은 필터 표현. 안쪽 키는 protojson 이 변환하지 않는 데이터라 camelCase 그대로다 — + // 공통 키는 productId(복수 id 조회 포함 — 커머스 필터 방언에서 any-of 는 $eq 에 복수 values 다)· + // state·createdAt 이고, 광고하지 않은 키는 앱이 BadRequest 로 거부한다. + // name 키는 없다 — 이름 검색은 이 함수의 몫이 아니다. + SearchFilter *structpb.Value `protobuf:"bytes,1,opt,name=search_filter,json=searchFilter,proto3" json:"search_filter,omitempty"` + // 이전 응답의 next 를 그대로 돌려주는 커서. + Since string `protobuf:"bytes,2,opt,name=since,proto3" json:"since,omitempty"` + // 한 페이지 크기. 앱이 기본값(10)과 상한(50)을 둔다. + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CommerceGetProductsInput) Reset() { + *x = CommerceGetProductsInput{} + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CommerceGetProductsInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommerceGetProductsInput) ProtoMessage() {} + +func (x *CommerceGetProductsInput) ProtoReflect() protoreflect.Message { + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[176] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommerceGetProductsInput.ProtoReflect.Descriptor instead. +func (*CommerceGetProductsInput) Descriptor() ([]byte, []int) { + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{176} +} + +func (x *CommerceGetProductsInput) GetSearchFilter() *structpb.Value { + if x != nil { + return x.SearchFilter + } + return nil +} + +func (x *CommerceGetProductsInput) GetSince() string { + if x != nil { + return x.Since + } + return "" +} + +func (x *CommerceGetProductsInput) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type CommerceGetProductsOutput struct { + state protoimpl.MessageState `protogen:"open.v1"` + Products []*CommerceProduct `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` + Next string `protobuf:"bytes,2,opt,name=next,proto3" json:"next,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CommerceGetProductsOutput) Reset() { + *x = CommerceGetProductsOutput{} + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CommerceGetProductsOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommerceGetProductsOutput) ProtoMessage() {} + +func (x *CommerceGetProductsOutput) ProtoReflect() protoreflect.Message { + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[177] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommerceGetProductsOutput.ProtoReflect.Descriptor instead. +func (*CommerceGetProductsOutput) Descriptor() ([]byte, []int) { + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{177} +} + +func (x *CommerceGetProductsOutput) GetProducts() []*CommerceProduct { + if x != nil { + return x.Products + } + return nil +} + +func (x *CommerceGetProductsOutput) GetNext() string { + if x != nil { + return x.Next + } + return "" +} + +type CommerceProduct struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 상품 id. getOrders 의 items[].product_id 와 같은 값이라 주문 아이템에서 상품으로 이어 갈 수 있다. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // 판매가. 0 원 상품(사은품)이 정상이라 presence 가 필요하다. + Price *float64 `protobuf:"fixed64,3,opt,name=price,proto3,oneof" json:"price,omitempty"` + // 정가. 판매가와 같으면 비워도 된다. + OriginalPrice *float64 `protobuf:"fixed64,4,opt,name=original_price,json=originalPrice,proto3,oneof" json:"original_price,omitempty"` + Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` + // active / inactive. 판단할 수 없으면 비운다 — 기본값으로 active 를 넣지 않는다. + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + // 대표 이미지. + ImageUrl string `protobuf:"bytes,7,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` + // 상품 이미지 전체. 대표 이미지도 포함한다. + Images []string `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"` + // 몰 상품 페이지 주소. + ProductUrl string `protobuf:"bytes,9,opt,name=product_url,json=productUrl,proto3" json:"product_url,omitempty"` + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"` + Vendor string `protobuf:"bytes,12,opt,name=vendor,proto3" json:"vendor,omitempty"` + ProductType string `protobuf:"bytes,13,opt,name=product_type,json=productType,proto3" json:"product_type,omitempty"` + // 카테고리 이름 목록. + Categories []string `protobuf:"bytes,14,rep,name=categories,proto3" json:"categories,omitempty"` + Tags []string `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty"` + // 몰에서 상품이 만들어진 시각(epoch ms). searchFilter 의 createdAt 도 이 축이다. + CreatedAt float64 `protobuf:"fixed64,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // epoch ms. 몰의 수정 시각이 아니라 앱이 상품을 저장한 시각일 수 있다. + UpdatedAt float64 `protobuf:"fixed64,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Variants []*CommerceProductVariant `protobuf:"bytes,18,rep,name=variants,proto3" json:"variants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CommerceProduct) Reset() { + *x = CommerceProduct{} + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CommerceProduct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommerceProduct) ProtoMessage() {} + +func (x *CommerceProduct) ProtoReflect() protoreflect.Message { + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[178] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommerceProduct.ProtoReflect.Descriptor instead. +func (*CommerceProduct) Descriptor() ([]byte, []int) { + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{178} +} + +func (x *CommerceProduct) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CommerceProduct) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CommerceProduct) GetPrice() float64 { + if x != nil && x.Price != nil { + return *x.Price + } + return 0 +} + +func (x *CommerceProduct) GetOriginalPrice() float64 { + if x != nil && x.OriginalPrice != nil { + return *x.OriginalPrice + } + return 0 +} + +func (x *CommerceProduct) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *CommerceProduct) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *CommerceProduct) GetImageUrl() string { + if x != nil { + return x.ImageUrl + } + return "" +} + +func (x *CommerceProduct) GetImages() []string { + if x != nil { + return x.Images + } + return nil +} + +func (x *CommerceProduct) GetProductUrl() string { + if x != nil { + return x.ProductUrl + } + return "" +} + +func (x *CommerceProduct) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CommerceProduct) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *CommerceProduct) GetVendor() string { + if x != nil { + return x.Vendor + } + return "" +} + +func (x *CommerceProduct) GetProductType() string { + if x != nil { + return x.ProductType + } + return "" +} + +func (x *CommerceProduct) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *CommerceProduct) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CommerceProduct) GetCreatedAt() float64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CommerceProduct) GetUpdatedAt() float64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CommerceProduct) GetVariants() []*CommerceProductVariant { + if x != nil { + return x.Variants + } + return nil +} + +type CommerceProductVariant struct { + state protoimpl.MessageState `protogen:"open.v1"` + // variant id. getOrders 의 items[].variant_id, requestExchangeOrder 의 + // after_exchange_items.variant_id 와 같은 값이다. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // variant 의 절대 판매가. CommerceExchangeableVariant.additional_amount(원래 아이템 대비 추가금)와 + // 의도적으로 다르다 — 카탈로그 소비자가 원하는 값도, 앱이 들고 있는 값도 절대가다. + // 0 원이 정상 값이라 presence 가 필요하다. + Price *float64 `protobuf:"fixed64,2,opt,name=price,proto3,oneof" json:"price,omitempty"` + // 재고 수량. 재고를 관리하지 않으면 비운다 — 0(품절)과 미제공을 구별해야 해서 optional 이다. + StockQuantity *float64 `protobuf:"fixed64,3,opt,name=stock_quantity,json=stockQuantity,proto3,oneof" json:"stock_quantity,omitempty"` + Options []*CommerceVariantOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CommerceProductVariant) Reset() { + *x = CommerceProductVariant{} + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CommerceProductVariant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommerceProductVariant) ProtoMessage() {} + +func (x *CommerceProductVariant) ProtoReflect() protoreflect.Message { + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[179] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommerceProductVariant.ProtoReflect.Descriptor instead. +func (*CommerceProductVariant) Descriptor() ([]byte, []int) { + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{179} +} + +func (x *CommerceProductVariant) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CommerceProductVariant) GetPrice() float64 { + if x != nil && x.Price != nil { + return *x.Price + } + return 0 +} + +func (x *CommerceProductVariant) GetStockQuantity() float64 { + if x != nil && x.StockQuantity != nil { + return *x.StockQuantity + } + return 0 +} + +func (x *CommerceProductVariant) GetOptions() []*CommerceVariantOption { + if x != nil { + return x.Options + } + return nil +} + type WmsShippingInfo struct { state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -13069,7 +13464,7 @@ type WmsShippingInfo struct { func (x *WmsShippingInfo) Reset() { *x = WmsShippingInfo{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[176] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13081,7 +13476,7 @@ func (x *WmsShippingInfo) String() string { func (*WmsShippingInfo) ProtoMessage() {} func (x *WmsShippingInfo) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[176] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13094,7 +13489,7 @@ func (x *WmsShippingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsShippingInfo.ProtoReflect.Descriptor instead. func (*WmsShippingInfo) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{176} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{180} } func (x *WmsShippingInfo) GetName() string { @@ -13184,7 +13579,7 @@ type WmsDelivery struct { func (x *WmsDelivery) Reset() { *x = WmsDelivery{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[177] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13196,7 +13591,7 @@ func (x *WmsDelivery) String() string { func (*WmsDelivery) ProtoMessage() {} func (x *WmsDelivery) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[177] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13209,7 +13604,7 @@ func (x *WmsDelivery) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsDelivery.ProtoReflect.Descriptor instead. func (*WmsDelivery) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{177} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{181} } func (x *WmsDelivery) GetExtId() string { @@ -13244,7 +13639,7 @@ type WmsOrderItem struct { func (x *WmsOrderItem) Reset() { *x = WmsOrderItem{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[178] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13256,7 +13651,7 @@ func (x *WmsOrderItem) String() string { func (*WmsOrderItem) ProtoMessage() {} func (x *WmsOrderItem) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[178] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13269,7 +13664,7 @@ func (x *WmsOrderItem) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderItem.ProtoReflect.Descriptor instead. func (*WmsOrderItem) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{178} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{182} } func (x *WmsOrderItem) GetExtId() string { @@ -13354,7 +13749,7 @@ type WmsOrder struct { func (x *WmsOrder) Reset() { *x = WmsOrder{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[179] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13366,7 +13761,7 @@ func (x *WmsOrder) String() string { func (*WmsOrder) ProtoMessage() {} func (x *WmsOrder) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[179] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13379,7 +13774,7 @@ func (x *WmsOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrder.ProtoReflect.Descriptor instead. func (*WmsOrder) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{179} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{183} } func (x *WmsOrder) GetExtId() string { @@ -13422,7 +13817,7 @@ type WmsGetOrdersRequest struct { func (x *WmsGetOrdersRequest) Reset() { *x = WmsGetOrdersRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[180] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13434,7 +13829,7 @@ func (x *WmsGetOrdersRequest) String() string { func (*WmsGetOrdersRequest) ProtoMessage() {} func (x *WmsGetOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[180] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13447,7 +13842,7 @@ func (x *WmsGetOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetOrdersRequest.ProtoReflect.Descriptor instead. func (*WmsGetOrdersRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{180} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{184} } func (x *WmsGetOrdersRequest) GetCommerceOrderIds() string { @@ -13487,7 +13882,7 @@ type WmsGetOrdersResult struct { func (x *WmsGetOrdersResult) Reset() { *x = WmsGetOrdersResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[181] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13499,7 +13894,7 @@ func (x *WmsGetOrdersResult) String() string { func (*WmsGetOrdersResult) ProtoMessage() {} func (x *WmsGetOrdersResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[181] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13512,7 +13907,7 @@ func (x *WmsGetOrdersResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetOrdersResult.ProtoReflect.Descriptor instead. func (*WmsGetOrdersResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{181} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{185} } func (x *WmsGetOrdersResult) GetOrders() []*WmsOrder { @@ -13534,7 +13929,7 @@ type WmsGetOrderRequest struct { func (x *WmsGetOrderRequest) Reset() { *x = WmsGetOrderRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[182] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13546,7 +13941,7 @@ func (x *WmsGetOrderRequest) String() string { func (*WmsGetOrderRequest) ProtoMessage() {} func (x *WmsGetOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[182] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13559,7 +13954,7 @@ func (x *WmsGetOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetOrderRequest.ProtoReflect.Descriptor instead. func (*WmsGetOrderRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{182} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{186} } func (x *WmsGetOrderRequest) GetCommerceOrderId() string { @@ -13599,7 +13994,7 @@ type WmsGetOrderResult struct { func (x *WmsGetOrderResult) Reset() { *x = WmsGetOrderResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[183] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13611,7 +14006,7 @@ func (x *WmsGetOrderResult) String() string { func (*WmsGetOrderResult) ProtoMessage() {} func (x *WmsGetOrderResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[183] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13624,7 +14019,7 @@ func (x *WmsGetOrderResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetOrderResult.ProtoReflect.Descriptor instead. func (*WmsGetOrderResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{183} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{187} } func (x *WmsGetOrderResult) GetOrder() *WmsOrder { @@ -13644,7 +14039,7 @@ type WmsGetShopIDRequest struct { func (x *WmsGetShopIDRequest) Reset() { *x = WmsGetShopIDRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[184] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13656,7 +14051,7 @@ func (x *WmsGetShopIDRequest) String() string { func (*WmsGetShopIDRequest) ProtoMessage() {} func (x *WmsGetShopIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[184] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13669,7 +14064,7 @@ func (x *WmsGetShopIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetShopIDRequest.ProtoReflect.Descriptor instead. func (*WmsGetShopIDRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{184} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{188} } func (x *WmsGetShopIDRequest) GetCommerceType() string { @@ -13696,7 +14091,7 @@ type WmsGetShopIDResult struct { func (x *WmsGetShopIDResult) Reset() { *x = WmsGetShopIDResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[185] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13708,7 +14103,7 @@ func (x *WmsGetShopIDResult) String() string { func (*WmsGetShopIDResult) ProtoMessage() {} func (x *WmsGetShopIDResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[185] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13721,7 +14116,7 @@ func (x *WmsGetShopIDResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetShopIDResult.ProtoReflect.Descriptor instead. func (*WmsGetShopIDResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{185} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{189} } func (x *WmsGetShopIDResult) GetMessage() string { @@ -13746,7 +14141,7 @@ type WmsGetSupportedCommercesRequest struct { func (x *WmsGetSupportedCommercesRequest) Reset() { *x = WmsGetSupportedCommercesRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[186] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13758,7 +14153,7 @@ func (x *WmsGetSupportedCommercesRequest) String() string { func (*WmsGetSupportedCommercesRequest) ProtoMessage() {} func (x *WmsGetSupportedCommercesRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[186] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13771,7 +14166,7 @@ func (x *WmsGetSupportedCommercesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetSupportedCommercesRequest.ProtoReflect.Descriptor instead. func (*WmsGetSupportedCommercesRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{186} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{190} } type WmsGetSupportedCommercesResult struct { @@ -13783,7 +14178,7 @@ type WmsGetSupportedCommercesResult struct { func (x *WmsGetSupportedCommercesResult) Reset() { *x = WmsGetSupportedCommercesResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[187] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13795,7 +14190,7 @@ func (x *WmsGetSupportedCommercesResult) String() string { func (*WmsGetSupportedCommercesResult) ProtoMessage() {} func (x *WmsGetSupportedCommercesResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[187] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13808,7 +14203,7 @@ func (x *WmsGetSupportedCommercesResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetSupportedCommercesResult.ProtoReflect.Descriptor instead. func (*WmsGetSupportedCommercesResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{187} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{191} } func (x *WmsGetSupportedCommercesResult) GetCommerceTypes() []string { @@ -13830,7 +14225,7 @@ type WmsOrderStateRequest struct { func (x *WmsOrderStateRequest) Reset() { *x = WmsOrderStateRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[188] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13842,7 +14237,7 @@ func (x *WmsOrderStateRequest) String() string { func (*WmsOrderStateRequest) ProtoMessage() {} func (x *WmsOrderStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[188] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13855,7 +14250,7 @@ func (x *WmsOrderStateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderStateRequest.ProtoReflect.Descriptor instead. func (*WmsOrderStateRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{188} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{192} } func (x *WmsOrderStateRequest) GetOrderId() string { @@ -13901,7 +14296,7 @@ type WmsChangeShippingAddressRequest struct { func (x *WmsChangeShippingAddressRequest) Reset() { *x = WmsChangeShippingAddressRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[189] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13913,7 +14308,7 @@ func (x *WmsChangeShippingAddressRequest) String() string { func (*WmsChangeShippingAddressRequest) ProtoMessage() {} func (x *WmsChangeShippingAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[189] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13926,7 +14321,7 @@ func (x *WmsChangeShippingAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsChangeShippingAddressRequest.ProtoReflect.Descriptor instead. func (*WmsChangeShippingAddressRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{189} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{193} } func (x *WmsChangeShippingAddressRequest) GetOrderId() string { @@ -13992,7 +14387,7 @@ type WmsRestoreOrderRequest struct { func (x *WmsRestoreOrderRequest) Reset() { *x = WmsRestoreOrderRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[190] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14004,7 +14399,7 @@ func (x *WmsRestoreOrderRequest) String() string { func (*WmsRestoreOrderRequest) ProtoMessage() {} func (x *WmsRestoreOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[190] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14017,7 +14412,7 @@ func (x *WmsRestoreOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsRestoreOrderRequest.ProtoReflect.Descriptor instead. func (*WmsRestoreOrderRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{190} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{194} } func (x *WmsRestoreOrderRequest) GetOrderId() string { @@ -14072,7 +14467,7 @@ type WmsSuccessResult struct { func (x *WmsSuccessResult) Reset() { *x = WmsSuccessResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[191] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14084,7 +14479,7 @@ func (x *WmsSuccessResult) String() string { func (*WmsSuccessResult) ProtoMessage() {} func (x *WmsSuccessResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[191] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14097,7 +14492,7 @@ func (x *WmsSuccessResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsSuccessResult.ProtoReflect.Descriptor instead. func (*WmsSuccessResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{191} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{195} } func (x *WmsSuccessResult) GetSuccess() bool { @@ -14126,7 +14521,7 @@ type Buyer struct { func (x *Buyer) Reset() { *x = Buyer{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[192] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14138,7 +14533,7 @@ func (x *Buyer) String() string { func (*Buyer) ProtoMessage() {} func (x *Buyer) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[192] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14151,7 +14546,7 @@ func (x *Buyer) ProtoReflect() protoreflect.Message { // Deprecated: Use Buyer.ProtoReflect.Descriptor instead. func (*Buyer) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{192} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{196} } func (x *Buyer) GetMemberId() string { @@ -14192,7 +14587,7 @@ type WmsDeliveryV2 struct { func (x *WmsDeliveryV2) Reset() { *x = WmsDeliveryV2{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[193] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14204,7 +14599,7 @@ func (x *WmsDeliveryV2) String() string { func (*WmsDeliveryV2) ProtoMessage() {} func (x *WmsDeliveryV2) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[193] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14217,7 +14612,7 @@ func (x *WmsDeliveryV2) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsDeliveryV2.ProtoReflect.Descriptor instead. func (*WmsDeliveryV2) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{193} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{197} } func (x *WmsDeliveryV2) GetId() string { @@ -14251,7 +14646,7 @@ type WmsOrderItemV2 struct { func (x *WmsOrderItemV2) Reset() { *x = WmsOrderItemV2{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[194] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14263,7 +14658,7 @@ func (x *WmsOrderItemV2) String() string { func (*WmsOrderItemV2) ProtoMessage() {} func (x *WmsOrderItemV2) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[194] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14276,7 +14671,7 @@ func (x *WmsOrderItemV2) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderItemV2.ProtoReflect.Descriptor instead. func (*WmsOrderItemV2) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{194} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{198} } func (x *WmsOrderItemV2) GetId() string { @@ -14355,7 +14750,7 @@ type WmsOrderV2 struct { func (x *WmsOrderV2) Reset() { *x = WmsOrderV2{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[195] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14367,7 +14762,7 @@ func (x *WmsOrderV2) String() string { func (*WmsOrderV2) ProtoMessage() {} func (x *WmsOrderV2) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[195] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14380,7 +14775,7 @@ func (x *WmsOrderV2) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderV2.ProtoReflect.Descriptor instead. func (*WmsOrderV2) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{195} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{199} } func (x *WmsOrderV2) GetId() string { @@ -14428,7 +14823,7 @@ type WmsIdentifier struct { func (x *WmsIdentifier) Reset() { *x = WmsIdentifier{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[196] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14440,7 +14835,7 @@ func (x *WmsIdentifier) String() string { func (*WmsIdentifier) ProtoMessage() {} func (x *WmsIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[196] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14453,7 +14848,7 @@ func (x *WmsIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsIdentifier.ProtoReflect.Descriptor instead. func (*WmsIdentifier) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{196} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{200} } func (x *WmsIdentifier) GetType() string { @@ -14483,7 +14878,7 @@ type WmsOrderGetOrdersRequest struct { func (x *WmsOrderGetOrdersRequest) Reset() { *x = WmsOrderGetOrdersRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[197] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14495,7 +14890,7 @@ func (x *WmsOrderGetOrdersRequest) String() string { func (*WmsOrderGetOrdersRequest) ProtoMessage() {} func (x *WmsOrderGetOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[197] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14508,7 +14903,7 @@ func (x *WmsOrderGetOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderGetOrdersRequest.ProtoReflect.Descriptor instead. func (*WmsOrderGetOrdersRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{197} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{201} } func (x *WmsOrderGetOrdersRequest) GetIdentifier() *WmsIdentifier { @@ -14556,7 +14951,7 @@ type WmsOrderGetOrdersResult struct { func (x *WmsOrderGetOrdersResult) Reset() { *x = WmsOrderGetOrdersResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[198] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14568,7 +14963,7 @@ func (x *WmsOrderGetOrdersResult) String() string { func (*WmsOrderGetOrdersResult) ProtoMessage() {} func (x *WmsOrderGetOrdersResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[198] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14581,7 +14976,7 @@ func (x *WmsOrderGetOrdersResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderGetOrdersResult.ProtoReflect.Descriptor instead. func (*WmsOrderGetOrdersResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{198} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{202} } func (x *WmsOrderGetOrdersResult) GetOrders() []*WmsOrderV2 { @@ -14610,7 +15005,7 @@ type WmsOrderActionRequest struct { func (x *WmsOrderActionRequest) Reset() { *x = WmsOrderActionRequest{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[199] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14622,7 +15017,7 @@ func (x *WmsOrderActionRequest) String() string { func (*WmsOrderActionRequest) ProtoMessage() {} func (x *WmsOrderActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[199] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14635,7 +15030,7 @@ func (x *WmsOrderActionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderActionRequest.ProtoReflect.Descriptor instead. func (*WmsOrderActionRequest) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{199} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{203} } func (x *WmsOrderActionRequest) GetIdentifier() *WmsIdentifier { @@ -14679,7 +15074,7 @@ type WmsOrderChangeShippingAddressInput struct { func (x *WmsOrderChangeShippingAddressInput) Reset() { *x = WmsOrderChangeShippingAddressInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[200] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14691,7 +15086,7 @@ func (x *WmsOrderChangeShippingAddressInput) String() string { func (*WmsOrderChangeShippingAddressInput) ProtoMessage() {} func (x *WmsOrderChangeShippingAddressInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[200] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14704,7 +15099,7 @@ func (x *WmsOrderChangeShippingAddressInput) ProtoReflect() protoreflect.Message // Deprecated: Use WmsOrderChangeShippingAddressInput.ProtoReflect.Descriptor instead. func (*WmsOrderChangeShippingAddressInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{200} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{204} } func (x *WmsOrderChangeShippingAddressInput) GetIdentifier() *WmsIdentifier { @@ -14752,7 +15147,7 @@ type WmsOrderResultBody struct { func (x *WmsOrderResultBody) Reset() { *x = WmsOrderResultBody{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[201] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14764,7 +15159,7 @@ func (x *WmsOrderResultBody) String() string { func (*WmsOrderResultBody) ProtoMessage() {} func (x *WmsOrderResultBody) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[201] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14777,7 +15172,7 @@ func (x *WmsOrderResultBody) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderResultBody.ProtoReflect.Descriptor instead. func (*WmsOrderResultBody) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{201} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{205} } func (x *WmsOrderResultBody) GetSuccess() bool { @@ -14803,7 +15198,7 @@ type WmsOrderActionResult struct { func (x *WmsOrderActionResult) Reset() { *x = WmsOrderActionResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[202] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14815,7 +15210,7 @@ func (x *WmsOrderActionResult) String() string { func (*WmsOrderActionResult) ProtoMessage() {} func (x *WmsOrderActionResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[202] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14828,7 +15223,7 @@ func (x *WmsOrderActionResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOrderActionResult.ProtoReflect.Descriptor instead. func (*WmsOrderActionResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{202} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{206} } func (x *WmsOrderActionResult) GetResult() *WmsOrderResultBody { @@ -14849,7 +15244,7 @@ type WmsFieldConfig struct { func (x *WmsFieldConfig) Reset() { *x = WmsFieldConfig{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[203] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14861,7 +15256,7 @@ func (x *WmsFieldConfig) String() string { func (*WmsFieldConfig) ProtoMessage() {} func (x *WmsFieldConfig) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[203] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14874,7 +15269,7 @@ func (x *WmsFieldConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsFieldConfig.ProtoReflect.Descriptor instead. func (*WmsFieldConfig) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{203} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{207} } func (x *WmsFieldConfig) GetType() string { @@ -14909,7 +15304,7 @@ type WmsOperationOptions struct { func (x *WmsOperationOptions) Reset() { *x = WmsOperationOptions{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[204] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14921,7 +15316,7 @@ func (x *WmsOperationOptions) String() string { func (*WmsOperationOptions) ProtoMessage() {} func (x *WmsOperationOptions) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[204] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14934,7 +15329,7 @@ func (x *WmsOperationOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsOperationOptions.ProtoReflect.Descriptor instead. func (*WmsOperationOptions) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{204} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{208} } func (x *WmsOperationOptions) GetRequired() []string { @@ -14974,7 +15369,7 @@ type WmsAppCapabilities struct { func (x *WmsAppCapabilities) Reset() { *x = WmsAppCapabilities{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[205] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14986,7 +15381,7 @@ func (x *WmsAppCapabilities) String() string { func (*WmsAppCapabilities) ProtoMessage() {} func (x *WmsAppCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[205] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14999,7 +15394,7 @@ func (x *WmsAppCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsAppCapabilities.ProtoReflect.Descriptor instead. func (*WmsAppCapabilities) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{205} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{209} } func (x *WmsAppCapabilities) GetGetOrdersOptions() *WmsOperationOptions { @@ -15066,7 +15461,7 @@ type WmsGetAppConfigsInput struct { func (x *WmsGetAppConfigsInput) Reset() { *x = WmsGetAppConfigsInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[206] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15078,7 +15473,7 @@ func (x *WmsGetAppConfigsInput) String() string { func (*WmsGetAppConfigsInput) ProtoMessage() {} func (x *WmsGetAppConfigsInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[206] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15091,7 +15486,7 @@ func (x *WmsGetAppConfigsInput) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetAppConfigsInput.ProtoReflect.Descriptor instead. func (*WmsGetAppConfigsInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{206} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{210} } type WmsGetAppConfigsOutput struct { @@ -15103,7 +15498,7 @@ type WmsGetAppConfigsOutput struct { func (x *WmsGetAppConfigsOutput) Reset() { *x = WmsGetAppConfigsOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[207] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15115,7 +15510,7 @@ func (x *WmsGetAppConfigsOutput) String() string { func (*WmsGetAppConfigsOutput) ProtoMessage() {} func (x *WmsGetAppConfigsOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[207] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15128,7 +15523,7 @@ func (x *WmsGetAppConfigsOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use WmsGetAppConfigsOutput.ProtoReflect.Descriptor instead. func (*WmsGetAppConfigsOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{207} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{211} } func (x *WmsGetAppConfigsOutput) GetAppCapabilities() *WmsAppCapabilities { @@ -15148,7 +15543,7 @@ type MessagingOnMediumMessageCreatedInput struct { func (x *MessagingOnMediumMessageCreatedInput) Reset() { *x = MessagingOnMediumMessageCreatedInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[208] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15160,7 +15555,7 @@ func (x *MessagingOnMediumMessageCreatedInput) String() string { func (*MessagingOnMediumMessageCreatedInput) ProtoMessage() {} func (x *MessagingOnMediumMessageCreatedInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[208] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15173,7 +15568,7 @@ func (x *MessagingOnMediumMessageCreatedInput) ProtoReflect() protoreflect.Messa // Deprecated: Use MessagingOnMediumMessageCreatedInput.ProtoReflect.Descriptor instead. func (*MessagingOnMediumMessageCreatedInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{208} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{212} } func (x *MessagingOnMediumMessageCreatedInput) GetUserChat() *ChannelUserChat { @@ -15203,7 +15598,7 @@ type MessagingSendResult struct { func (x *MessagingSendResult) Reset() { *x = MessagingSendResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[209] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15215,7 +15610,7 @@ func (x *MessagingSendResult) String() string { func (*MessagingSendResult) ProtoMessage() {} func (x *MessagingSendResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[209] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15228,7 +15623,7 @@ func (x *MessagingSendResult) ProtoReflect() protoreflect.Message { // Deprecated: Use MessagingSendResult.ProtoReflect.Descriptor instead. func (*MessagingSendResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{209} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{213} } func (x *MessagingSendResult) GetSendState() string { @@ -15261,7 +15656,7 @@ type MessagingOnMediumMessageCreatedOutput struct { func (x *MessagingOnMediumMessageCreatedOutput) Reset() { *x = MessagingOnMediumMessageCreatedOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[210] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15273,7 +15668,7 @@ func (x *MessagingOnMediumMessageCreatedOutput) String() string { func (*MessagingOnMediumMessageCreatedOutput) ProtoMessage() {} func (x *MessagingOnMediumMessageCreatedOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[210] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15286,7 +15681,7 @@ func (x *MessagingOnMediumMessageCreatedOutput) ProtoReflect() protoreflect.Mess // Deprecated: Use MessagingOnMediumMessageCreatedOutput.ProtoReflect.Descriptor instead. func (*MessagingOnMediumMessageCreatedOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{210} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{214} } func (x *MessagingOnMediumMessageCreatedOutput) GetSendResult() *MessagingSendResult { @@ -15305,7 +15700,7 @@ type MessagingInboxOnMediumUserChatClosedInput struct { func (x *MessagingInboxOnMediumUserChatClosedInput) Reset() { *x = MessagingInboxOnMediumUserChatClosedInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[211] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15317,7 +15712,7 @@ func (x *MessagingInboxOnMediumUserChatClosedInput) String() string { func (*MessagingInboxOnMediumUserChatClosedInput) ProtoMessage() {} func (x *MessagingInboxOnMediumUserChatClosedInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[211] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15330,7 +15725,7 @@ func (x *MessagingInboxOnMediumUserChatClosedInput) ProtoReflect() protoreflect. // Deprecated: Use MessagingInboxOnMediumUserChatClosedInput.ProtoReflect.Descriptor instead. func (*MessagingInboxOnMediumUserChatClosedInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{211} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{215} } func (x *MessagingInboxOnMediumUserChatClosedInput) GetUserChat() *ChannelUserChat { @@ -15348,7 +15743,7 @@ type MessagingInboxOnMediumUserChatClosedOutput struct { func (x *MessagingInboxOnMediumUserChatClosedOutput) Reset() { *x = MessagingInboxOnMediumUserChatClosedOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[212] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15360,7 +15755,7 @@ func (x *MessagingInboxOnMediumUserChatClosedOutput) String() string { func (*MessagingInboxOnMediumUserChatClosedOutput) ProtoMessage() {} func (x *MessagingInboxOnMediumUserChatClosedOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[212] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15373,7 +15768,7 @@ func (x *MessagingInboxOnMediumUserChatClosedOutput) ProtoReflect() protoreflect // Deprecated: Use MessagingInboxOnMediumUserChatClosedOutput.ProtoReflect.Descriptor instead. func (*MessagingInboxOnMediumUserChatClosedOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{212} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{216} } type MessagingInboxGetWritingTypesInput struct { @@ -15385,7 +15780,7 @@ type MessagingInboxGetWritingTypesInput struct { func (x *MessagingInboxGetWritingTypesInput) Reset() { *x = MessagingInboxGetWritingTypesInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[213] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15397,7 +15792,7 @@ func (x *MessagingInboxGetWritingTypesInput) String() string { func (*MessagingInboxGetWritingTypesInput) ProtoMessage() {} func (x *MessagingInboxGetWritingTypesInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[213] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15410,7 +15805,7 @@ func (x *MessagingInboxGetWritingTypesInput) ProtoReflect() protoreflect.Message // Deprecated: Use MessagingInboxGetWritingTypesInput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetWritingTypesInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{213} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{217} } func (x *MessagingInboxGetWritingTypesInput) GetUserChat() *ChannelUserChat { @@ -15429,7 +15824,7 @@ type MessagingInboxGetWritingTypesOutput struct { func (x *MessagingInboxGetWritingTypesOutput) Reset() { *x = MessagingInboxGetWritingTypesOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[214] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15441,7 +15836,7 @@ func (x *MessagingInboxGetWritingTypesOutput) String() string { func (*MessagingInboxGetWritingTypesOutput) ProtoMessage() {} func (x *MessagingInboxGetWritingTypesOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[214] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15454,7 +15849,7 @@ func (x *MessagingInboxGetWritingTypesOutput) ProtoReflect() protoreflect.Messag // Deprecated: Use MessagingInboxGetWritingTypesOutput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetWritingTypesOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{214} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{218} } func (x *MessagingInboxGetWritingTypesOutput) GetWritingTypeMap() *WritingTypeMap { @@ -15478,7 +15873,7 @@ type MessagingInboxGetCustomEditorWamInput struct { func (x *MessagingInboxGetCustomEditorWamInput) Reset() { *x = MessagingInboxGetCustomEditorWamInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[215] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15490,7 +15885,7 @@ func (x *MessagingInboxGetCustomEditorWamInput) String() string { func (*MessagingInboxGetCustomEditorWamInput) ProtoMessage() {} func (x *MessagingInboxGetCustomEditorWamInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[215] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15503,7 +15898,7 @@ func (x *MessagingInboxGetCustomEditorWamInput) ProtoReflect() protoreflect.Mess // Deprecated: Use MessagingInboxGetCustomEditorWamInput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetCustomEditorWamInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{215} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{219} } func (x *MessagingInboxGetCustomEditorWamInput) GetUser() *ChannelUser { @@ -15557,7 +15952,7 @@ type MessagingInboxGetMediumTopicSelectorWamInput struct { func (x *MessagingInboxGetMediumTopicSelectorWamInput) Reset() { *x = MessagingInboxGetMediumTopicSelectorWamInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[216] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15569,7 +15964,7 @@ func (x *MessagingInboxGetMediumTopicSelectorWamInput) String() string { func (*MessagingInboxGetMediumTopicSelectorWamInput) ProtoMessage() {} func (x *MessagingInboxGetMediumTopicSelectorWamInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[216] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[220] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15582,7 +15977,7 @@ func (x *MessagingInboxGetMediumTopicSelectorWamInput) ProtoReflect() protorefle // Deprecated: Use MessagingInboxGetMediumTopicSelectorWamInput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetMediumTopicSelectorWamInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{216} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{220} } func (x *MessagingInboxGetMediumTopicSelectorWamInput) GetUser() *ChannelUser { @@ -15602,7 +15997,7 @@ type MessagingInboxGetMediumMessageErrorReasonInput struct { func (x *MessagingInboxGetMediumMessageErrorReasonInput) Reset() { *x = MessagingInboxGetMediumMessageErrorReasonInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[217] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15614,7 +16009,7 @@ func (x *MessagingInboxGetMediumMessageErrorReasonInput) String() string { func (*MessagingInboxGetMediumMessageErrorReasonInput) ProtoMessage() {} func (x *MessagingInboxGetMediumMessageErrorReasonInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[217] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[221] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15627,7 +16022,7 @@ func (x *MessagingInboxGetMediumMessageErrorReasonInput) ProtoReflect() protoref // Deprecated: Use MessagingInboxGetMediumMessageErrorReasonInput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetMediumMessageErrorReasonInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{217} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{221} } func (x *MessagingInboxGetMediumMessageErrorReasonInput) GetUserChat() *ChannelUserChat { @@ -15653,7 +16048,7 @@ type MessagingInboxGetMediumMessageErrorReasonOutput struct { func (x *MessagingInboxGetMediumMessageErrorReasonOutput) Reset() { *x = MessagingInboxGetMediumMessageErrorReasonOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[218] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15665,7 +16060,7 @@ func (x *MessagingInboxGetMediumMessageErrorReasonOutput) String() string { func (*MessagingInboxGetMediumMessageErrorReasonOutput) ProtoMessage() {} func (x *MessagingInboxGetMediumMessageErrorReasonOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[218] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[222] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15678,7 +16073,7 @@ func (x *MessagingInboxGetMediumMessageErrorReasonOutput) ProtoReflect() protore // Deprecated: Use MessagingInboxGetMediumMessageErrorReasonOutput.ProtoReflect.Descriptor instead. func (*MessagingInboxGetMediumMessageErrorReasonOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{218} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{222} } func (x *MessagingInboxGetMediumMessageErrorReasonOutput) GetErrorMessage() string { @@ -15696,7 +16091,7 @@ type MessagingPrebuiltGetWritingTypesInput struct { func (x *MessagingPrebuiltGetWritingTypesInput) Reset() { *x = MessagingPrebuiltGetWritingTypesInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[219] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15708,7 +16103,7 @@ func (x *MessagingPrebuiltGetWritingTypesInput) String() string { func (*MessagingPrebuiltGetWritingTypesInput) ProtoMessage() {} func (x *MessagingPrebuiltGetWritingTypesInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[219] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15721,7 +16116,7 @@ func (x *MessagingPrebuiltGetWritingTypesInput) ProtoReflect() protoreflect.Mess // Deprecated: Use MessagingPrebuiltGetWritingTypesInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetWritingTypesInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{219} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{223} } type MessagingPrebuiltGetWritingTypesOutput struct { @@ -15733,7 +16128,7 @@ type MessagingPrebuiltGetWritingTypesOutput struct { func (x *MessagingPrebuiltGetWritingTypesOutput) Reset() { *x = MessagingPrebuiltGetWritingTypesOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[220] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15745,7 +16140,7 @@ func (x *MessagingPrebuiltGetWritingTypesOutput) String() string { func (*MessagingPrebuiltGetWritingTypesOutput) ProtoMessage() {} func (x *MessagingPrebuiltGetWritingTypesOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[220] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[224] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15758,7 +16153,7 @@ func (x *MessagingPrebuiltGetWritingTypesOutput) ProtoReflect() protoreflect.Mes // Deprecated: Use MessagingPrebuiltGetWritingTypesOutput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetWritingTypesOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{220} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{224} } func (x *MessagingPrebuiltGetWritingTypesOutput) GetWritingTypeMap() *WritingTypeMap { @@ -15781,7 +16176,7 @@ type MessagingPrebuiltValidateEntityInput struct { func (x *MessagingPrebuiltValidateEntityInput) Reset() { *x = MessagingPrebuiltValidateEntityInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[221] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15793,7 +16188,7 @@ func (x *MessagingPrebuiltValidateEntityInput) String() string { func (*MessagingPrebuiltValidateEntityInput) ProtoMessage() {} func (x *MessagingPrebuiltValidateEntityInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[221] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[225] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15806,7 +16201,7 @@ func (x *MessagingPrebuiltValidateEntityInput) ProtoReflect() protoreflect.Messa // Deprecated: Use MessagingPrebuiltValidateEntityInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltValidateEntityInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{221} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{225} } func (x *MessagingPrebuiltValidateEntityInput) GetMessage() *PrebuiltMessage { @@ -15855,7 +16250,7 @@ type MessagingPrebuiltValidateEntityOutput struct { func (x *MessagingPrebuiltValidateEntityOutput) Reset() { *x = MessagingPrebuiltValidateEntityOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[222] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15867,7 +16262,7 @@ func (x *MessagingPrebuiltValidateEntityOutput) String() string { func (*MessagingPrebuiltValidateEntityOutput) ProtoMessage() {} func (x *MessagingPrebuiltValidateEntityOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[222] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15880,7 +16275,7 @@ func (x *MessagingPrebuiltValidateEntityOutput) ProtoReflect() protoreflect.Mess // Deprecated: Use MessagingPrebuiltValidateEntityOutput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltValidateEntityOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{222} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{226} } func (x *MessagingPrebuiltValidateEntityOutput) GetEntityType() string { @@ -15919,7 +16314,7 @@ type MessagingPrebuiltGetCustomEditorWamInput struct { func (x *MessagingPrebuiltGetCustomEditorWamInput) Reset() { *x = MessagingPrebuiltGetCustomEditorWamInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[223] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15931,7 +16326,7 @@ func (x *MessagingPrebuiltGetCustomEditorWamInput) String() string { func (*MessagingPrebuiltGetCustomEditorWamInput) ProtoMessage() {} func (x *MessagingPrebuiltGetCustomEditorWamInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[223] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[227] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15944,7 +16339,7 @@ func (x *MessagingPrebuiltGetCustomEditorWamInput) ProtoReflect() protoreflect.M // Deprecated: Use MessagingPrebuiltGetCustomEditorWamInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetCustomEditorWamInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{223} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{227} } func (x *MessagingPrebuiltGetCustomEditorWamInput) GetEntityType() string { @@ -16005,7 +16400,7 @@ type MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput struct { func (x *MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) Reset() { *x = MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[224] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16017,7 +16412,7 @@ func (x *MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) String() string func (*MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) ProtoMessage() {} func (x *MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[224] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[228] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16030,7 +16425,7 @@ func (x *MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) ProtoReflect() // Deprecated: Use MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{224} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{228} } func (x *MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput) GetEntityType() string { @@ -16051,7 +16446,7 @@ type MessagingPrebuiltBuildMediumTopicsInput struct { func (x *MessagingPrebuiltBuildMediumTopicsInput) Reset() { *x = MessagingPrebuiltBuildMediumTopicsInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[225] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16063,7 +16458,7 @@ func (x *MessagingPrebuiltBuildMediumTopicsInput) String() string { func (*MessagingPrebuiltBuildMediumTopicsInput) ProtoMessage() {} func (x *MessagingPrebuiltBuildMediumTopicsInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[225] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[229] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16076,7 +16471,7 @@ func (x *MessagingPrebuiltBuildMediumTopicsInput) ProtoReflect() protoreflect.Me // Deprecated: Use MessagingPrebuiltBuildMediumTopicsInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltBuildMediumTopicsInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{225} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{229} } func (x *MessagingPrebuiltBuildMediumTopicsInput) GetUser() *ChannelUser { @@ -16111,7 +16506,7 @@ type MessagingPrebuiltBuildMediumTopicsOutput struct { func (x *MessagingPrebuiltBuildMediumTopicsOutput) Reset() { *x = MessagingPrebuiltBuildMediumTopicsOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[226] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16123,7 +16518,7 @@ func (x *MessagingPrebuiltBuildMediumTopicsOutput) String() string { func (*MessagingPrebuiltBuildMediumTopicsOutput) ProtoMessage() {} func (x *MessagingPrebuiltBuildMediumTopicsOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[226] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[230] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16136,7 +16531,7 @@ func (x *MessagingPrebuiltBuildMediumTopicsOutput) ProtoReflect() protoreflect.M // Deprecated: Use MessagingPrebuiltBuildMediumTopicsOutput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltBuildMediumTopicsOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{226} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{230} } func (x *MessagingPrebuiltBuildMediumTopicsOutput) GetMediumTopicKey() string { @@ -16168,7 +16563,7 @@ type MessagingPrebuiltGetDefaultOptionsInput struct { func (x *MessagingPrebuiltGetDefaultOptionsInput) Reset() { *x = MessagingPrebuiltGetDefaultOptionsInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[227] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16180,7 +16575,7 @@ func (x *MessagingPrebuiltGetDefaultOptionsInput) String() string { func (*MessagingPrebuiltGetDefaultOptionsInput) ProtoMessage() {} func (x *MessagingPrebuiltGetDefaultOptionsInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[227] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[231] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16193,7 +16588,7 @@ func (x *MessagingPrebuiltGetDefaultOptionsInput) ProtoReflect() protoreflect.Me // Deprecated: Use MessagingPrebuiltGetDefaultOptionsInput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetDefaultOptionsInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{227} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{231} } type MessagingDefaultOptions struct { @@ -16208,7 +16603,7 @@ type MessagingDefaultOptions struct { func (x *MessagingDefaultOptions) Reset() { *x = MessagingDefaultOptions{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[228] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16220,7 +16615,7 @@ func (x *MessagingDefaultOptions) String() string { func (*MessagingDefaultOptions) ProtoMessage() {} func (x *MessagingDefaultOptions) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[228] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[232] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16233,7 +16628,7 @@ func (x *MessagingDefaultOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use MessagingDefaultOptions.ProtoReflect.Descriptor instead. func (*MessagingDefaultOptions) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{228} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{232} } func (x *MessagingDefaultOptions) GetCampaignUserQuery() *structpb.Struct { @@ -16273,7 +16668,7 @@ type MessagingPrebuiltGetDefaultOptionsOutput struct { func (x *MessagingPrebuiltGetDefaultOptionsOutput) Reset() { *x = MessagingPrebuiltGetDefaultOptionsOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[229] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16285,7 +16680,7 @@ func (x *MessagingPrebuiltGetDefaultOptionsOutput) String() string { func (*MessagingPrebuiltGetDefaultOptionsOutput) ProtoMessage() {} func (x *MessagingPrebuiltGetDefaultOptionsOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[229] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[233] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16298,7 +16693,7 @@ func (x *MessagingPrebuiltGetDefaultOptionsOutput) ProtoReflect() protoreflect.M // Deprecated: Use MessagingPrebuiltGetDefaultOptionsOutput.ProtoReflect.Descriptor instead. func (*MessagingPrebuiltGetDefaultOptionsOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{229} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{233} } func (x *MessagingPrebuiltGetDefaultOptionsOutput) GetDefaultOptions() *MessagingDefaultOptions { @@ -16319,7 +16714,7 @@ type AlfTaskMemoryDefinition struct { func (x *AlfTaskMemoryDefinition) Reset() { *x = AlfTaskMemoryDefinition{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[230] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16331,7 +16726,7 @@ func (x *AlfTaskMemoryDefinition) String() string { func (*AlfTaskMemoryDefinition) ProtoMessage() {} func (x *AlfTaskMemoryDefinition) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[230] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[234] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16344,7 +16739,7 @@ func (x *AlfTaskMemoryDefinition) ProtoReflect() protoreflect.Message { // Deprecated: Use AlfTaskMemoryDefinition.ProtoReflect.Descriptor instead. func (*AlfTaskMemoryDefinition) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{230} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{234} } func (x *AlfTaskMemoryDefinition) GetName() string { @@ -16380,7 +16775,7 @@ type AlfTaskWorkflowNode struct { func (x *AlfTaskWorkflowNode) Reset() { *x = AlfTaskWorkflowNode{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[231] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16392,7 +16787,7 @@ func (x *AlfTaskWorkflowNode) String() string { func (*AlfTaskWorkflowNode) ProtoMessage() {} func (x *AlfTaskWorkflowNode) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[231] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[235] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16405,7 +16800,7 @@ func (x *AlfTaskWorkflowNode) ProtoReflect() protoreflect.Message { // Deprecated: Use AlfTaskWorkflowNode.ProtoReflect.Descriptor instead. func (*AlfTaskWorkflowNode) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{231} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{235} } func (x *AlfTaskWorkflowNode) GetId() string { @@ -16450,7 +16845,7 @@ type AlfTaskPredefinedTask struct { func (x *AlfTaskPredefinedTask) Reset() { *x = AlfTaskPredefinedTask{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[232] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16462,7 +16857,7 @@ func (x *AlfTaskPredefinedTask) String() string { func (*AlfTaskPredefinedTask) ProtoMessage() {} func (x *AlfTaskPredefinedTask) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[232] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[236] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16475,7 +16870,7 @@ func (x *AlfTaskPredefinedTask) ProtoReflect() protoreflect.Message { // Deprecated: Use AlfTaskPredefinedTask.ProtoReflect.Descriptor instead. func (*AlfTaskPredefinedTask) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{232} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{236} } func (x *AlfTaskPredefinedTask) GetVersion() string { @@ -16529,7 +16924,7 @@ type AlfTaskGetTasksInput struct { func (x *AlfTaskGetTasksInput) Reset() { *x = AlfTaskGetTasksInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[233] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16541,7 +16936,7 @@ func (x *AlfTaskGetTasksInput) String() string { func (*AlfTaskGetTasksInput) ProtoMessage() {} func (x *AlfTaskGetTasksInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[233] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[237] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16554,7 +16949,7 @@ func (x *AlfTaskGetTasksInput) ProtoReflect() protoreflect.Message { // Deprecated: Use AlfTaskGetTasksInput.ProtoReflect.Descriptor instead. func (*AlfTaskGetTasksInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{233} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{237} } func (x *AlfTaskGetTasksInput) GetVersion() string { @@ -16573,7 +16968,7 @@ type AlfTaskGetTasksOutput struct { func (x *AlfTaskGetTasksOutput) Reset() { *x = AlfTaskGetTasksOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[234] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16585,7 +16980,7 @@ func (x *AlfTaskGetTasksOutput) String() string { func (*AlfTaskGetTasksOutput) ProtoMessage() {} func (x *AlfTaskGetTasksOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[234] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[238] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16598,7 +16993,7 @@ func (x *AlfTaskGetTasksOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use AlfTaskGetTasksOutput.ProtoReflect.Descriptor instead. func (*AlfTaskGetTasksOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{234} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{238} } func (x *AlfTaskGetTasksOutput) GetPredefinedTasks() []*AlfTaskPredefinedTask { @@ -16617,7 +17012,7 @@ type OAuthTokenRequestMapping struct { func (x *OAuthTokenRequestMapping) Reset() { *x = OAuthTokenRequestMapping{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[235] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16629,7 +17024,7 @@ func (x *OAuthTokenRequestMapping) String() string { func (*OAuthTokenRequestMapping) ProtoMessage() {} func (x *OAuthTokenRequestMapping) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[235] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[239] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16642,7 +17037,7 @@ func (x *OAuthTokenRequestMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthTokenRequestMapping.ProtoReflect.Descriptor instead. func (*OAuthTokenRequestMapping) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{235} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{239} } func (x *OAuthTokenRequestMapping) GetAuthorizationCodeParamName() string { @@ -16665,7 +17060,7 @@ type OAuthTokenResponseMapping struct { func (x *OAuthTokenResponseMapping) Reset() { *x = OAuthTokenResponseMapping{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[236] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16677,7 +17072,7 @@ func (x *OAuthTokenResponseMapping) String() string { func (*OAuthTokenResponseMapping) ProtoMessage() {} func (x *OAuthTokenResponseMapping) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[236] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[240] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16690,7 +17085,7 @@ func (x *OAuthTokenResponseMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthTokenResponseMapping.ProtoReflect.Descriptor instead. func (*OAuthTokenResponseMapping) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{236} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{240} } func (x *OAuthTokenResponseMapping) GetAccessTokenPath() string { @@ -16739,7 +17134,7 @@ type PollingManagerTarget struct { func (x *PollingManagerTarget) Reset() { *x = PollingManagerTarget{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[237] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16751,7 +17146,7 @@ func (x *PollingManagerTarget) String() string { func (*PollingManagerTarget) ProtoMessage() {} func (x *PollingManagerTarget) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[237] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[241] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16764,7 +17159,7 @@ func (x *PollingManagerTarget) ProtoReflect() protoreflect.Message { // Deprecated: Use PollingManagerTarget.ProtoReflect.Descriptor instead. func (*PollingManagerTarget) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{237} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{241} } func (x *PollingManagerTarget) GetChannelId() string { @@ -16792,7 +17187,7 @@ type PollingGetTargetManagersInput struct { func (x *PollingGetTargetManagersInput) Reset() { *x = PollingGetTargetManagersInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[238] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16804,7 +17199,7 @@ func (x *PollingGetTargetManagersInput) String() string { func (*PollingGetTargetManagersInput) ProtoMessage() {} func (x *PollingGetTargetManagersInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[238] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[242] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16817,7 +17212,7 @@ func (x *PollingGetTargetManagersInput) ProtoReflect() protoreflect.Message { // Deprecated: Use PollingGetTargetManagersInput.ProtoReflect.Descriptor instead. func (*PollingGetTargetManagersInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{238} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{242} } func (x *PollingGetTargetManagersInput) GetFunctionName() string { @@ -16852,7 +17247,7 @@ type PollingGetTargetManagersOutput struct { func (x *PollingGetTargetManagersOutput) Reset() { *x = PollingGetTargetManagersOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[239] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16864,7 +17259,7 @@ func (x *PollingGetTargetManagersOutput) String() string { func (*PollingGetTargetManagersOutput) ProtoMessage() {} func (x *PollingGetTargetManagersOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[239] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[243] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16877,7 +17272,7 @@ func (x *PollingGetTargetManagersOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use PollingGetTargetManagersOutput.ProtoReflect.Descriptor instead. func (*PollingGetTargetManagersOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{239} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{243} } func (x *PollingGetTargetManagersOutput) GetTargets() []*PollingManagerTarget { @@ -16911,7 +17306,7 @@ type DataSourceQueryTableAccess struct { func (x *DataSourceQueryTableAccess) Reset() { *x = DataSourceQueryTableAccess{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[240] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16923,7 +17318,7 @@ func (x *DataSourceQueryTableAccess) String() string { func (*DataSourceQueryTableAccess) ProtoMessage() {} func (x *DataSourceQueryTableAccess) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[240] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[244] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16936,7 +17331,7 @@ func (x *DataSourceQueryTableAccess) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceQueryTableAccess.ProtoReflect.Descriptor instead. func (*DataSourceQueryTableAccess) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{240} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{244} } func (x *DataSourceQueryTableAccess) GetName() string { @@ -16964,7 +17359,7 @@ type DataSourceQueryFilter struct { func (x *DataSourceQueryFilter) Reset() { *x = DataSourceQueryFilter{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[241] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16976,7 +17371,7 @@ func (x *DataSourceQueryFilter) String() string { func (*DataSourceQueryFilter) ProtoMessage() {} func (x *DataSourceQueryFilter) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[241] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[245] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16989,7 +17384,7 @@ func (x *DataSourceQueryFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceQueryFilter.ProtoReflect.Descriptor instead. func (*DataSourceQueryFilter) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{241} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{245} } func (x *DataSourceQueryFilter) GetTable() string { @@ -17023,7 +17418,7 @@ type DataSourceAuthorizeQueryInput struct { func (x *DataSourceAuthorizeQueryInput) Reset() { *x = DataSourceAuthorizeQueryInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[242] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17035,7 +17430,7 @@ func (x *DataSourceAuthorizeQueryInput) String() string { func (*DataSourceAuthorizeQueryInput) ProtoMessage() {} func (x *DataSourceAuthorizeQueryInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[242] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[246] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17048,7 +17443,7 @@ func (x *DataSourceAuthorizeQueryInput) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceAuthorizeQueryInput.ProtoReflect.Descriptor instead. func (*DataSourceAuthorizeQueryInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{242} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{246} } func (x *DataSourceAuthorizeQueryInput) GetLocalCatalogAlias() string { @@ -17075,7 +17470,7 @@ type DataSourceAuthorizeQueryOutput struct { func (x *DataSourceAuthorizeQueryOutput) Reset() { *x = DataSourceAuthorizeQueryOutput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[243] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17087,7 +17482,7 @@ func (x *DataSourceAuthorizeQueryOutput) String() string { func (*DataSourceAuthorizeQueryOutput) ProtoMessage() {} func (x *DataSourceAuthorizeQueryOutput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[243] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[247] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17100,7 +17495,7 @@ func (x *DataSourceAuthorizeQueryOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceAuthorizeQueryOutput.ProtoReflect.Descriptor instead. func (*DataSourceAuthorizeQueryOutput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{243} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{247} } func (x *DataSourceAuthorizeQueryOutput) GetAuthorized() bool { @@ -17127,7 +17522,7 @@ type ConfigOAuthClientCredentials struct { func (x *ConfigOAuthClientCredentials) Reset() { *x = ConfigOAuthClientCredentials{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[244] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17139,7 +17534,7 @@ func (x *ConfigOAuthClientCredentials) String() string { func (*ConfigOAuthClientCredentials) ProtoMessage() {} func (x *ConfigOAuthClientCredentials) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[244] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[248] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17152,7 +17547,7 @@ func (x *ConfigOAuthClientCredentials) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigOAuthClientCredentials.ProtoReflect.Descriptor instead. func (*ConfigOAuthClientCredentials) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{244} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{248} } func (x *ConfigOAuthClientCredentials) GetClientIdFieldKey() string { @@ -17187,7 +17582,7 @@ type HookUserChatOpenedInput struct { func (x *HookUserChatOpenedInput) Reset() { *x = HookUserChatOpenedInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[245] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17199,7 +17594,7 @@ func (x *HookUserChatOpenedInput) String() string { func (*HookUserChatOpenedInput) ProtoMessage() {} func (x *HookUserChatOpenedInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[245] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[249] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17212,7 +17607,7 @@ func (x *HookUserChatOpenedInput) ProtoReflect() protoreflect.Message { // Deprecated: Use HookUserChatOpenedInput.ProtoReflect.Descriptor instead. func (*HookUserChatOpenedInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{245} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{249} } func (x *HookUserChatOpenedInput) GetEventId() string { @@ -17295,7 +17690,7 @@ type HookUserChatOpenedResult struct { func (x *HookUserChatOpenedResult) Reset() { *x = HookUserChatOpenedResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[246] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17307,7 +17702,7 @@ func (x *HookUserChatOpenedResult) String() string { func (*HookUserChatOpenedResult) ProtoMessage() {} func (x *HookUserChatOpenedResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[246] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[250] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17320,7 +17715,7 @@ func (x *HookUserChatOpenedResult) ProtoReflect() protoreflect.Message { // Deprecated: Use HookUserChatOpenedResult.ProtoReflect.Descriptor instead. func (*HookUserChatOpenedResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{246} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{250} } func (x *HookUserChatOpenedResult) GetHookHandlingResult() string { @@ -17347,7 +17742,7 @@ type HookTeamChatMessageCreatedWriter struct { func (x *HookTeamChatMessageCreatedWriter) Reset() { *x = HookTeamChatMessageCreatedWriter{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[247] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17359,7 +17754,7 @@ func (x *HookTeamChatMessageCreatedWriter) String() string { func (*HookTeamChatMessageCreatedWriter) ProtoMessage() {} func (x *HookTeamChatMessageCreatedWriter) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[247] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[251] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17372,7 +17767,7 @@ func (x *HookTeamChatMessageCreatedWriter) ProtoReflect() protoreflect.Message { // Deprecated: Use HookTeamChatMessageCreatedWriter.ProtoReflect.Descriptor instead. func (*HookTeamChatMessageCreatedWriter) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{247} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{251} } func (x *HookTeamChatMessageCreatedWriter) GetType() string { @@ -17399,7 +17794,7 @@ type HookTeamChatMessageCreatedLink struct { func (x *HookTeamChatMessageCreatedLink) Reset() { *x = HookTeamChatMessageCreatedLink{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[248] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17411,7 +17806,7 @@ func (x *HookTeamChatMessageCreatedLink) String() string { func (*HookTeamChatMessageCreatedLink) ProtoMessage() {} func (x *HookTeamChatMessageCreatedLink) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[248] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[252] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17424,7 +17819,7 @@ func (x *HookTeamChatMessageCreatedLink) ProtoReflect() protoreflect.Message { // Deprecated: Use HookTeamChatMessageCreatedLink.ProtoReflect.Descriptor instead. func (*HookTeamChatMessageCreatedLink) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{248} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{252} } func (x *HookTeamChatMessageCreatedLink) GetUrl() string { @@ -17459,7 +17854,7 @@ type HookTeamChatMessageCreatedInput struct { func (x *HookTeamChatMessageCreatedInput) Reset() { *x = HookTeamChatMessageCreatedInput{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[249] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17471,7 +17866,7 @@ func (x *HookTeamChatMessageCreatedInput) String() string { func (*HookTeamChatMessageCreatedInput) ProtoMessage() {} func (x *HookTeamChatMessageCreatedInput) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[249] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[253] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17484,7 +17879,7 @@ func (x *HookTeamChatMessageCreatedInput) ProtoReflect() protoreflect.Message { // Deprecated: Use HookTeamChatMessageCreatedInput.ProtoReflect.Descriptor instead. func (*HookTeamChatMessageCreatedInput) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{249} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{253} } func (x *HookTeamChatMessageCreatedInput) GetEventId() string { @@ -17567,7 +17962,7 @@ type HookTeamChatMessageCreatedResult struct { func (x *HookTeamChatMessageCreatedResult) Reset() { *x = HookTeamChatMessageCreatedResult{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[250] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17579,7 +17974,7 @@ func (x *HookTeamChatMessageCreatedResult) String() string { func (*HookTeamChatMessageCreatedResult) ProtoMessage() {} func (x *HookTeamChatMessageCreatedResult) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[250] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[254] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17592,7 +17987,7 @@ func (x *HookTeamChatMessageCreatedResult) ProtoReflect() protoreflect.Message { // Deprecated: Use HookTeamChatMessageCreatedResult.ProtoReflect.Descriptor instead. func (*HookTeamChatMessageCreatedResult) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{250} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{254} } func (x *HookTeamChatMessageCreatedResult) GetHookHandlingResult() string { @@ -17619,7 +18014,7 @@ type DataSourceManagerPermission struct { func (x *DataSourceManagerPermission) Reset() { *x = DataSourceManagerPermission{} - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[251] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17631,7 +18026,7 @@ func (x *DataSourceManagerPermission) String() string { func (*DataSourceManagerPermission) ProtoMessage() {} func (x *DataSourceManagerPermission) ProtoReflect() protoreflect.Message { - mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[251] + mi := &file_channel_app_sdk_v1_extension_proto_msgTypes[255] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17644,7 +18039,7 @@ func (x *DataSourceManagerPermission) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceManagerPermission.ProtoReflect.Descriptor instead. func (*DataSourceManagerPermission) Descriptor() ([]byte, []int) { - return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{251} + return file_channel_app_sdk_v1_extension_proto_rawDescGZIP(), []int{255} } func (x *DataSourceManagerPermission) GetAction() string { @@ -18818,14 +19213,15 @@ const file_channel_app_sdk_v1_extension_proto_rawDesc = "" + "\x05limit\x18\x04 \x01(\x05R\x05limit\"h\n" + "\x17CommerceGetOrdersOutput\x129\n" + "\x06orders\x18\x01 \x03(\v2!.channel.app.sdk.v1.CommerceOrderR\x06orders\x12\x12\n" + - "\x04next\x18\x02 \x01(\tR\x04next\"\x96\x05\n" + + "\x04next\x18\x02 \x01(\tR\x04next\"\xf3\x05\n" + "\x17CommerceAppCapabilities\x12W\n" + "\x12get_orders_options\x18\x01 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x10getOrdersOptions\x12j\n" + "\x1crequest_cancel_order_options\x18\x02 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x19requestCancelOrderOptions\x12j\n" + "\x1crequest_return_order_options\x18\x03 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x19requestReturnOrderOptions\x12h\n" + "\x1baccept_return_order_options\x18\x04 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x18acceptReturnOrderOptions\x12n\n" + "\x1erequest_exchange_order_options\x18\x05 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x1brequestExchangeOrderOptions\x12p\n" + - "\x1fchange_shipping_address_options\x18\x06 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x1cchangeShippingAddressOptions\"\x1c\n" + + "\x1fchange_shipping_address_options\x18\x06 \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x1cchangeShippingAddressOptions\x12[\n" + + "\x14get_products_options\x18\a \x01(\v2).channel.app.sdk.v1.OrderOperationOptionsR\x12getProductsOptions\"\x1c\n" + "\x1aCommerceGetAppConfigsInput\"u\n" + "\x1bCommerceGetAppConfigsOutput\x12V\n" + "\x10app_capabilities\x18\x01 \x01(\v2+.channel.app.sdk.v1.CommerceAppCapabilitiesR\x0fappCapabilities\"d\n" + @@ -18919,7 +19315,48 @@ const file_channel_app_sdk_v1_extension_proto_rawDesc = "" + "identifier\x12\x19\n" + "\border_id\x18\x02 \x01(\tR\aorderId\x12A\n" + "\vnew_address\x18\x03 \x01(\v2 .channel.app.sdk.v1.OrderAddressR\n" + - "newAddress\"\xd1\x02\n" + + "newAddress\"\x83\x01\n" + + "\x18CommerceGetProductsInput\x12;\n" + + "\rsearch_filter\x18\x01 \x01(\v2\x16.google.protobuf.ValueR\fsearchFilter\x12\x14\n" + + "\x05since\x18\x02 \x01(\tR\x05since\x12\x14\n" + + "\x05limit\x18\x03 \x01(\x05R\x05limit\"p\n" + + "\x19CommerceGetProductsOutput\x12?\n" + + "\bproducts\x18\x01 \x03(\v2#.channel.app.sdk.v1.CommerceProductR\bproducts\x12\x12\n" + + "\x04next\x18\x02 \x01(\tR\x04next\"\xd2\x04\n" + + "\x0fCommerceProduct\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x19\n" + + "\x05price\x18\x03 \x01(\x01H\x00R\x05price\x88\x01\x01\x12*\n" + + "\x0eoriginal_price\x18\x04 \x01(\x01H\x01R\roriginalPrice\x88\x01\x01\x12\x1a\n" + + "\bcurrency\x18\x05 \x01(\tR\bcurrency\x12\x14\n" + + "\x05state\x18\x06 \x01(\tR\x05state\x12\x1b\n" + + "\timage_url\x18\a \x01(\tR\bimageUrl\x12\x16\n" + + "\x06images\x18\b \x03(\tR\x06images\x12\x1f\n" + + "\vproduct_url\x18\t \x01(\tR\n" + + "productUrl\x12 \n" + + "\vdescription\x18\n" + + " \x01(\tR\vdescription\x12\x18\n" + + "\asummary\x18\v \x01(\tR\asummary\x12\x16\n" + + "\x06vendor\x18\f \x01(\tR\x06vendor\x12!\n" + + "\fproduct_type\x18\r \x01(\tR\vproductType\x12\x1e\n" + + "\n" + + "categories\x18\x0e \x03(\tR\n" + + "categories\x12\x12\n" + + "\x04tags\x18\x0f \x03(\tR\x04tags\x12\x1d\n" + + "\n" + + "created_at\x18\x10 \x01(\x01R\tcreatedAt\x12\x1d\n" + + "\n" + + "updated_at\x18\x11 \x01(\x01R\tupdatedAt\x12F\n" + + "\bvariants\x18\x12 \x03(\v2*.channel.app.sdk.v1.CommerceProductVariantR\bvariantsB\b\n" + + "\x06_priceB\x11\n" + + "\x0f_original_price\"\xd1\x01\n" + + "\x16CommerceProductVariant\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n" + + "\x05price\x18\x02 \x01(\x01H\x00R\x05price\x88\x01\x01\x12*\n" + + "\x0estock_quantity\x18\x03 \x01(\x01H\x01R\rstockQuantity\x88\x01\x01\x12C\n" + + "\aoptions\x18\x04 \x03(\v2).channel.app.sdk.v1.CommerceVariantOptionR\aoptionsB\b\n" + + "\x06_priceB\x11\n" + + "\x0f_stock_quantity\"\xd1\x02\n" + "\x0fWmsShippingInfo\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + "\n" + @@ -19297,7 +19734,7 @@ func file_channel_app_sdk_v1_extension_proto_rawDescGZIP() []byte { return file_channel_app_sdk_v1_extension_proto_rawDescData } -var file_channel_app_sdk_v1_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 275) +var file_channel_app_sdk_v1_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 279) var file_channel_app_sdk_v1_extension_proto_goTypes = []any{ (*ExtensionEmptyInput)(nil), // 0: channel.app.sdk.v1.ExtensionEmptyInput (*ExtensionChat)(nil), // 1: channel.app.sdk.v1.ExtensionChat @@ -19475,177 +19912,181 @@ var file_channel_app_sdk_v1_extension_proto_goTypes = []any{ (*CommerceExchangeableVariant)(nil), // 173: channel.app.sdk.v1.CommerceExchangeableVariant (*CommerceVariantOption)(nil), // 174: channel.app.sdk.v1.CommerceVariantOption (*CommerceChangeShippingAddressInput)(nil), // 175: channel.app.sdk.v1.CommerceChangeShippingAddressInput - (*WmsShippingInfo)(nil), // 176: channel.app.sdk.v1.WmsShippingInfo - (*WmsDelivery)(nil), // 177: channel.app.sdk.v1.WmsDelivery - (*WmsOrderItem)(nil), // 178: channel.app.sdk.v1.WmsOrderItem - (*WmsOrder)(nil), // 179: channel.app.sdk.v1.WmsOrder - (*WmsGetOrdersRequest)(nil), // 180: channel.app.sdk.v1.WmsGetOrdersRequest - (*WmsGetOrdersResult)(nil), // 181: channel.app.sdk.v1.WmsGetOrdersResult - (*WmsGetOrderRequest)(nil), // 182: channel.app.sdk.v1.WmsGetOrderRequest - (*WmsGetOrderResult)(nil), // 183: channel.app.sdk.v1.WmsGetOrderResult - (*WmsGetShopIDRequest)(nil), // 184: channel.app.sdk.v1.WmsGetShopIDRequest - (*WmsGetShopIDResult)(nil), // 185: channel.app.sdk.v1.WmsGetShopIDResult - (*WmsGetSupportedCommercesRequest)(nil), // 186: channel.app.sdk.v1.WmsGetSupportedCommercesRequest - (*WmsGetSupportedCommercesResult)(nil), // 187: channel.app.sdk.v1.WmsGetSupportedCommercesResult - (*WmsOrderStateRequest)(nil), // 188: channel.app.sdk.v1.WmsOrderStateRequest - (*WmsChangeShippingAddressRequest)(nil), // 189: channel.app.sdk.v1.WmsChangeShippingAddressRequest - (*WmsRestoreOrderRequest)(nil), // 190: channel.app.sdk.v1.WmsRestoreOrderRequest - (*WmsSuccessResult)(nil), // 191: channel.app.sdk.v1.WmsSuccessResult - (*Buyer)(nil), // 192: channel.app.sdk.v1.Buyer - (*WmsDeliveryV2)(nil), // 193: channel.app.sdk.v1.WmsDeliveryV2 - (*WmsOrderItemV2)(nil), // 194: channel.app.sdk.v1.WmsOrderItemV2 - (*WmsOrderV2)(nil), // 195: channel.app.sdk.v1.WmsOrderV2 - (*WmsIdentifier)(nil), // 196: channel.app.sdk.v1.WmsIdentifier - (*WmsOrderGetOrdersRequest)(nil), // 197: channel.app.sdk.v1.WmsOrderGetOrdersRequest - (*WmsOrderGetOrdersResult)(nil), // 198: channel.app.sdk.v1.WmsOrderGetOrdersResult - (*WmsOrderActionRequest)(nil), // 199: channel.app.sdk.v1.WmsOrderActionRequest - (*WmsOrderChangeShippingAddressInput)(nil), // 200: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput - (*WmsOrderResultBody)(nil), // 201: channel.app.sdk.v1.WmsOrderResultBody - (*WmsOrderActionResult)(nil), // 202: channel.app.sdk.v1.WmsOrderActionResult - (*WmsFieldConfig)(nil), // 203: channel.app.sdk.v1.WmsFieldConfig - (*WmsOperationOptions)(nil), // 204: channel.app.sdk.v1.WmsOperationOptions - (*WmsAppCapabilities)(nil), // 205: channel.app.sdk.v1.WmsAppCapabilities - (*WmsGetAppConfigsInput)(nil), // 206: channel.app.sdk.v1.WmsGetAppConfigsInput - (*WmsGetAppConfigsOutput)(nil), // 207: channel.app.sdk.v1.WmsGetAppConfigsOutput - (*MessagingOnMediumMessageCreatedInput)(nil), // 208: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput - (*MessagingSendResult)(nil), // 209: channel.app.sdk.v1.MessagingSendResult - (*MessagingOnMediumMessageCreatedOutput)(nil), // 210: channel.app.sdk.v1.MessagingOnMediumMessageCreatedOutput - (*MessagingInboxOnMediumUserChatClosedInput)(nil), // 211: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedInput - (*MessagingInboxOnMediumUserChatClosedOutput)(nil), // 212: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedOutput - (*MessagingInboxGetWritingTypesInput)(nil), // 213: channel.app.sdk.v1.MessagingInboxGetWritingTypesInput - (*MessagingInboxGetWritingTypesOutput)(nil), // 214: channel.app.sdk.v1.MessagingInboxGetWritingTypesOutput - (*MessagingInboxGetCustomEditorWamInput)(nil), // 215: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput - (*MessagingInboxGetMediumTopicSelectorWamInput)(nil), // 216: channel.app.sdk.v1.MessagingInboxGetMediumTopicSelectorWamInput - (*MessagingInboxGetMediumMessageErrorReasonInput)(nil), // 217: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput - (*MessagingInboxGetMediumMessageErrorReasonOutput)(nil), // 218: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonOutput - (*MessagingPrebuiltGetWritingTypesInput)(nil), // 219: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesInput - (*MessagingPrebuiltGetWritingTypesOutput)(nil), // 220: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesOutput - (*MessagingPrebuiltValidateEntityInput)(nil), // 221: channel.app.sdk.v1.MessagingPrebuiltValidateEntityInput - (*MessagingPrebuiltValidateEntityOutput)(nil), // 222: channel.app.sdk.v1.MessagingPrebuiltValidateEntityOutput - (*MessagingPrebuiltGetCustomEditorWamInput)(nil), // 223: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput - (*MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput)(nil), // 224: channel.app.sdk.v1.MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput - (*MessagingPrebuiltBuildMediumTopicsInput)(nil), // 225: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsInput - (*MessagingPrebuiltBuildMediumTopicsOutput)(nil), // 226: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsOutput - (*MessagingPrebuiltGetDefaultOptionsInput)(nil), // 227: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsInput - (*MessagingDefaultOptions)(nil), // 228: channel.app.sdk.v1.MessagingDefaultOptions - (*MessagingPrebuiltGetDefaultOptionsOutput)(nil), // 229: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsOutput - (*AlfTaskMemoryDefinition)(nil), // 230: channel.app.sdk.v1.AlfTaskMemoryDefinition - (*AlfTaskWorkflowNode)(nil), // 231: channel.app.sdk.v1.AlfTaskWorkflowNode - (*AlfTaskPredefinedTask)(nil), // 232: channel.app.sdk.v1.AlfTaskPredefinedTask - (*AlfTaskGetTasksInput)(nil), // 233: channel.app.sdk.v1.AlfTaskGetTasksInput - (*AlfTaskGetTasksOutput)(nil), // 234: channel.app.sdk.v1.AlfTaskGetTasksOutput - (*OAuthTokenRequestMapping)(nil), // 235: channel.app.sdk.v1.OAuthTokenRequestMapping - (*OAuthTokenResponseMapping)(nil), // 236: channel.app.sdk.v1.OAuthTokenResponseMapping - (*PollingManagerTarget)(nil), // 237: channel.app.sdk.v1.PollingManagerTarget - (*PollingGetTargetManagersInput)(nil), // 238: channel.app.sdk.v1.PollingGetTargetManagersInput - (*PollingGetTargetManagersOutput)(nil), // 239: channel.app.sdk.v1.PollingGetTargetManagersOutput - (*DataSourceQueryTableAccess)(nil), // 240: channel.app.sdk.v1.DataSourceQueryTableAccess - (*DataSourceQueryFilter)(nil), // 241: channel.app.sdk.v1.DataSourceQueryFilter - (*DataSourceAuthorizeQueryInput)(nil), // 242: channel.app.sdk.v1.DataSourceAuthorizeQueryInput - (*DataSourceAuthorizeQueryOutput)(nil), // 243: channel.app.sdk.v1.DataSourceAuthorizeQueryOutput - (*ConfigOAuthClientCredentials)(nil), // 244: channel.app.sdk.v1.ConfigOAuthClientCredentials - (*HookUserChatOpenedInput)(nil), // 245: channel.app.sdk.v1.HookUserChatOpenedInput - (*HookUserChatOpenedResult)(nil), // 246: channel.app.sdk.v1.HookUserChatOpenedResult - (*HookTeamChatMessageCreatedWriter)(nil), // 247: channel.app.sdk.v1.HookTeamChatMessageCreatedWriter - (*HookTeamChatMessageCreatedLink)(nil), // 248: channel.app.sdk.v1.HookTeamChatMessageCreatedLink - (*HookTeamChatMessageCreatedInput)(nil), // 249: channel.app.sdk.v1.HookTeamChatMessageCreatedInput - (*HookTeamChatMessageCreatedResult)(nil), // 250: channel.app.sdk.v1.HookTeamChatMessageCreatedResult - (*DataSourceManagerPermission)(nil), // 251: channel.app.sdk.v1.DataSourceManagerPermission - nil, // 252: channel.app.sdk.v1.ConfigLocalizedText.FieldLabelsEntry - nil, // 253: channel.app.sdk.v1.ConfigChoice.I18nMapEntry - nil, // 254: channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry - nil, // 255: channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry - nil, // 256: channel.app.sdk.v1.ConfigOverview.I18nMapEntry - nil, // 257: channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry - nil, // 258: channel.app.sdk.v1.ConfigSettings.I18nMapEntry - nil, // 259: channel.app.sdk.v1.ConfigField.I18nMapEntry - nil, // 260: channel.app.sdk.v1.ConfigBlock.I18nMapEntry - nil, // 261: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry - nil, // 262: channel.app.sdk.v1.ConfigValidationError.I18nMapEntry - nil, // 263: channel.app.sdk.v1.OAuthProvider.AdditionalParamsEntry - nil, // 264: channel.app.sdk.v1.OAuthProvider.I18nMapEntry - nil, // 265: channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry - nil, // 266: channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry - nil, // 267: channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry - nil, // 268: channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry - nil, // 269: channel.app.sdk.v1.CommandTrigger.AttributesEntry - nil, // 270: channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry - nil, // 271: channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry - nil, // 272: channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry - nil, // 273: channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry - nil, // 274: channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry - (*structpb.Struct)(nil), // 275: google.protobuf.Struct - (*structpb.Value)(nil), // 276: google.protobuf.Value - (*ChannelUserChat)(nil), // 277: channel.app.sdk.v1.ChannelUserChat - (*ChannelMessage)(nil), // 278: channel.app.sdk.v1.ChannelMessage - (*WritingTypeMap)(nil), // 279: channel.app.sdk.v1.WritingTypeMap - (*ChannelUser)(nil), // 280: channel.app.sdk.v1.ChannelUser - (*PrebuiltMessage)(nil), // 281: channel.app.sdk.v1.PrebuiltMessage - (*UnavailableReason)(nil), // 282: channel.app.sdk.v1.UnavailableReason - (*MediumProfile)(nil), // 283: channel.app.sdk.v1.MediumProfile + (*CommerceGetProductsInput)(nil), // 176: channel.app.sdk.v1.CommerceGetProductsInput + (*CommerceGetProductsOutput)(nil), // 177: channel.app.sdk.v1.CommerceGetProductsOutput + (*CommerceProduct)(nil), // 178: channel.app.sdk.v1.CommerceProduct + (*CommerceProductVariant)(nil), // 179: channel.app.sdk.v1.CommerceProductVariant + (*WmsShippingInfo)(nil), // 180: channel.app.sdk.v1.WmsShippingInfo + (*WmsDelivery)(nil), // 181: channel.app.sdk.v1.WmsDelivery + (*WmsOrderItem)(nil), // 182: channel.app.sdk.v1.WmsOrderItem + (*WmsOrder)(nil), // 183: channel.app.sdk.v1.WmsOrder + (*WmsGetOrdersRequest)(nil), // 184: channel.app.sdk.v1.WmsGetOrdersRequest + (*WmsGetOrdersResult)(nil), // 185: channel.app.sdk.v1.WmsGetOrdersResult + (*WmsGetOrderRequest)(nil), // 186: channel.app.sdk.v1.WmsGetOrderRequest + (*WmsGetOrderResult)(nil), // 187: channel.app.sdk.v1.WmsGetOrderResult + (*WmsGetShopIDRequest)(nil), // 188: channel.app.sdk.v1.WmsGetShopIDRequest + (*WmsGetShopIDResult)(nil), // 189: channel.app.sdk.v1.WmsGetShopIDResult + (*WmsGetSupportedCommercesRequest)(nil), // 190: channel.app.sdk.v1.WmsGetSupportedCommercesRequest + (*WmsGetSupportedCommercesResult)(nil), // 191: channel.app.sdk.v1.WmsGetSupportedCommercesResult + (*WmsOrderStateRequest)(nil), // 192: channel.app.sdk.v1.WmsOrderStateRequest + (*WmsChangeShippingAddressRequest)(nil), // 193: channel.app.sdk.v1.WmsChangeShippingAddressRequest + (*WmsRestoreOrderRequest)(nil), // 194: channel.app.sdk.v1.WmsRestoreOrderRequest + (*WmsSuccessResult)(nil), // 195: channel.app.sdk.v1.WmsSuccessResult + (*Buyer)(nil), // 196: channel.app.sdk.v1.Buyer + (*WmsDeliveryV2)(nil), // 197: channel.app.sdk.v1.WmsDeliveryV2 + (*WmsOrderItemV2)(nil), // 198: channel.app.sdk.v1.WmsOrderItemV2 + (*WmsOrderV2)(nil), // 199: channel.app.sdk.v1.WmsOrderV2 + (*WmsIdentifier)(nil), // 200: channel.app.sdk.v1.WmsIdentifier + (*WmsOrderGetOrdersRequest)(nil), // 201: channel.app.sdk.v1.WmsOrderGetOrdersRequest + (*WmsOrderGetOrdersResult)(nil), // 202: channel.app.sdk.v1.WmsOrderGetOrdersResult + (*WmsOrderActionRequest)(nil), // 203: channel.app.sdk.v1.WmsOrderActionRequest + (*WmsOrderChangeShippingAddressInput)(nil), // 204: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput + (*WmsOrderResultBody)(nil), // 205: channel.app.sdk.v1.WmsOrderResultBody + (*WmsOrderActionResult)(nil), // 206: channel.app.sdk.v1.WmsOrderActionResult + (*WmsFieldConfig)(nil), // 207: channel.app.sdk.v1.WmsFieldConfig + (*WmsOperationOptions)(nil), // 208: channel.app.sdk.v1.WmsOperationOptions + (*WmsAppCapabilities)(nil), // 209: channel.app.sdk.v1.WmsAppCapabilities + (*WmsGetAppConfigsInput)(nil), // 210: channel.app.sdk.v1.WmsGetAppConfigsInput + (*WmsGetAppConfigsOutput)(nil), // 211: channel.app.sdk.v1.WmsGetAppConfigsOutput + (*MessagingOnMediumMessageCreatedInput)(nil), // 212: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput + (*MessagingSendResult)(nil), // 213: channel.app.sdk.v1.MessagingSendResult + (*MessagingOnMediumMessageCreatedOutput)(nil), // 214: channel.app.sdk.v1.MessagingOnMediumMessageCreatedOutput + (*MessagingInboxOnMediumUserChatClosedInput)(nil), // 215: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedInput + (*MessagingInboxOnMediumUserChatClosedOutput)(nil), // 216: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedOutput + (*MessagingInboxGetWritingTypesInput)(nil), // 217: channel.app.sdk.v1.MessagingInboxGetWritingTypesInput + (*MessagingInboxGetWritingTypesOutput)(nil), // 218: channel.app.sdk.v1.MessagingInboxGetWritingTypesOutput + (*MessagingInboxGetCustomEditorWamInput)(nil), // 219: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput + (*MessagingInboxGetMediumTopicSelectorWamInput)(nil), // 220: channel.app.sdk.v1.MessagingInboxGetMediumTopicSelectorWamInput + (*MessagingInboxGetMediumMessageErrorReasonInput)(nil), // 221: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput + (*MessagingInboxGetMediumMessageErrorReasonOutput)(nil), // 222: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonOutput + (*MessagingPrebuiltGetWritingTypesInput)(nil), // 223: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesInput + (*MessagingPrebuiltGetWritingTypesOutput)(nil), // 224: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesOutput + (*MessagingPrebuiltValidateEntityInput)(nil), // 225: channel.app.sdk.v1.MessagingPrebuiltValidateEntityInput + (*MessagingPrebuiltValidateEntityOutput)(nil), // 226: channel.app.sdk.v1.MessagingPrebuiltValidateEntityOutput + (*MessagingPrebuiltGetCustomEditorWamInput)(nil), // 227: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput + (*MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput)(nil), // 228: channel.app.sdk.v1.MessagingPrebuiltGetMediumTopicBuilderSelectorWamInput + (*MessagingPrebuiltBuildMediumTopicsInput)(nil), // 229: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsInput + (*MessagingPrebuiltBuildMediumTopicsOutput)(nil), // 230: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsOutput + (*MessagingPrebuiltGetDefaultOptionsInput)(nil), // 231: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsInput + (*MessagingDefaultOptions)(nil), // 232: channel.app.sdk.v1.MessagingDefaultOptions + (*MessagingPrebuiltGetDefaultOptionsOutput)(nil), // 233: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsOutput + (*AlfTaskMemoryDefinition)(nil), // 234: channel.app.sdk.v1.AlfTaskMemoryDefinition + (*AlfTaskWorkflowNode)(nil), // 235: channel.app.sdk.v1.AlfTaskWorkflowNode + (*AlfTaskPredefinedTask)(nil), // 236: channel.app.sdk.v1.AlfTaskPredefinedTask + (*AlfTaskGetTasksInput)(nil), // 237: channel.app.sdk.v1.AlfTaskGetTasksInput + (*AlfTaskGetTasksOutput)(nil), // 238: channel.app.sdk.v1.AlfTaskGetTasksOutput + (*OAuthTokenRequestMapping)(nil), // 239: channel.app.sdk.v1.OAuthTokenRequestMapping + (*OAuthTokenResponseMapping)(nil), // 240: channel.app.sdk.v1.OAuthTokenResponseMapping + (*PollingManagerTarget)(nil), // 241: channel.app.sdk.v1.PollingManagerTarget + (*PollingGetTargetManagersInput)(nil), // 242: channel.app.sdk.v1.PollingGetTargetManagersInput + (*PollingGetTargetManagersOutput)(nil), // 243: channel.app.sdk.v1.PollingGetTargetManagersOutput + (*DataSourceQueryTableAccess)(nil), // 244: channel.app.sdk.v1.DataSourceQueryTableAccess + (*DataSourceQueryFilter)(nil), // 245: channel.app.sdk.v1.DataSourceQueryFilter + (*DataSourceAuthorizeQueryInput)(nil), // 246: channel.app.sdk.v1.DataSourceAuthorizeQueryInput + (*DataSourceAuthorizeQueryOutput)(nil), // 247: channel.app.sdk.v1.DataSourceAuthorizeQueryOutput + (*ConfigOAuthClientCredentials)(nil), // 248: channel.app.sdk.v1.ConfigOAuthClientCredentials + (*HookUserChatOpenedInput)(nil), // 249: channel.app.sdk.v1.HookUserChatOpenedInput + (*HookUserChatOpenedResult)(nil), // 250: channel.app.sdk.v1.HookUserChatOpenedResult + (*HookTeamChatMessageCreatedWriter)(nil), // 251: channel.app.sdk.v1.HookTeamChatMessageCreatedWriter + (*HookTeamChatMessageCreatedLink)(nil), // 252: channel.app.sdk.v1.HookTeamChatMessageCreatedLink + (*HookTeamChatMessageCreatedInput)(nil), // 253: channel.app.sdk.v1.HookTeamChatMessageCreatedInput + (*HookTeamChatMessageCreatedResult)(nil), // 254: channel.app.sdk.v1.HookTeamChatMessageCreatedResult + (*DataSourceManagerPermission)(nil), // 255: channel.app.sdk.v1.DataSourceManagerPermission + nil, // 256: channel.app.sdk.v1.ConfigLocalizedText.FieldLabelsEntry + nil, // 257: channel.app.sdk.v1.ConfigChoice.I18nMapEntry + nil, // 258: channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry + nil, // 259: channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry + nil, // 260: channel.app.sdk.v1.ConfigOverview.I18nMapEntry + nil, // 261: channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry + nil, // 262: channel.app.sdk.v1.ConfigSettings.I18nMapEntry + nil, // 263: channel.app.sdk.v1.ConfigField.I18nMapEntry + nil, // 264: channel.app.sdk.v1.ConfigBlock.I18nMapEntry + nil, // 265: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry + nil, // 266: channel.app.sdk.v1.ConfigValidationError.I18nMapEntry + nil, // 267: channel.app.sdk.v1.OAuthProvider.AdditionalParamsEntry + nil, // 268: channel.app.sdk.v1.OAuthProvider.I18nMapEntry + nil, // 269: channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry + nil, // 270: channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry + nil, // 271: channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry + nil, // 272: channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry + nil, // 273: channel.app.sdk.v1.CommandTrigger.AttributesEntry + nil, // 274: channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry + nil, // 275: channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry + nil, // 276: channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry + nil, // 277: channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry + nil, // 278: channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry + (*structpb.Struct)(nil), // 279: google.protobuf.Struct + (*structpb.Value)(nil), // 280: google.protobuf.Value + (*ChannelUserChat)(nil), // 281: channel.app.sdk.v1.ChannelUserChat + (*ChannelMessage)(nil), // 282: channel.app.sdk.v1.ChannelMessage + (*WritingTypeMap)(nil), // 283: channel.app.sdk.v1.WritingTypeMap + (*ChannelUser)(nil), // 284: channel.app.sdk.v1.ChannelUser + (*PrebuiltMessage)(nil), // 285: channel.app.sdk.v1.PrebuiltMessage + (*UnavailableReason)(nil), // 286: channel.app.sdk.v1.UnavailableReason + (*MediumProfile)(nil), // 287: channel.app.sdk.v1.MediumProfile } var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ - 275, // 0: channel.app.sdk.v1.ExtensionActionResult.attributes:type_name -> google.protobuf.Struct + 279, // 0: channel.app.sdk.v1.ExtensionActionResult.attributes:type_name -> google.protobuf.Struct 3, // 1: channel.app.sdk.v1.ApiKeyGetAuthConfigOutput.fields:type_name -> channel.app.sdk.v1.ApiKeyField 7, // 2: channel.app.sdk.v1.ApiKeyValidateCredentialsOutput.user_info:type_name -> channel.app.sdk.v1.ApiKeyUserInfo - 276, // 3: channel.app.sdk.v1.ConfigCondition.value:type_name -> google.protobuf.Value - 252, // 4: channel.app.sdk.v1.ConfigLocalizedText.field_labels:type_name -> channel.app.sdk.v1.ConfigLocalizedText.FieldLabelsEntry - 276, // 5: channel.app.sdk.v1.ConfigChoice.value:type_name -> google.protobuf.Value - 253, // 6: channel.app.sdk.v1.ConfigChoice.i18n_map:type_name -> channel.app.sdk.v1.ConfigChoice.I18nMapEntry - 254, // 7: channel.app.sdk.v1.ConfigInlineLink.i18n_map:type_name -> channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry - 255, // 8: channel.app.sdk.v1.ConfigValidationNotice.i18n_map:type_name -> channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry + 280, // 3: channel.app.sdk.v1.ConfigCondition.value:type_name -> google.protobuf.Value + 256, // 4: channel.app.sdk.v1.ConfigLocalizedText.field_labels:type_name -> channel.app.sdk.v1.ConfigLocalizedText.FieldLabelsEntry + 280, // 5: channel.app.sdk.v1.ConfigChoice.value:type_name -> google.protobuf.Value + 257, // 6: channel.app.sdk.v1.ConfigChoice.i18n_map:type_name -> channel.app.sdk.v1.ConfigChoice.I18nMapEntry + 258, // 7: channel.app.sdk.v1.ConfigInlineLink.i18n_map:type_name -> channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry + 259, // 8: channel.app.sdk.v1.ConfigValidationNotice.i18n_map:type_name -> channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry 12, // 9: channel.app.sdk.v1.ConfigValidationNotice.links:type_name -> channel.app.sdk.v1.ConfigInlineLink 15, // 10: channel.app.sdk.v1.ConfigOAuth.additional_params:type_name -> channel.app.sdk.v1.ConfigOAuthAdditionalParam - 244, // 11: channel.app.sdk.v1.ConfigOAuth.client_credentials:type_name -> channel.app.sdk.v1.ConfigOAuthClientCredentials - 275, // 12: channel.app.sdk.v1.ConfigChoicesSource.params:type_name -> google.protobuf.Struct - 256, // 13: channel.app.sdk.v1.ConfigOverview.i18n_map:type_name -> channel.app.sdk.v1.ConfigOverview.I18nMapEntry - 275, // 14: channel.app.sdk.v1.ConfigDefaultSelector.on_change_params:type_name -> google.protobuf.Struct - 257, // 15: channel.app.sdk.v1.ConfigDefaultSelector.i18n_map:type_name -> channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry + 248, // 11: channel.app.sdk.v1.ConfigOAuth.client_credentials:type_name -> channel.app.sdk.v1.ConfigOAuthClientCredentials + 279, // 12: channel.app.sdk.v1.ConfigChoicesSource.params:type_name -> google.protobuf.Struct + 260, // 13: channel.app.sdk.v1.ConfigOverview.i18n_map:type_name -> channel.app.sdk.v1.ConfigOverview.I18nMapEntry + 279, // 14: channel.app.sdk.v1.ConfigDefaultSelector.on_change_params:type_name -> google.protobuf.Struct + 261, // 15: channel.app.sdk.v1.ConfigDefaultSelector.i18n_map:type_name -> channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry 19, // 16: channel.app.sdk.v1.ConfigSettings.default_selectors:type_name -> channel.app.sdk.v1.ConfigDefaultSelector - 258, // 17: channel.app.sdk.v1.ConfigSettings.i18n_map:type_name -> channel.app.sdk.v1.ConfigSettings.I18nMapEntry - 276, // 18: channel.app.sdk.v1.ConfigDraftResolutionParams.changed_value:type_name -> google.protobuf.Value - 275, // 19: channel.app.sdk.v1.ConfigDraftResolutionParams.values:type_name -> google.protobuf.Struct + 262, // 17: channel.app.sdk.v1.ConfigSettings.i18n_map:type_name -> channel.app.sdk.v1.ConfigSettings.I18nMapEntry + 280, // 18: channel.app.sdk.v1.ConfigDraftResolutionParams.changed_value:type_name -> google.protobuf.Value + 279, // 19: channel.app.sdk.v1.ConfigDraftResolutionParams.values:type_name -> google.protobuf.Struct 12, // 20: channel.app.sdk.v1.ConfigField.helper_links:type_name -> channel.app.sdk.v1.ConfigInlineLink 22, // 21: channel.app.sdk.v1.ConfigField.media:type_name -> channel.app.sdk.v1.ConfigMediaOptions 23, // 22: channel.app.sdk.v1.ConfigField.resolves_to:type_name -> channel.app.sdk.v1.ConfigResolvedValueTarget 9, // 23: channel.app.sdk.v1.ConfigField.visible_when:type_name -> channel.app.sdk.v1.ConfigCondition 9, // 24: channel.app.sdk.v1.ConfigField.enabled_when:type_name -> channel.app.sdk.v1.ConfigCondition - 276, // 25: channel.app.sdk.v1.ConfigField.default_value:type_name -> google.protobuf.Value + 280, // 25: channel.app.sdk.v1.ConfigField.default_value:type_name -> google.protobuf.Value 17, // 26: channel.app.sdk.v1.ConfigField.choices_source:type_name -> channel.app.sdk.v1.ConfigChoicesSource 11, // 27: channel.app.sdk.v1.ConfigField.choices:type_name -> channel.app.sdk.v1.ConfigChoice 11, // 28: channel.app.sdk.v1.ConfigField.country_code_choices:type_name -> channel.app.sdk.v1.ConfigChoice - 275, // 29: channel.app.sdk.v1.ConfigField.field_labels:type_name -> google.protobuf.Struct - 259, // 30: channel.app.sdk.v1.ConfigField.i18n_map:type_name -> channel.app.sdk.v1.ConfigField.I18nMapEntry + 279, // 29: channel.app.sdk.v1.ConfigField.field_labels:type_name -> google.protobuf.Struct + 263, // 30: channel.app.sdk.v1.ConfigField.i18n_map:type_name -> channel.app.sdk.v1.ConfigField.I18nMapEntry 9, // 31: channel.app.sdk.v1.ConfigBlock.visible_when:type_name -> channel.app.sdk.v1.ConfigCondition 12, // 32: channel.app.sdk.v1.ConfigBlock.helper_links:type_name -> channel.app.sdk.v1.ConfigInlineLink 26, // 33: channel.app.sdk.v1.ConfigBlock.fields:type_name -> channel.app.sdk.v1.ConfigField - 275, // 34: channel.app.sdk.v1.ConfigBlock.props:type_name -> google.protobuf.Struct + 279, // 34: channel.app.sdk.v1.ConfigBlock.props:type_name -> google.protobuf.Struct 22, // 35: channel.app.sdk.v1.ConfigBlock.media:type_name -> channel.app.sdk.v1.ConfigMediaOptions 23, // 36: channel.app.sdk.v1.ConfigBlock.resolves_to:type_name -> channel.app.sdk.v1.ConfigResolvedValueTarget 9, // 37: channel.app.sdk.v1.ConfigBlock.enabled_when:type_name -> channel.app.sdk.v1.ConfigCondition - 276, // 38: channel.app.sdk.v1.ConfigBlock.default_value:type_name -> google.protobuf.Value + 280, // 38: channel.app.sdk.v1.ConfigBlock.default_value:type_name -> google.protobuf.Value 17, // 39: channel.app.sdk.v1.ConfigBlock.choices_source:type_name -> channel.app.sdk.v1.ConfigChoicesSource 11, // 40: channel.app.sdk.v1.ConfigBlock.choices:type_name -> channel.app.sdk.v1.ConfigChoice 11, // 41: channel.app.sdk.v1.ConfigBlock.country_code_choices:type_name -> channel.app.sdk.v1.ConfigChoice - 275, // 42: channel.app.sdk.v1.ConfigBlock.field_labels:type_name -> google.protobuf.Struct - 260, // 43: channel.app.sdk.v1.ConfigBlock.i18n_map:type_name -> channel.app.sdk.v1.ConfigBlock.I18nMapEntry - 275, // 44: channel.app.sdk.v1.ConfigBlock.params:type_name -> google.protobuf.Struct + 279, // 42: channel.app.sdk.v1.ConfigBlock.field_labels:type_name -> google.protobuf.Struct + 264, // 43: channel.app.sdk.v1.ConfigBlock.i18n_map:type_name -> channel.app.sdk.v1.ConfigBlock.I18nMapEntry + 279, // 44: channel.app.sdk.v1.ConfigBlock.params:type_name -> google.protobuf.Struct 16, // 45: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.oauth:type_name -> channel.app.sdk.v1.ConfigOAuth 14, // 46: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.hooks:type_name -> channel.app.sdk.v1.ConfigHooks 27, // 47: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.blocks:type_name -> channel.app.sdk.v1.ConfigBlock - 261, // 48: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.i18n_map:type_name -> channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry + 265, // 48: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.i18n_map:type_name -> channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry 18, // 49: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.overview:type_name -> channel.app.sdk.v1.ConfigOverview 20, // 50: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.settings:type_name -> channel.app.sdk.v1.ConfigSettings - 262, // 51: channel.app.sdk.v1.ConfigValidationError.i18n_map:type_name -> channel.app.sdk.v1.ConfigValidationError.I18nMapEntry + 266, // 51: channel.app.sdk.v1.ConfigValidationError.i18n_map:type_name -> channel.app.sdk.v1.ConfigValidationError.I18nMapEntry 30, // 52: channel.app.sdk.v1.ConfigValidateStoredConfigOutput.errors:type_name -> channel.app.sdk.v1.ConfigValidationError 13, // 53: channel.app.sdk.v1.ConfigValidateStoredConfigOutput.notices:type_name -> channel.app.sdk.v1.ConfigValidationNotice 11, // 54: channel.app.sdk.v1.ConfigChoiceList.choices:type_name -> channel.app.sdk.v1.ConfigChoice - 275, // 55: channel.app.sdk.v1.ConfigDraftResolutionOutput.values_patch:type_name -> google.protobuf.Struct - 275, // 56: channel.app.sdk.v1.ConfigDraftResolutionOutput.choices_patch:type_name -> google.protobuf.Struct - 263, // 57: channel.app.sdk.v1.OAuthProvider.additional_params:type_name -> channel.app.sdk.v1.OAuthProvider.AdditionalParamsEntry - 235, // 58: channel.app.sdk.v1.OAuthProvider.token_request:type_name -> channel.app.sdk.v1.OAuthTokenRequestMapping - 236, // 59: channel.app.sdk.v1.OAuthProvider.token_response:type_name -> channel.app.sdk.v1.OAuthTokenResponseMapping - 264, // 60: channel.app.sdk.v1.OAuthProvider.i18n_map:type_name -> channel.app.sdk.v1.OAuthProvider.I18nMapEntry + 279, // 55: channel.app.sdk.v1.ConfigDraftResolutionOutput.values_patch:type_name -> google.protobuf.Struct + 279, // 56: channel.app.sdk.v1.ConfigDraftResolutionOutput.choices_patch:type_name -> google.protobuf.Struct + 267, // 57: channel.app.sdk.v1.OAuthProvider.additional_params:type_name -> channel.app.sdk.v1.OAuthProvider.AdditionalParamsEntry + 239, // 58: channel.app.sdk.v1.OAuthProvider.token_request:type_name -> channel.app.sdk.v1.OAuthTokenRequestMapping + 240, // 59: channel.app.sdk.v1.OAuthProvider.token_response:type_name -> channel.app.sdk.v1.OAuthTokenResponseMapping + 268, // 60: channel.app.sdk.v1.OAuthProvider.i18n_map:type_name -> channel.app.sdk.v1.OAuthProvider.I18nMapEntry 36, // 61: channel.app.sdk.v1.OAuthConfig.oauth_provider:type_name -> channel.app.sdk.v1.OAuthProvider 44, // 62: channel.app.sdk.v1.CalendarBooking.attendee:type_name -> channel.app.sdk.v1.CalendarAttendee 41, // 63: channel.app.sdk.v1.CalendarListCalendarsOutput.calendars:type_name -> channel.app.sdk.v1.Calendar @@ -19653,31 +20094,31 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 43, // 65: channel.app.sdk.v1.CalendarGetAvailabilityOutput.slots:type_name -> channel.app.sdk.v1.CalendarTimeSlot 44, // 66: channel.app.sdk.v1.CalendarCreateBookingInput.attendee:type_name -> channel.app.sdk.v1.CalendarAttendee 45, // 67: channel.app.sdk.v1.CalendarCancelBookingOutput.booking:type_name -> channel.app.sdk.v1.CalendarBooking - 276, // 68: channel.app.sdk.v1.CommandChoice.value:type_name -> google.protobuf.Value - 265, // 69: channel.app.sdk.v1.CommandChoice.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry + 280, // 68: channel.app.sdk.v1.CommandChoice.value:type_name -> google.protobuf.Value + 269, // 69: channel.app.sdk.v1.CommandChoice.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry 59, // 70: channel.app.sdk.v1.CommandParamDefinition.choices:type_name -> channel.app.sdk.v1.CommandChoice - 266, // 71: channel.app.sdk.v1.CommandParamDefinition.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry - 267, // 72: channel.app.sdk.v1.CommandConfig.button_name_i18n_map:type_name -> channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry - 268, // 73: channel.app.sdk.v1.CommandConfig.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry + 270, // 71: channel.app.sdk.v1.CommandParamDefinition.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry + 271, // 72: channel.app.sdk.v1.CommandConfig.button_name_i18n_map:type_name -> channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry + 272, // 73: channel.app.sdk.v1.CommandConfig.name_desc_i18n_map:type_name -> channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry 60, // 74: channel.app.sdk.v1.CommandConfig.param_definitions:type_name -> channel.app.sdk.v1.CommandParamDefinition 61, // 75: channel.app.sdk.v1.CommandGetCommandsOutput.commands:type_name -> channel.app.sdk.v1.CommandConfig - 269, // 76: channel.app.sdk.v1.CommandTrigger.attributes:type_name -> channel.app.sdk.v1.CommandTrigger.AttributesEntry - 276, // 77: channel.app.sdk.v1.CommandAutoCompleteArgument.value:type_name -> google.protobuf.Value + 273, // 76: channel.app.sdk.v1.CommandTrigger.attributes:type_name -> channel.app.sdk.v1.CommandTrigger.AttributesEntry + 280, // 77: channel.app.sdk.v1.CommandAutoCompleteArgument.value:type_name -> google.protobuf.Value 1, // 78: channel.app.sdk.v1.CommandGetSuggestionsInput.chat:type_name -> channel.app.sdk.v1.ExtensionChat 65, // 79: channel.app.sdk.v1.CommandGetSuggestionsInput.input:type_name -> channel.app.sdk.v1.CommandAutoCompleteArgument 59, // 80: channel.app.sdk.v1.CommandGetSuggestionsOutput.choices:type_name -> channel.app.sdk.v1.CommandChoice 1, // 81: channel.app.sdk.v1.CommandExecuteInput.chat:type_name -> channel.app.sdk.v1.ExtensionChat 64, // 82: channel.app.sdk.v1.CommandExecuteInput.trigger:type_name -> channel.app.sdk.v1.CommandTrigger - 275, // 83: channel.app.sdk.v1.CommandExecuteInput.input:type_name -> google.protobuf.Struct - 275, // 84: channel.app.sdk.v1.CommandResult.attributes:type_name -> google.protobuf.Struct - 270, // 85: channel.app.sdk.v1.WidgetConfig.default_name_desc_i18n_map:type_name -> channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry + 279, // 83: channel.app.sdk.v1.CommandExecuteInput.input:type_name -> google.protobuf.Struct + 279, // 84: channel.app.sdk.v1.CommandResult.attributes:type_name -> google.protobuf.Struct + 274, // 85: channel.app.sdk.v1.WidgetConfig.default_name_desc_i18n_map:type_name -> channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry 71, // 86: channel.app.sdk.v1.WidgetGetWidgetsOutput.widgets:type_name -> channel.app.sdk.v1.WidgetConfig 1, // 87: channel.app.sdk.v1.WidgetActionInput.chat:type_name -> channel.app.sdk.v1.ExtensionChat - 275, // 88: channel.app.sdk.v1.WidgetActionResult.attributes:type_name -> google.protobuf.Struct - 271, // 89: channel.app.sdk.v1.CustomTabConfig.name_i18n_map:type_name -> channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry + 279, // 88: channel.app.sdk.v1.WidgetActionResult.attributes:type_name -> google.protobuf.Struct + 275, // 89: channel.app.sdk.v1.CustomTabConfig.name_i18n_map:type_name -> channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry 77, // 90: channel.app.sdk.v1.CustomTabGetCustomTabsOutput.custom_tabs:type_name -> channel.app.sdk.v1.CustomTabConfig - 276, // 91: channel.app.sdk.v1.CustomTabActionInput.wam_args:type_name -> google.protobuf.Value - 275, // 92: channel.app.sdk.v1.CustomTabActionResult.attributes:type_name -> google.protobuf.Struct + 280, // 91: channel.app.sdk.v1.CustomTabActionInput.wam_args:type_name -> google.protobuf.Value + 279, // 92: channel.app.sdk.v1.CustomTabActionResult.attributes:type_name -> google.protobuf.Struct 82, // 93: channel.app.sdk.v1.HookConfig.webhook:type_name -> channel.app.sdk.v1.HookWebhookConfig 83, // 94: channel.app.sdk.v1.HookGetHooksOutput.hooks:type_name -> channel.app.sdk.v1.HookConfig 86, // 95: channel.app.sdk.v1.PollingGetPollersOutput.pollers:type_name -> channel.app.sdk.v1.PollingPoller @@ -19688,23 +20129,23 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 97, // 100: channel.app.sdk.v1.StoreProfileLocalizedContent.images:type_name -> channel.app.sdk.v1.StoreProfileImage 98, // 101: channel.app.sdk.v1.StoreProfileLocalizedContent.intro:type_name -> channel.app.sdk.v1.StoreProfileIntro 99, // 102: channel.app.sdk.v1.StoreProfileLocalizedContent.faqs:type_name -> channel.app.sdk.v1.StoreFaq - 272, // 103: channel.app.sdk.v1.StoreGetProfileOutput.i18n_map:type_name -> channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry - 275, // 104: channel.app.sdk.v1.NotebookCell.definition:type_name -> google.protobuf.Struct - 275, // 105: channel.app.sdk.v1.NotebookCell.presentation:type_name -> google.protobuf.Struct + 276, // 103: channel.app.sdk.v1.StoreGetProfileOutput.i18n_map:type_name -> channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry + 279, // 104: channel.app.sdk.v1.NotebookCell.definition:type_name -> google.protobuf.Struct + 279, // 105: channel.app.sdk.v1.NotebookCell.presentation:type_name -> google.protobuf.Struct 104, // 106: channel.app.sdk.v1.NotebookLayoutRow.columns:type_name -> channel.app.sdk.v1.NotebookLayoutColumn 105, // 107: channel.app.sdk.v1.NotebookTab.layout:type_name -> channel.app.sdk.v1.NotebookLayoutRow 103, // 108: channel.app.sdk.v1.NotebookPayload.cells:type_name -> channel.app.sdk.v1.NotebookCell 106, // 109: channel.app.sdk.v1.NotebookPayload.tabs:type_name -> channel.app.sdk.v1.NotebookTab 107, // 110: channel.app.sdk.v1.AppNotebook.notebook:type_name -> channel.app.sdk.v1.NotebookPayload 108, // 111: channel.app.sdk.v1.NotebookGetNotebooksOutput.notebooks:type_name -> channel.app.sdk.v1.AppNotebook - 251, // 112: channel.app.sdk.v1.DataSourceTable.permissions:type_name -> channel.app.sdk.v1.DataSourceManagerPermission + 255, // 112: channel.app.sdk.v1.DataSourceTable.permissions:type_name -> channel.app.sdk.v1.DataSourceManagerPermission 112, // 113: channel.app.sdk.v1.DataSourceTableDefinition.table:type_name -> channel.app.sdk.v1.DataSourceTable 113, // 114: channel.app.sdk.v1.DataSourceTableDefinition.columns:type_name -> channel.app.sdk.v1.DataSourceColumn 112, // 115: channel.app.sdk.v1.DataSourceTableListing.table:type_name -> channel.app.sdk.v1.DataSourceTable 111, // 116: channel.app.sdk.v1.DataSourceListCatalogsOutput.catalogs:type_name -> channel.app.sdk.v1.DataSourceCatalog 115, // 117: channel.app.sdk.v1.DataSourceListTablesOutput.tables:type_name -> channel.app.sdk.v1.DataSourceTableListing 114, // 118: channel.app.sdk.v1.DataSourceDescribeTableOutput.definition:type_name -> channel.app.sdk.v1.DataSourceTableDefinition - 275, // 119: channel.app.sdk.v1.DataSourceDescribeTableOutput.sample:type_name -> google.protobuf.Struct + 279, // 119: channel.app.sdk.v1.DataSourceDescribeTableOutput.sample:type_name -> google.protobuf.Struct 126, // 120: channel.app.sdk.v1.OrderItem.claimability:type_name -> channel.app.sdk.v1.OrderClaimability 131, // 121: channel.app.sdk.v1.OrderFulfillment.items:type_name -> channel.app.sdk.v1.OrderFulfillmentItem 132, // 122: channel.app.sdk.v1.OrderShippingLine.tax_lines:type_name -> channel.app.sdk.v1.OrderTaxLine @@ -19714,7 +20155,7 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 122, // 126: channel.app.sdk.v1.Order.shipping_address:type_name -> channel.app.sdk.v1.OrderAddress 127, // 127: channel.app.sdk.v1.Order.claims:type_name -> channel.app.sdk.v1.OrderClaim 138, // 128: channel.app.sdk.v1.OrderFieldConfig.allowed_values:type_name -> channel.app.sdk.v1.OrderAllowedValue - 273, // 129: channel.app.sdk.v1.OrderOperationOptions.field_configs:type_name -> channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry + 277, // 129: channel.app.sdk.v1.OrderOperationOptions.field_configs:type_name -> channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry 140, // 130: channel.app.sdk.v1.OrderAppCapabilities.get_orders_options:type_name -> channel.app.sdk.v1.OrderOperationOptions 140, // 131: channel.app.sdk.v1.OrderAppCapabilities.cancel_order_options:type_name -> channel.app.sdk.v1.OrderOperationOptions 140, // 132: channel.app.sdk.v1.OrderAppCapabilities.return_order_options:type_name -> channel.app.sdk.v1.OrderOperationOptions @@ -19743,7 +20184,7 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 133, // 155: channel.app.sdk.v1.CommerceOrderItem.custom_attributes:type_name -> channel.app.sdk.v1.OrderAttribute 132, // 156: channel.app.sdk.v1.CommerceOrderItem.tax_lines:type_name -> channel.app.sdk.v1.OrderTaxLine 157, // 157: channel.app.sdk.v1.CommerceOrderItem.bundle_items:type_name -> channel.app.sdk.v1.CommerceOrderBundleItem - 192, // 158: channel.app.sdk.v1.CommerceOrder.buyer:type_name -> channel.app.sdk.v1.Buyer + 196, // 158: channel.app.sdk.v1.CommerceOrder.buyer:type_name -> channel.app.sdk.v1.Buyer 156, // 159: channel.app.sdk.v1.CommerceOrder.items:type_name -> channel.app.sdk.v1.CommerceOrderItem 129, // 160: channel.app.sdk.v1.CommerceOrder.payment:type_name -> channel.app.sdk.v1.OrderPayment 130, // 161: channel.app.sdk.v1.CommerceOrder.fulfillments:type_name -> channel.app.sdk.v1.OrderFulfillment @@ -19755,7 +20196,7 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 135, // 167: channel.app.sdk.v1.CommerceOrder.transactions:type_name -> channel.app.sdk.v1.OrderTransaction 136, // 168: channel.app.sdk.v1.CommerceOrder.metafields:type_name -> channel.app.sdk.v1.OrderMetafield 155, // 169: channel.app.sdk.v1.CommerceGetOrdersInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 276, // 170: channel.app.sdk.v1.CommerceGetOrdersInput.search_filter:type_name -> google.protobuf.Value + 280, // 170: channel.app.sdk.v1.CommerceGetOrdersInput.search_filter:type_name -> google.protobuf.Value 158, // 171: channel.app.sdk.v1.CommerceGetOrdersOutput.orders:type_name -> channel.app.sdk.v1.CommerceOrder 140, // 172: channel.app.sdk.v1.CommerceAppCapabilities.get_orders_options:type_name -> channel.app.sdk.v1.OrderOperationOptions 140, // 173: channel.app.sdk.v1.CommerceAppCapabilities.request_cancel_order_options:type_name -> channel.app.sdk.v1.OrderOperationOptions @@ -19763,119 +20204,124 @@ var file_channel_app_sdk_v1_extension_proto_depIdxs = []int32{ 140, // 175: channel.app.sdk.v1.CommerceAppCapabilities.accept_return_order_options:type_name -> channel.app.sdk.v1.OrderOperationOptions 140, // 176: channel.app.sdk.v1.CommerceAppCapabilities.request_exchange_order_options:type_name -> channel.app.sdk.v1.OrderOperationOptions 140, // 177: channel.app.sdk.v1.CommerceAppCapabilities.change_shipping_address_options:type_name -> channel.app.sdk.v1.OrderOperationOptions - 161, // 178: channel.app.sdk.v1.CommerceGetAppConfigsOutput.app_capabilities:type_name -> channel.app.sdk.v1.CommerceAppCapabilities - 164, // 179: channel.app.sdk.v1.CommerceActionResult.result:type_name -> channel.app.sdk.v1.CommerceResultBody - 155, // 180: channel.app.sdk.v1.CommerceCancelOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 146, // 181: channel.app.sdk.v1.CommerceCancelOrderInput.cancel_items:type_name -> channel.app.sdk.v1.OrderClaimItem - 125, // 182: channel.app.sdk.v1.CommerceCancelOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason - 123, // 183: channel.app.sdk.v1.CommerceCancelOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount - 155, // 184: channel.app.sdk.v1.CommerceReturnOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 146, // 185: channel.app.sdk.v1.CommerceReturnOrderInput.return_items:type_name -> channel.app.sdk.v1.OrderClaimItem - 125, // 186: channel.app.sdk.v1.CommerceReturnOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason - 122, // 187: channel.app.sdk.v1.CommerceReturnOrderInput.pickup_address:type_name -> channel.app.sdk.v1.OrderAddress - 123, // 188: channel.app.sdk.v1.CommerceReturnOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount - 124, // 189: channel.app.sdk.v1.CommerceReturnOrderInput.defect_info:type_name -> channel.app.sdk.v1.OrderDefectInfo - 155, // 190: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 146, // 191: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.return_items:type_name -> channel.app.sdk.v1.OrderClaimItem - 125, // 192: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason - 123, // 193: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount - 155, // 194: channel.app.sdk.v1.CommerceExchangeOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 146, // 195: channel.app.sdk.v1.CommerceExchangeOrderInput.before_exchange_items:type_name -> channel.app.sdk.v1.OrderClaimItem - 149, // 196: channel.app.sdk.v1.CommerceExchangeOrderInput.after_exchange_items:type_name -> channel.app.sdk.v1.OrderExchangeItem - 125, // 197: channel.app.sdk.v1.CommerceExchangeOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason - 122, // 198: channel.app.sdk.v1.CommerceExchangeOrderInput.pickup_address:type_name -> channel.app.sdk.v1.OrderAddress - 123, // 199: channel.app.sdk.v1.CommerceExchangeOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount - 124, // 200: channel.app.sdk.v1.CommerceExchangeOrderInput.defect_info:type_name -> channel.app.sdk.v1.OrderDefectInfo - 155, // 201: channel.app.sdk.v1.CommerceGetExchangeableItemsInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 146, // 202: channel.app.sdk.v1.CommerceGetExchangeableItemsInput.items:type_name -> channel.app.sdk.v1.OrderClaimItem - 172, // 203: channel.app.sdk.v1.CommerceGetExchangeableItemsOutput.exchangeable_items:type_name -> channel.app.sdk.v1.CommerceExchangeableItem - 173, // 204: channel.app.sdk.v1.CommerceExchangeableItem.variants:type_name -> channel.app.sdk.v1.CommerceExchangeableVariant - 174, // 205: channel.app.sdk.v1.CommerceExchangeableVariant.options:type_name -> channel.app.sdk.v1.CommerceVariantOption - 155, // 206: channel.app.sdk.v1.CommerceChangeShippingAddressInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier - 122, // 207: channel.app.sdk.v1.CommerceChangeShippingAddressInput.new_address:type_name -> channel.app.sdk.v1.OrderAddress - 176, // 208: channel.app.sdk.v1.WmsOrderItem.shipping_info:type_name -> channel.app.sdk.v1.WmsShippingInfo - 178, // 209: channel.app.sdk.v1.WmsOrder.items:type_name -> channel.app.sdk.v1.WmsOrderItem - 177, // 210: channel.app.sdk.v1.WmsOrder.deliveries:type_name -> channel.app.sdk.v1.WmsDelivery - 179, // 211: channel.app.sdk.v1.WmsGetOrdersResult.orders:type_name -> channel.app.sdk.v1.WmsOrder - 179, // 212: channel.app.sdk.v1.WmsGetOrderResult.order:type_name -> channel.app.sdk.v1.WmsOrder - 276, // 213: channel.app.sdk.v1.WmsGetShopIDResult.shop_id:type_name -> google.protobuf.Value - 192, // 214: channel.app.sdk.v1.WmsOrderV2.buyer:type_name -> channel.app.sdk.v1.Buyer - 194, // 215: channel.app.sdk.v1.WmsOrderV2.items:type_name -> channel.app.sdk.v1.WmsOrderItemV2 - 193, // 216: channel.app.sdk.v1.WmsOrderV2.deliveries:type_name -> channel.app.sdk.v1.WmsDeliveryV2 - 196, // 217: channel.app.sdk.v1.WmsOrderGetOrdersRequest.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier - 276, // 218: channel.app.sdk.v1.WmsOrderGetOrdersRequest.search_filter:type_name -> google.protobuf.Value - 195, // 219: channel.app.sdk.v1.WmsOrderGetOrdersResult.orders:type_name -> channel.app.sdk.v1.WmsOrderV2 - 196, // 220: channel.app.sdk.v1.WmsOrderActionRequest.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier - 196, // 221: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier - 122, // 222: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput.new_address:type_name -> channel.app.sdk.v1.OrderAddress - 201, // 223: channel.app.sdk.v1.WmsOrderActionResult.result:type_name -> channel.app.sdk.v1.WmsOrderResultBody - 138, // 224: channel.app.sdk.v1.WmsFieldConfig.allowed_values:type_name -> channel.app.sdk.v1.OrderAllowedValue - 274, // 225: channel.app.sdk.v1.WmsOperationOptions.field_configs:type_name -> channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry - 204, // 226: channel.app.sdk.v1.WmsAppCapabilities.get_orders_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 227: channel.app.sdk.v1.WmsAppCapabilities.request_cancel_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 228: channel.app.sdk.v1.WmsAppCapabilities.restore_canceled_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 229: channel.app.sdk.v1.WmsAppCapabilities.request_return_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 230: channel.app.sdk.v1.WmsAppCapabilities.restore_returned_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 231: channel.app.sdk.v1.WmsAppCapabilities.request_exchange_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 232: channel.app.sdk.v1.WmsAppCapabilities.restore_exchanged_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 204, // 233: channel.app.sdk.v1.WmsAppCapabilities.change_shipping_address_options:type_name -> channel.app.sdk.v1.WmsOperationOptions - 205, // 234: channel.app.sdk.v1.WmsGetAppConfigsOutput.app_capabilities:type_name -> channel.app.sdk.v1.WmsAppCapabilities - 277, // 235: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat - 278, // 236: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput.message:type_name -> channel.app.sdk.v1.ChannelMessage - 209, // 237: channel.app.sdk.v1.MessagingOnMediumMessageCreatedOutput.send_result:type_name -> channel.app.sdk.v1.MessagingSendResult - 277, // 238: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat - 277, // 239: channel.app.sdk.v1.MessagingInboxGetWritingTypesInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat - 279, // 240: channel.app.sdk.v1.MessagingInboxGetWritingTypesOutput.writing_type_map:type_name -> channel.app.sdk.v1.WritingTypeMap - 280, // 241: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.user:type_name -> channel.app.sdk.v1.ChannelUser - 277, // 242: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat - 278, // 243: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.message:type_name -> channel.app.sdk.v1.ChannelMessage - 280, // 244: channel.app.sdk.v1.MessagingInboxGetMediumTopicSelectorWamInput.user:type_name -> channel.app.sdk.v1.ChannelUser - 277, // 245: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat - 278, // 246: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput.message:type_name -> channel.app.sdk.v1.ChannelMessage - 279, // 247: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesOutput.writing_type_map:type_name -> channel.app.sdk.v1.WritingTypeMap - 281, // 248: channel.app.sdk.v1.MessagingPrebuiltValidateEntityInput.message:type_name -> channel.app.sdk.v1.PrebuiltMessage - 282, // 249: channel.app.sdk.v1.MessagingPrebuiltValidateEntityOutput.reasons:type_name -> channel.app.sdk.v1.UnavailableReason - 281, // 250: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput.message:type_name -> channel.app.sdk.v1.PrebuiltMessage - 275, // 251: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput.trigger_event_name_i18n_map:type_name -> google.protobuf.Struct - 280, // 252: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsInput.user:type_name -> channel.app.sdk.v1.ChannelUser - 283, // 253: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsOutput.medium_profile:type_name -> channel.app.sdk.v1.MediumProfile - 275, // 254: channel.app.sdk.v1.MessagingDefaultOptions.campaign_user_query:type_name -> google.protobuf.Struct - 275, // 255: channel.app.sdk.v1.MessagingDefaultOptions.one_time_msg_user_query:type_name -> google.protobuf.Struct - 228, // 256: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsOutput.default_options:type_name -> channel.app.sdk.v1.MessagingDefaultOptions - 275, // 257: channel.app.sdk.v1.AlfTaskWorkflowNode.config:type_name -> google.protobuf.Struct - 230, // 258: channel.app.sdk.v1.AlfTaskPredefinedTask.memory_schema:type_name -> channel.app.sdk.v1.AlfTaskMemoryDefinition - 231, // 259: channel.app.sdk.v1.AlfTaskPredefinedTask.nodes:type_name -> channel.app.sdk.v1.AlfTaskWorkflowNode - 232, // 260: channel.app.sdk.v1.AlfTaskGetTasksOutput.predefined_tasks:type_name -> channel.app.sdk.v1.AlfTaskPredefinedTask - 237, // 261: channel.app.sdk.v1.PollingGetTargetManagersOutput.targets:type_name -> channel.app.sdk.v1.PollingManagerTarget - 240, // 262: channel.app.sdk.v1.DataSourceAuthorizeQueryInput.tables:type_name -> channel.app.sdk.v1.DataSourceQueryTableAccess - 241, // 263: channel.app.sdk.v1.DataSourceAuthorizeQueryOutput.filters:type_name -> channel.app.sdk.v1.DataSourceQueryFilter - 247, // 264: channel.app.sdk.v1.HookTeamChatMessageCreatedInput.writer:type_name -> channel.app.sdk.v1.HookTeamChatMessageCreatedWriter - 248, // 265: channel.app.sdk.v1.HookTeamChatMessageCreatedInput.links:type_name -> channel.app.sdk.v1.HookTeamChatMessageCreatedLink - 10, // 266: channel.app.sdk.v1.ConfigChoice.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 267: channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 268: channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 269: channel.app.sdk.v1.ConfigOverview.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 270: channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 271: channel.app.sdk.v1.ConfigSettings.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 272: channel.app.sdk.v1.ConfigField.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 273: channel.app.sdk.v1.ConfigBlock.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 274: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 10, // 275: channel.app.sdk.v1.ConfigValidationError.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText - 35, // 276: channel.app.sdk.v1.OAuthProvider.I18nMapEntry.value:type_name -> channel.app.sdk.v1.OAuthProviderLocalizedText - 57, // 277: channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameDescI18n - 58, // 278: channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandParamDefI18n - 56, // 279: channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameI18n - 57, // 280: channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameDescI18n - 70, // 281: channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.WidgetNameDescI18n - 76, // 282: channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry.value:type_name -> channel.app.sdk.v1.CustomTabNameI18n - 100, // 283: channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry.value:type_name -> channel.app.sdk.v1.StoreProfileLocalizedContent - 139, // 284: channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry.value:type_name -> channel.app.sdk.v1.OrderFieldConfig - 203, // 285: channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry.value:type_name -> channel.app.sdk.v1.WmsFieldConfig - 286, // [286:286] is the sub-list for method output_type - 286, // [286:286] is the sub-list for method input_type - 286, // [286:286] is the sub-list for extension type_name - 286, // [286:286] is the sub-list for extension extendee - 0, // [0:286] is the sub-list for field type_name + 140, // 178: channel.app.sdk.v1.CommerceAppCapabilities.get_products_options:type_name -> channel.app.sdk.v1.OrderOperationOptions + 161, // 179: channel.app.sdk.v1.CommerceGetAppConfigsOutput.app_capabilities:type_name -> channel.app.sdk.v1.CommerceAppCapabilities + 164, // 180: channel.app.sdk.v1.CommerceActionResult.result:type_name -> channel.app.sdk.v1.CommerceResultBody + 155, // 181: channel.app.sdk.v1.CommerceCancelOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 146, // 182: channel.app.sdk.v1.CommerceCancelOrderInput.cancel_items:type_name -> channel.app.sdk.v1.OrderClaimItem + 125, // 183: channel.app.sdk.v1.CommerceCancelOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason + 123, // 184: channel.app.sdk.v1.CommerceCancelOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount + 155, // 185: channel.app.sdk.v1.CommerceReturnOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 146, // 186: channel.app.sdk.v1.CommerceReturnOrderInput.return_items:type_name -> channel.app.sdk.v1.OrderClaimItem + 125, // 187: channel.app.sdk.v1.CommerceReturnOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason + 122, // 188: channel.app.sdk.v1.CommerceReturnOrderInput.pickup_address:type_name -> channel.app.sdk.v1.OrderAddress + 123, // 189: channel.app.sdk.v1.CommerceReturnOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount + 124, // 190: channel.app.sdk.v1.CommerceReturnOrderInput.defect_info:type_name -> channel.app.sdk.v1.OrderDefectInfo + 155, // 191: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 146, // 192: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.return_items:type_name -> channel.app.sdk.v1.OrderClaimItem + 125, // 193: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason + 123, // 194: channel.app.sdk.v1.CommerceAcceptReturnOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount + 155, // 195: channel.app.sdk.v1.CommerceExchangeOrderInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 146, // 196: channel.app.sdk.v1.CommerceExchangeOrderInput.before_exchange_items:type_name -> channel.app.sdk.v1.OrderClaimItem + 149, // 197: channel.app.sdk.v1.CommerceExchangeOrderInput.after_exchange_items:type_name -> channel.app.sdk.v1.OrderExchangeItem + 125, // 198: channel.app.sdk.v1.CommerceExchangeOrderInput.reason:type_name -> channel.app.sdk.v1.OrderClaimReason + 122, // 199: channel.app.sdk.v1.CommerceExchangeOrderInput.pickup_address:type_name -> channel.app.sdk.v1.OrderAddress + 123, // 200: channel.app.sdk.v1.CommerceExchangeOrderInput.refund_bank_account:type_name -> channel.app.sdk.v1.OrderBankAccount + 124, // 201: channel.app.sdk.v1.CommerceExchangeOrderInput.defect_info:type_name -> channel.app.sdk.v1.OrderDefectInfo + 155, // 202: channel.app.sdk.v1.CommerceGetExchangeableItemsInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 146, // 203: channel.app.sdk.v1.CommerceGetExchangeableItemsInput.items:type_name -> channel.app.sdk.v1.OrderClaimItem + 172, // 204: channel.app.sdk.v1.CommerceGetExchangeableItemsOutput.exchangeable_items:type_name -> channel.app.sdk.v1.CommerceExchangeableItem + 173, // 205: channel.app.sdk.v1.CommerceExchangeableItem.variants:type_name -> channel.app.sdk.v1.CommerceExchangeableVariant + 174, // 206: channel.app.sdk.v1.CommerceExchangeableVariant.options:type_name -> channel.app.sdk.v1.CommerceVariantOption + 155, // 207: channel.app.sdk.v1.CommerceChangeShippingAddressInput.identifier:type_name -> channel.app.sdk.v1.CommerceIdentifier + 122, // 208: channel.app.sdk.v1.CommerceChangeShippingAddressInput.new_address:type_name -> channel.app.sdk.v1.OrderAddress + 280, // 209: channel.app.sdk.v1.CommerceGetProductsInput.search_filter:type_name -> google.protobuf.Value + 178, // 210: channel.app.sdk.v1.CommerceGetProductsOutput.products:type_name -> channel.app.sdk.v1.CommerceProduct + 179, // 211: channel.app.sdk.v1.CommerceProduct.variants:type_name -> channel.app.sdk.v1.CommerceProductVariant + 174, // 212: channel.app.sdk.v1.CommerceProductVariant.options:type_name -> channel.app.sdk.v1.CommerceVariantOption + 180, // 213: channel.app.sdk.v1.WmsOrderItem.shipping_info:type_name -> channel.app.sdk.v1.WmsShippingInfo + 182, // 214: channel.app.sdk.v1.WmsOrder.items:type_name -> channel.app.sdk.v1.WmsOrderItem + 181, // 215: channel.app.sdk.v1.WmsOrder.deliveries:type_name -> channel.app.sdk.v1.WmsDelivery + 183, // 216: channel.app.sdk.v1.WmsGetOrdersResult.orders:type_name -> channel.app.sdk.v1.WmsOrder + 183, // 217: channel.app.sdk.v1.WmsGetOrderResult.order:type_name -> channel.app.sdk.v1.WmsOrder + 280, // 218: channel.app.sdk.v1.WmsGetShopIDResult.shop_id:type_name -> google.protobuf.Value + 196, // 219: channel.app.sdk.v1.WmsOrderV2.buyer:type_name -> channel.app.sdk.v1.Buyer + 198, // 220: channel.app.sdk.v1.WmsOrderV2.items:type_name -> channel.app.sdk.v1.WmsOrderItemV2 + 197, // 221: channel.app.sdk.v1.WmsOrderV2.deliveries:type_name -> channel.app.sdk.v1.WmsDeliveryV2 + 200, // 222: channel.app.sdk.v1.WmsOrderGetOrdersRequest.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier + 280, // 223: channel.app.sdk.v1.WmsOrderGetOrdersRequest.search_filter:type_name -> google.protobuf.Value + 199, // 224: channel.app.sdk.v1.WmsOrderGetOrdersResult.orders:type_name -> channel.app.sdk.v1.WmsOrderV2 + 200, // 225: channel.app.sdk.v1.WmsOrderActionRequest.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier + 200, // 226: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput.identifier:type_name -> channel.app.sdk.v1.WmsIdentifier + 122, // 227: channel.app.sdk.v1.WmsOrderChangeShippingAddressInput.new_address:type_name -> channel.app.sdk.v1.OrderAddress + 205, // 228: channel.app.sdk.v1.WmsOrderActionResult.result:type_name -> channel.app.sdk.v1.WmsOrderResultBody + 138, // 229: channel.app.sdk.v1.WmsFieldConfig.allowed_values:type_name -> channel.app.sdk.v1.OrderAllowedValue + 278, // 230: channel.app.sdk.v1.WmsOperationOptions.field_configs:type_name -> channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry + 208, // 231: channel.app.sdk.v1.WmsAppCapabilities.get_orders_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 232: channel.app.sdk.v1.WmsAppCapabilities.request_cancel_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 233: channel.app.sdk.v1.WmsAppCapabilities.restore_canceled_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 234: channel.app.sdk.v1.WmsAppCapabilities.request_return_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 235: channel.app.sdk.v1.WmsAppCapabilities.restore_returned_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 236: channel.app.sdk.v1.WmsAppCapabilities.request_exchange_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 237: channel.app.sdk.v1.WmsAppCapabilities.restore_exchanged_order_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 208, // 238: channel.app.sdk.v1.WmsAppCapabilities.change_shipping_address_options:type_name -> channel.app.sdk.v1.WmsOperationOptions + 209, // 239: channel.app.sdk.v1.WmsGetAppConfigsOutput.app_capabilities:type_name -> channel.app.sdk.v1.WmsAppCapabilities + 281, // 240: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat + 282, // 241: channel.app.sdk.v1.MessagingOnMediumMessageCreatedInput.message:type_name -> channel.app.sdk.v1.ChannelMessage + 213, // 242: channel.app.sdk.v1.MessagingOnMediumMessageCreatedOutput.send_result:type_name -> channel.app.sdk.v1.MessagingSendResult + 281, // 243: channel.app.sdk.v1.MessagingInboxOnMediumUserChatClosedInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat + 281, // 244: channel.app.sdk.v1.MessagingInboxGetWritingTypesInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat + 283, // 245: channel.app.sdk.v1.MessagingInboxGetWritingTypesOutput.writing_type_map:type_name -> channel.app.sdk.v1.WritingTypeMap + 284, // 246: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.user:type_name -> channel.app.sdk.v1.ChannelUser + 281, // 247: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat + 282, // 248: channel.app.sdk.v1.MessagingInboxGetCustomEditorWamInput.message:type_name -> channel.app.sdk.v1.ChannelMessage + 284, // 249: channel.app.sdk.v1.MessagingInboxGetMediumTopicSelectorWamInput.user:type_name -> channel.app.sdk.v1.ChannelUser + 281, // 250: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput.user_chat:type_name -> channel.app.sdk.v1.ChannelUserChat + 282, // 251: channel.app.sdk.v1.MessagingInboxGetMediumMessageErrorReasonInput.message:type_name -> channel.app.sdk.v1.ChannelMessage + 283, // 252: channel.app.sdk.v1.MessagingPrebuiltGetWritingTypesOutput.writing_type_map:type_name -> channel.app.sdk.v1.WritingTypeMap + 285, // 253: channel.app.sdk.v1.MessagingPrebuiltValidateEntityInput.message:type_name -> channel.app.sdk.v1.PrebuiltMessage + 286, // 254: channel.app.sdk.v1.MessagingPrebuiltValidateEntityOutput.reasons:type_name -> channel.app.sdk.v1.UnavailableReason + 285, // 255: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput.message:type_name -> channel.app.sdk.v1.PrebuiltMessage + 279, // 256: channel.app.sdk.v1.MessagingPrebuiltGetCustomEditorWamInput.trigger_event_name_i18n_map:type_name -> google.protobuf.Struct + 284, // 257: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsInput.user:type_name -> channel.app.sdk.v1.ChannelUser + 287, // 258: channel.app.sdk.v1.MessagingPrebuiltBuildMediumTopicsOutput.medium_profile:type_name -> channel.app.sdk.v1.MediumProfile + 279, // 259: channel.app.sdk.v1.MessagingDefaultOptions.campaign_user_query:type_name -> google.protobuf.Struct + 279, // 260: channel.app.sdk.v1.MessagingDefaultOptions.one_time_msg_user_query:type_name -> google.protobuf.Struct + 232, // 261: channel.app.sdk.v1.MessagingPrebuiltGetDefaultOptionsOutput.default_options:type_name -> channel.app.sdk.v1.MessagingDefaultOptions + 279, // 262: channel.app.sdk.v1.AlfTaskWorkflowNode.config:type_name -> google.protobuf.Struct + 234, // 263: channel.app.sdk.v1.AlfTaskPredefinedTask.memory_schema:type_name -> channel.app.sdk.v1.AlfTaskMemoryDefinition + 235, // 264: channel.app.sdk.v1.AlfTaskPredefinedTask.nodes:type_name -> channel.app.sdk.v1.AlfTaskWorkflowNode + 236, // 265: channel.app.sdk.v1.AlfTaskGetTasksOutput.predefined_tasks:type_name -> channel.app.sdk.v1.AlfTaskPredefinedTask + 241, // 266: channel.app.sdk.v1.PollingGetTargetManagersOutput.targets:type_name -> channel.app.sdk.v1.PollingManagerTarget + 244, // 267: channel.app.sdk.v1.DataSourceAuthorizeQueryInput.tables:type_name -> channel.app.sdk.v1.DataSourceQueryTableAccess + 245, // 268: channel.app.sdk.v1.DataSourceAuthorizeQueryOutput.filters:type_name -> channel.app.sdk.v1.DataSourceQueryFilter + 251, // 269: channel.app.sdk.v1.HookTeamChatMessageCreatedInput.writer:type_name -> channel.app.sdk.v1.HookTeamChatMessageCreatedWriter + 252, // 270: channel.app.sdk.v1.HookTeamChatMessageCreatedInput.links:type_name -> channel.app.sdk.v1.HookTeamChatMessageCreatedLink + 10, // 271: channel.app.sdk.v1.ConfigChoice.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 272: channel.app.sdk.v1.ConfigInlineLink.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 273: channel.app.sdk.v1.ConfigValidationNotice.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 274: channel.app.sdk.v1.ConfigOverview.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 275: channel.app.sdk.v1.ConfigDefaultSelector.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 276: channel.app.sdk.v1.ConfigSettings.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 277: channel.app.sdk.v1.ConfigField.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 278: channel.app.sdk.v1.ConfigBlock.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 279: channel.app.sdk.v1.ConfigGetConfigSchemaOutput.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 10, // 280: channel.app.sdk.v1.ConfigValidationError.I18nMapEntry.value:type_name -> channel.app.sdk.v1.ConfigLocalizedText + 35, // 281: channel.app.sdk.v1.OAuthProvider.I18nMapEntry.value:type_name -> channel.app.sdk.v1.OAuthProviderLocalizedText + 57, // 282: channel.app.sdk.v1.CommandChoice.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameDescI18n + 58, // 283: channel.app.sdk.v1.CommandParamDefinition.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandParamDefI18n + 56, // 284: channel.app.sdk.v1.CommandConfig.ButtonNameI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameI18n + 57, // 285: channel.app.sdk.v1.CommandConfig.NameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.CommandNameDescI18n + 70, // 286: channel.app.sdk.v1.WidgetConfig.DefaultNameDescI18nMapEntry.value:type_name -> channel.app.sdk.v1.WidgetNameDescI18n + 76, // 287: channel.app.sdk.v1.CustomTabConfig.NameI18nMapEntry.value:type_name -> channel.app.sdk.v1.CustomTabNameI18n + 100, // 288: channel.app.sdk.v1.StoreGetProfileOutput.I18nMapEntry.value:type_name -> channel.app.sdk.v1.StoreProfileLocalizedContent + 139, // 289: channel.app.sdk.v1.OrderOperationOptions.FieldConfigsEntry.value:type_name -> channel.app.sdk.v1.OrderFieldConfig + 207, // 290: channel.app.sdk.v1.WmsOperationOptions.FieldConfigsEntry.value:type_name -> channel.app.sdk.v1.WmsFieldConfig + 291, // [291:291] is the sub-list for method output_type + 291, // [291:291] is the sub-list for method input_type + 291, // [291:291] is the sub-list for extension type_name + 291, // [291:291] is the sub-list for extension extendee + 0, // [0:291] is the sub-list for field type_name } func init() { file_channel_app_sdk_v1_extension_proto_init() } @@ -19897,17 +20343,19 @@ func file_channel_app_sdk_v1_extension_proto_init() { file_channel_app_sdk_v1_extension_proto_msgTypes[158].OneofWrappers = []any{} file_channel_app_sdk_v1_extension_proto_msgTypes[164].OneofWrappers = []any{} file_channel_app_sdk_v1_extension_proto_msgTypes[173].OneofWrappers = []any{} - file_channel_app_sdk_v1_extension_proto_msgTypes[209].OneofWrappers = []any{} - file_channel_app_sdk_v1_extension_proto_msgTypes[245].OneofWrappers = []any{} - file_channel_app_sdk_v1_extension_proto_msgTypes[248].OneofWrappers = []any{} + file_channel_app_sdk_v1_extension_proto_msgTypes[178].OneofWrappers = []any{} + file_channel_app_sdk_v1_extension_proto_msgTypes[179].OneofWrappers = []any{} + file_channel_app_sdk_v1_extension_proto_msgTypes[213].OneofWrappers = []any{} file_channel_app_sdk_v1_extension_proto_msgTypes[249].OneofWrappers = []any{} + file_channel_app_sdk_v1_extension_proto_msgTypes[252].OneofWrappers = []any{} + file_channel_app_sdk_v1_extension_proto_msgTypes[253].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_channel_app_sdk_v1_extension_proto_rawDesc), len(file_channel_app_sdk_v1_extension_proto_rawDesc)), NumEnums: 0, - NumMessages: 275, + NumMessages: 279, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/channel/app/sdk/v1/extension.proto b/proto/channel/app/sdk/v1/extension.proto index 2b4f4721..9001a479 100644 --- a/proto/channel/app/sdk/v1/extension.proto +++ b/proto/channel/app/sdk/v1/extension.proto @@ -1316,6 +1316,12 @@ message CommerceAppCapabilities { OrderOperationOptions accept_return_order_options = 4; OrderOperationOptions request_exchange_order_options = 5; OrderOperationOptions change_shipping_address_options = 6; + // 다른 *_options 와 같은 어휘다: required / optional 에는 getProducts 의 입력 필드명 + // (searchFilter·since·limit)을 적고, 앱이 받는 searchFilter 키는 field_configs["searchFilter.key"] + // 한 항목에 type=enum·allowed_values 로 나열한다(getOrders 와 같은 방식). searchFilter 는 + // 자유 형식이라 호출자가 지원 키를 기계적으로 알 길은 이것뿐이다. 필터 없이 불러도 첫 페이지를 + // 돌려주므로 required 는 비운다. + OrderOperationOptions get_products_options = 7; } message CommerceGetAppConfigsInput {} @@ -1429,6 +1435,69 @@ message CommerceChangeShippingAddressInput { OrderAddress new_address = 3; } +// --- product group: 카탈로그 열람·ID 조회. 이름 검색은 받지 않는다 --- + +message CommerceGetProductsInput { + // getOrders 와 같은 필터 표현. 안쪽 키는 protojson 이 변환하지 않는 데이터라 camelCase 그대로다 — + // 공통 키는 productId(복수 id 조회 포함 — 커머스 필터 방언에서 any-of 는 $eq 에 복수 values 다)· + // state·createdAt 이고, 광고하지 않은 키는 앱이 BadRequest 로 거부한다. + // name 키는 없다 — 이름 검색은 이 함수의 몫이 아니다. + google.protobuf.Value search_filter = 1; + // 이전 응답의 next 를 그대로 돌려주는 커서. + string since = 2; + // 한 페이지 크기. 앱이 기본값(10)과 상한(50)을 둔다. + int32 limit = 3; +} + +message CommerceGetProductsOutput { + repeated CommerceProduct products = 1; + string next = 2; +} + +message CommerceProduct { + // 상품 id. getOrders 의 items[].product_id 와 같은 값이라 주문 아이템에서 상품으로 이어 갈 수 있다. + string id = 1; + string name = 2; + // 판매가. 0 원 상품(사은품)이 정상이라 presence 가 필요하다. + optional double price = 3; + // 정가. 판매가와 같으면 비워도 된다. + optional double original_price = 4; + string currency = 5; + // active / inactive. 판단할 수 없으면 비운다 — 기본값으로 active 를 넣지 않는다. + string state = 6; + // 대표 이미지. + string image_url = 7; + // 상품 이미지 전체. 대표 이미지도 포함한다. + repeated string images = 8; + // 몰 상품 페이지 주소. + string product_url = 9; + string description = 10; + string summary = 11; + string vendor = 12; + string product_type = 13; + // 카테고리 이름 목록. + repeated string categories = 14; + repeated string tags = 15; + // 몰에서 상품이 만들어진 시각(epoch ms). searchFilter 의 createdAt 도 이 축이다. + double created_at = 16; + // epoch ms. 몰의 수정 시각이 아니라 앱이 상품을 저장한 시각일 수 있다. + double updated_at = 17; + repeated CommerceProductVariant variants = 18; +} + +message CommerceProductVariant { + // variant id. getOrders 의 items[].variant_id, requestExchangeOrder 의 + // after_exchange_items.variant_id 와 같은 값이다. + string id = 1; + // variant 의 절대 판매가. CommerceExchangeableVariant.additional_amount(원래 아이템 대비 추가금)와 + // 의도적으로 다르다 — 카탈로그 소비자가 원하는 값도, 앱이 들고 있는 값도 절대가다. + // 0 원이 정상 값이라 presence 가 필요하다. + optional double price = 2; + // 재고 수량. 재고를 관리하지 않으면 비운다 — 0(품절)과 미제공을 구별해야 해서 optional 이다. + optional double stock_quantity = 3; + repeated CommerceVariantOption options = 4; +} + message WmsShippingInfo { string name = 1; string first_name = 2; diff --git a/ts/.changeset/commerce-product-group.md b/ts/.changeset/commerce-product-group.md new file mode 100644 index 00000000..f662f651 --- /dev/null +++ b/ts/.changeset/commerce-product-group.md @@ -0,0 +1,37 @@ +--- +"@channel.io/app-sdk-core": minor +--- + +Add a `product` group to the commerce extension with one function, +`extension.commerce.product.getProducts`, so an app can expose its product catalog through the +same contract surface as orders. Until now the extension only had `core` and `order` groups, and +there was no standard place to list products or look one up by id. + +The function is a catalog read, not a search: `searchFilter` accepts `productId` (a single id or +several — in the commerce filter dialect any-of is `$eq` with several `values`), `state`, and +`createdAt`, and an app rejects any key it has not advertised. It does not take a `name` key. `since` and `limit` follow `getOrders`, and the output is `{ products, next }`. + +`CommerceProduct` carries `id` (the same value as `items[].productId` on an order), `name`, +`price`, and optional `originalPrice`, `currency`, `state` (`active` / `inactive`, left unset when +unknown), `imageUrl`, `images` (every image, the representative one included), `productUrl`, +`description`, `summary`, `vendor`, `productType`, `categories`, `tags`, `createdAt`, `updatedAt`, +and `variants`. `createdAt` is when the mall created the product; `updatedAt` may be the time the +app stored the product rather than the time the mall changed it. A variant's `id` is the same value +as `items[].variantId` on an order and `afterExchangeItems[].variantId` on an exchange request. + +`CommerceProductVariant.price` is the variant's absolute selling price. This is deliberately +different from `CommerceExchangeableVariant.additionalAmount`, which is the surcharge relative to +the original item. `stockQuantity` is left unset when the variant does not track inventory, so `0` +(sold out) stays distinguishable from unknown. `price` fields have presence so a zero price is +emitted, matching the other commerce amount fields — in Go they are `*float64`, so an app sets them +through a pointer. + +`state` is a closed set. A mall-specific state such as a draft has to be mapped to one of the two +values by the app, and a TypeScript app validating its output against the schema fails on any other +value. + +`CommerceAppCapabilities` gains `getProductsOptions`. It follows the other `*Options`: `optional` +lists the function's input fields (`searchFilter`, `since`, `limit`), and the `searchFilter` keys the +app accepts are advertised as the enum `allowedValues` of `fieldConfigs["searchFilter.key"]`, the +same way `getOrdersOptions` does it. `required` stays empty because calling without a filter returns +the first page of the catalog. diff --git a/ts/packages/core/src/__tests__/extensions/function-schema-parity.test.ts b/ts/packages/core/src/__tests__/extensions/function-schema-parity.test.ts index 343a7695..2515d4ae 100644 --- a/ts/packages/core/src/__tests__/extensions/function-schema-parity.test.ts +++ b/ts/packages/core/src/__tests__/extensions/function-schema-parity.test.ts @@ -26,7 +26,7 @@ describe("extension function schema parity fixture", () => { const names = extensionFunctionSchemaDefinitions.map((definition) => definition.name); const uniqueNames = new Set(names); - expect(names).toHaveLength(78); + expect(names).toHaveLength(79); expect(uniqueNames.size).toBe(names.length); expect([...names].sort()).toEqual(names); }); @@ -41,7 +41,7 @@ describe("extension function schema parity fixture", () => { alfTask: 1, apikey: 2, calendar: 6, - commerce: 8, + commerce: 9, command: 3, config: 2, customtab: 2, diff --git a/ts/packages/core/src/__tests__/extensions/proto-field-parity.test.ts b/ts/packages/core/src/__tests__/extensions/proto-field-parity.test.ts index ae4ee5bd..9d4a034a 100644 --- a/ts/packages/core/src/__tests__/extensions/proto-field-parity.test.ts +++ b/ts/packages/core/src/__tests__/extensions/proto-field-parity.test.ts @@ -221,6 +221,10 @@ import { CommerceExchangeableVariantSchema, CommerceVariantOptionSchema, CommerceChangeShippingAddressInputSchema, + CommerceProductVariantSchema, + CommerceProductSchema, + CommerceGetProductsInputSchema, + CommerceGetProductsOutputSchema, } from "../../extensions/commerce.js"; type GeneratedFile = "common" | "extension"; @@ -681,6 +685,25 @@ const contracts: Contract[] = [ "extension", "CommerceChangeShippingAddressInput" ), + contract( + "CommerceProductVariant", + CommerceProductVariantSchema, + "extension", + "CommerceProductVariant" + ), + contract("CommerceProduct", CommerceProductSchema, "extension", "CommerceProduct"), + contract( + "CommerceGetProductsInput", + CommerceGetProductsInputSchema, + "extension", + "CommerceGetProductsInput" + ), + contract( + "CommerceGetProductsOutput", + CommerceGetProductsOutputSchema, + "extension", + "CommerceGetProductsOutput" + ), contract("WmsShippingInfo", WmsShippingInfoSchema, "extension", "WmsShippingInfo"), contract("WmsDelivery", WmsDeliverySchema, "extension", "WmsDelivery"), contract("WmsOrderItem", WmsOrderItemSchema, "extension", "WmsOrderItem"), diff --git a/ts/packages/core/src/extensions/commerce.ts b/ts/packages/core/src/extensions/commerce.ts index 1b1cd7b5..e81b4bd9 100644 --- a/ts/packages/core/src/extensions/commerce.ts +++ b/ts/packages/core/src/extensions/commerce.ts @@ -14,6 +14,10 @@ import type { CommerceVariantOption as ProtoCommerceVariantOption, CommerceGetOrdersInput as ProtoCommerceGetOrdersInput, CommerceGetOrdersOutput as ProtoCommerceGetOrdersOutput, + CommerceGetProductsInput as ProtoCommerceGetProductsInput, + CommerceGetProductsOutput as ProtoCommerceGetProductsOutput, + CommerceProduct as ProtoCommerceProduct, + CommerceProductVariant as ProtoCommerceProductVariant, CommerceIdentifier as ProtoCommerceIdentifier, CommerceOrder as ProtoCommerceOrder, CommerceOrderItem as ProtoCommerceOrderItem, @@ -199,6 +203,11 @@ export const CommerceAppCapabilitiesSchema = z.object({ acceptReturnOrderOptions: OperationOptionsSchema.optional(), requestExchangeOrderOptions: OperationOptionsSchema.optional(), changeShippingAddressOptions: OperationOptionsSchema.optional(), + // 다른 *Options 와 같은 어휘다: required / optional 에는 getProducts 입력 필드명 + // (searchFilter·since·limit)을, 앱이 받는 searchFilter 키는 fieldConfigs["searchFilter.key"] 한 항목에 + // enum allowedValues 로 나열한다(getOrders 와 같은 방식). 필터 없이 불러도 첫 페이지를 돌려주므로 + // required 는 비운다. + getProductsOptions: OperationOptionsSchema.optional(), }); export type CommerceAppCapabilities = ProtoBacked< z.infer, @@ -346,3 +355,73 @@ export type CommerceChangeShippingAddressInput = ProtoBacked< z.infer, ProtoCommerceChangeShippingAddressInput >; + +// --- product 그룹: 카탈로그 열람·ID 조회. 이름 검색은 받지 않는다 --- + +export const CommerceProductVariantSchema = z.object({ + // getOrders 의 items[].variantId, requestExchangeOrder 의 afterExchangeItems[].variantId 와 같은 값이다. + id: z.string(), + // variant 의 절대 판매가. CommerceExchangeableVariant.additionalAmount(추가금)와 뜻이 다르다. + price: z.number(), + // 재고를 관리하지 않으면 비운다 — 0(품절)과 미제공은 다른 뜻이다. + stockQuantity: z.number().optional(), + options: z.array(CommerceVariantOptionSchema).optional(), +}); +export type CommerceProductVariant = ProtoBacked< + z.infer, + ProtoCommerceProductVariant +>; + +export const CommerceProductSchema = z.object({ + // getOrders 의 items[].productId 와 같은 값이다. + id: z.string(), + name: z.string(), + price: z.number(), + originalPrice: z.number().optional(), + currency: z.string().optional(), + // 판단할 수 없으면 비운다 — 기본값으로 active 를 넣지 않는다. 닫힌 집합이라 몰 고유 상태(draft 등)는 + // 앱이 두 값으로 매핑한다. + state: z.enum(["active", "inactive"]).optional(), + imageUrl: z.string().optional(), + // 상품 이미지 전체. 대표 이미지도 포함한다. + images: z.array(z.string()).optional(), + productUrl: z.string().optional(), + description: z.string().optional(), + summary: z.string().optional(), + vendor: z.string().optional(), + productType: z.string().optional(), + // 카테고리 이름 목록. + categories: z.array(z.string()).optional(), + tags: z.array(z.string()).optional(), + // 몰에서 상품이 만들어진 시각(epoch ms). searchFilter 의 createdAt 도 이 축이다. + createdAt: z.number().optional(), + // epoch ms. 몰의 수정 시각이 아니라 앱이 상품을 저장한 시각일 수 있다. + updatedAt: z.number().optional(), + variants: z.array(CommerceProductVariantSchema).optional(), +}); +export type CommerceProduct = ProtoBacked< + z.infer, + ProtoCommerceProduct +>; + +export const CommerceGetProductsInputSchema = z.object({ + // 공통 키는 productId(복수 id 조회 포함 — any-of 는 $eq 에 복수 values)·state·createdAt. + // 광고하지 않은 키는 앱이 BadRequest 로 거부한다. + searchFilter: z.any().optional(), + since: z.string().optional(), + // 앱이 기본값(10)과 상한(50)을 둔다. + limit: z.number().int().optional(), +}); +export type CommerceGetProductsInput = ProtoBacked< + z.infer, + ProtoCommerceGetProductsInput +>; + +export const CommerceGetProductsOutputSchema = z.object({ + products: z.array(CommerceProductSchema).optional(), + next: z.string().optional(), +}); +export type CommerceGetProductsOutput = ProtoBacked< + z.infer, + ProtoCommerceGetProductsOutput +>; diff --git a/ts/packages/core/src/extensions/function-schemas.ts b/ts/packages/core/src/extensions/function-schemas.ts index ebeb68e8..834881af 100644 --- a/ts/packages/core/src/extensions/function-schemas.ts +++ b/ts/packages/core/src/extensions/function-schemas.ts @@ -76,6 +76,8 @@ import { CommerceGetExchangeableItemsOutputSchema, CommerceGetOrdersInputSchema, CommerceGetOrdersOutputSchema, + CommerceGetProductsInputSchema, + CommerceGetProductsOutputSchema, CommerceResultSchema, CommerceAcceptReturnOrderInputSchema, CommerceReturnOrderInputSchema, @@ -386,6 +388,11 @@ export const extensionFunctionSchemaDefinitions: FunctionSchemaDefinition[] = [ input: CommerceReturnOrderInputSchema, output: CommerceResultSchema, }, + { + name: "extension.commerce.product.getProducts", + input: CommerceGetProductsInputSchema, + output: CommerceGetProductsOutputSchema, + }, { name: "extension.config.metadata.getConfigSchema", input: EmptyInputSchema, diff --git a/ts/packages/core/src/extensions/index.ts b/ts/packages/core/src/extensions/index.ts index 2cd0491f..00a225ed 100644 --- a/ts/packages/core/src/extensions/index.ts +++ b/ts/packages/core/src/extensions/index.ts @@ -489,6 +489,10 @@ export { CommerceExchangeableVariantSchema, CommerceVariantOptionSchema, CommerceChangeShippingAddressInputSchema, + CommerceProductVariantSchema, + CommerceProductSchema, + CommerceGetProductsInputSchema, + CommerceGetProductsOutputSchema, type CommerceOrderItem, type CommerceOrder, type CommerceIdentifier, @@ -507,6 +511,10 @@ export { type CommerceExchangeableVariant, type CommerceVariantOption, type CommerceChangeShippingAddressInput, + type CommerceProductVariant, + type CommerceProduct, + type CommerceGetProductsInput, + type CommerceGetProductsOutput, } from "./commerce.js"; // Messaging Extension Schemas (v1) diff --git a/ts/packages/core/src/extensions/proto-contracts.ts b/ts/packages/core/src/extensions/proto-contracts.ts index d64723ac..26d590b4 100644 --- a/ts/packages/core/src/extensions/proto-contracts.ts +++ b/ts/packages/core/src/extensions/proto-contracts.ts @@ -202,6 +202,10 @@ import type { CommerceGetExchangeableItemsInput as ProtoCommerceGetExchangeableItemsInput, CommerceGetExchangeableItemsOutput as ProtoCommerceGetExchangeableItemsOutput, CommerceChangeShippingAddressInput as ProtoCommerceChangeShippingAddressInput, + CommerceGetProductsInput as ProtoCommerceGetProductsInput, + CommerceGetProductsOutput as ProtoCommerceGetProductsOutput, + CommerceProduct as ProtoCommerceProduct, + CommerceProductVariant as ProtoCommerceProductVariant, OrderClaimItem as ProtoOrderClaimItem, OrderExchangeItem as ProtoOrderExchangeItem, } from "../gen/channel/app/sdk/v1/extension.js"; @@ -1002,6 +1006,27 @@ export type ExtensionProtoSchemaContracts = [ ProtoCommerceChangeShippingAddressInput > >, + Expect< + SchemaOutputExtendsProto< + typeof CommerceSchemas.CommerceProductVariantSchema, + ProtoCommerceProductVariant + > + >, + Expect< + SchemaOutputExtendsProto + >, + Expect< + SchemaOutputExtendsProto< + typeof CommerceSchemas.CommerceGetProductsInputSchema, + ProtoCommerceGetProductsInput + > + >, + Expect< + SchemaOutputExtendsProto< + typeof CommerceSchemas.CommerceGetProductsOutputSchema, + ProtoCommerceGetProductsOutput + > + >, Expect>, Expect< SchemaOutputExtendsProto diff --git a/ts/packages/core/src/gen/channel/app/sdk/v1/extension.ts b/ts/packages/core/src/gen/channel/app/sdk/v1/extension.ts index 4fe8c97a..ca0dabb1 100644 --- a/ts/packages/core/src/gen/channel/app/sdk/v1/extension.ts +++ b/ts/packages/core/src/gen/channel/app/sdk/v1/extension.ts @@ -1535,7 +1535,17 @@ export interface CommerceAppCapabilities { requestReturnOrderOptions?: OrderOperationOptions | undefined; acceptReturnOrderOptions?: OrderOperationOptions | undefined; requestExchangeOrderOptions?: OrderOperationOptions | undefined; - changeShippingAddressOptions?: OrderOperationOptions | undefined; + changeShippingAddressOptions?: + | OrderOperationOptions + | undefined; + /** + * 다른 *_options 와 같은 어휘다: required / optional 에는 getProducts 의 입력 필드명 + * (searchFilter·since·limit)을 적고, 앱이 받는 searchFilter 키는 field_configs["searchFilter.key"] + * 한 항목에 type=enum·allowed_values 로 나열한다(getOrders 와 같은 방식). searchFilter 는 + * 자유 형식이라 호출자가 지원 키를 기계적으로 알 길은 이것뿐이다. 필터 없이 불러도 첫 페이지를 + * 돌려주므로 required 는 비운다. + */ + getProductsOptions?: OrderOperationOptions | undefined; } export interface CommerceGetAppConfigsInput { @@ -1670,6 +1680,99 @@ export interface CommerceChangeShippingAddressInput { newAddress?: OrderAddress | undefined; } +export interface CommerceGetProductsInput { + /** + * getOrders 와 같은 필터 표현. 안쪽 키는 protojson 이 변환하지 않는 데이터라 camelCase 그대로다 — + * 공통 키는 productId(복수 id 조회 포함 — 커머스 필터 방언에서 any-of 는 $eq 에 복수 values 다)· + * state·createdAt 이고, 광고하지 않은 키는 앱이 BadRequest 로 거부한다. + * name 키는 없다 — 이름 검색은 이 함수의 몫이 아니다. + */ + searchFilter?: + | any + | undefined; + /** 이전 응답의 next 를 그대로 돌려주는 커서. */ + since?: + | string + | undefined; + /** 한 페이지 크기. 앱이 기본값(10)과 상한(50)을 둔다. */ + limit?: number | undefined; +} + +export interface CommerceGetProductsOutput { + products?: CommerceProduct[] | undefined; + next?: string | undefined; +} + +export interface CommerceProduct { + /** 상품 id. getOrders 의 items[].product_id 와 같은 값이라 주문 아이템에서 상품으로 이어 갈 수 있다. */ + id?: string | undefined; + name?: + | string + | undefined; + /** 판매가. 0 원 상품(사은품)이 정상이라 presence 가 필요하다. */ + price?: + | number + | undefined; + /** 정가. 판매가와 같으면 비워도 된다. */ + originalPrice?: number | undefined; + currency?: + | string + | undefined; + /** active / inactive. 판단할 수 없으면 비운다 — 기본값으로 active 를 넣지 않는다. */ + state?: + | string + | undefined; + /** 대표 이미지. */ + imageUrl?: + | string + | undefined; + /** 상품 이미지 전체. 대표 이미지도 포함한다. */ + images?: + | string[] + | undefined; + /** 몰 상품 페이지 주소. */ + productUrl?: string | undefined; + description?: string | undefined; + summary?: string | undefined; + vendor?: string | undefined; + productType?: + | string + | undefined; + /** 카테고리 이름 목록. */ + categories?: string[] | undefined; + tags?: + | string[] + | undefined; + /** 몰에서 상품이 만들어진 시각(epoch ms). searchFilter 의 createdAt 도 이 축이다. */ + createdAt?: + | number + | undefined; + /** epoch ms. 몰의 수정 시각이 아니라 앱이 상품을 저장한 시각일 수 있다. */ + updatedAt?: number | undefined; + variants?: CommerceProductVariant[] | undefined; +} + +export interface CommerceProductVariant { + /** + * variant id. getOrders 의 items[].variant_id, requestExchangeOrder 의 + * after_exchange_items.variant_id 와 같은 값이다. + */ + id?: + | string + | undefined; + /** + * variant 의 절대 판매가. CommerceExchangeableVariant.additional_amount(원래 아이템 대비 추가금)와 + * 의도적으로 다르다 — 카탈로그 소비자가 원하는 값도, 앱이 들고 있는 값도 절대가다. + * 0 원이 정상 값이라 presence 가 필요하다. + */ + price?: + | number + | undefined; + /** 재고 수량. 재고를 관리하지 않으면 비운다 — 0(품절)과 미제공을 구별해야 해서 optional 이다. */ + stockQuantity?: number | undefined; + options?: CommerceVariantOption[] | undefined; +} + export interface WmsShippingInfo { name?: string | undefined; firstName?: string | undefined; diff --git a/ts/packages/core/src/gen/channel/app/sdk/v1/extension.zod.ts b/ts/packages/core/src/gen/channel/app/sdk/v1/extension.zod.ts index bcbb86b0..3a43a3d5 100644 --- a/ts/packages/core/src/gen/channel/app/sdk/v1/extension.zod.ts +++ b/ts/packages/core/src/gen/channel/app/sdk/v1/extension.zod.ts @@ -1407,6 +1407,7 @@ export const CommerceAppCapabilitiesProtoSchema = z.object({ acceptReturnOrderOptions: z.lazy(() => OrderOperationOptionsProtoSchema).optional(), requestExchangeOrderOptions: z.lazy(() => OrderOperationOptionsProtoSchema).optional(), changeShippingAddressOptions: z.lazy(() => OrderOperationOptionsProtoSchema).optional(), + getProductsOptions: z.lazy(() => OrderOperationOptionsProtoSchema).optional(), }) satisfies z.ZodType; export type CommerceAppCapabilitiesProto = z.infer; @@ -1519,6 +1520,49 @@ export const CommerceChangeShippingAddressInputProtoSchema = z.object({ }) satisfies z.ZodType; export type CommerceChangeShippingAddressInputProto = z.infer; +export const CommerceGetProductsInputProtoSchema = z.object({ + searchFilter: z.any().optional(), + since: z.string().optional(), + limit: z.number().int().optional(), +}) satisfies z.ZodType; +export type CommerceGetProductsInputProto = z.infer; + +export const CommerceGetProductsOutputProtoSchema = z.object({ + products: z.array(z.lazy(() => CommerceProductProtoSchema)).optional(), + next: z.string().optional(), +}) satisfies z.ZodType; +export type CommerceGetProductsOutputProto = z.infer; + +export const CommerceProductProtoSchema = z.object({ + id: z.string().optional(), + name: z.string().optional(), + price: z.number().optional(), + originalPrice: z.number().optional(), + currency: z.string().optional(), + state: z.string().optional(), + imageUrl: z.string().optional(), + images: z.array(z.string()).optional(), + productUrl: z.string().optional(), + description: z.string().optional(), + summary: z.string().optional(), + vendor: z.string().optional(), + productType: z.string().optional(), + categories: z.array(z.string()).optional(), + tags: z.array(z.string()).optional(), + createdAt: z.number().optional(), + updatedAt: z.number().optional(), + variants: z.array(z.lazy(() => CommerceProductVariantProtoSchema)).optional(), +}) satisfies z.ZodType; +export type CommerceProductProto = z.infer; + +export const CommerceProductVariantProtoSchema = z.object({ + id: z.string().optional(), + price: z.number().optional(), + stockQuantity: z.number().optional(), + options: z.array(z.lazy(() => CommerceVariantOptionProtoSchema)).optional(), +}) satisfies z.ZodType; +export type CommerceProductVariantProto = z.infer; + export const WmsShippingInfoProtoSchema = z.object({ name: z.string().optional(), firstName: z.string().optional(),