@wix/bex-utils 2.109.0 → 2.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/@wix/ambassador-authorization-server/builders.d.ts +2542 -0
  2. package/@wix/ambassador-authorization-server/builders.js +10330 -0
  3. package/@wix/ambassador-authorization-server/builders.js.map +1 -0
  4. package/@wix/ambassador-authorization-server/export-erb.js +101 -0
  5. package/@wix/ambassador-authorization-server/http.d.ts +109 -0
  6. package/@wix/ambassador-authorization-server/http.js +394 -0
  7. package/@wix/ambassador-authorization-server/http.js.map +1 -0
  8. package/@wix/ambassador-authorization-server/index.js +1 -0
  9. package/@wix/ambassador-authorization-server/package.json +30 -0
  10. package/@wix/ambassador-authorization-server/rpc.d.ts +252 -0
  11. package/@wix/ambassador-authorization-server/rpc.js +820 -0
  12. package/@wix/ambassador-authorization-server/rpc.js.map +1 -0
  13. package/@wix/ambassador-authorization-server/src/builders.ts +10663 -0
  14. package/@wix/ambassador-authorization-server/src/http.ts +666 -0
  15. package/@wix/ambassador-authorization-server/src/rpc.ts +1111 -0
  16. package/@wix/ambassador-authorization-server/src/types.ts +1616 -0
  17. package/@wix/ambassador-authorization-server/types.d.ts +1294 -0
  18. package/@wix/ambassador-authorization-server/types.js +62 -0
  19. package/@wix/ambassador-authorization-server/types.js.map +1 -0
  20. package/@wix/ambassador-data-v1-external-database-connection/README.md +34 -0
  21. package/@wix/ambassador-data-v1-external-database-connection/builders/package.json +7 -0
  22. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/builders.impl.d.ts +32 -0
  23. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/builders.impl.js +363 -0
  24. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/builders.impl.js.map +1 -0
  25. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/http.impl.d.ts +1 -0
  26. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/http.impl.js +5 -0
  27. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/http.impl.js.map +1 -0
  28. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/rpc.impl.d.ts +11 -0
  29. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/rpc.impl.js +41 -0
  30. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/crud/rpc.impl.js.map +1 -0
  31. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/http.impl.d.ts +24 -0
  32. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/http.impl.js +530 -0
  33. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/http.impl.js.map +1 -0
  34. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/meta.impl.d.ts +22 -0
  35. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/meta.impl.js +136 -0
  36. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/meta.impl.js.map +1 -0
  37. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/client/proto-generated.d.ts +7218 -0
  38. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/client/proto-generated.js +2 -0
  39. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/proto-generated.d.ts +3606 -0
  40. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/proto-generated.js +1 -0
  41. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/server/proto-generated.d.ts +7207 -0
  42. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/proto/server/proto-generated.js +2 -0
  43. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/rpc.impl.d.ts +33 -0
  44. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/rpc.impl.js +121 -0
  45. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/rpc.impl.js.map +1 -0
  46. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/types.impl.d.ts +424 -0
  47. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/types.impl.js +97 -0
  48. package/@wix/ambassador-data-v1-external-database-connection/cjs/build/types.impl.js.map +1 -0
  49. package/@wix/ambassador-data-v1-external-database-connection/cjs/package.json +3 -0
  50. package/@wix/ambassador-data-v1-external-database-connection/crud/http/package.json +7 -0
  51. package/@wix/ambassador-data-v1-external-database-connection/crud/rpc/package.json +6 -0
  52. package/@wix/ambassador-data-v1-external-database-connection/es/build/builders.impl.d.ts +32 -0
  53. package/@wix/ambassador-data-v1-external-database-connection/es/build/builders.impl.js +314 -0
  54. package/@wix/ambassador-data-v1-external-database-connection/es/build/builders.impl.js.map +1 -0
  55. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/http.impl.d.ts +1 -0
  56. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/http.impl.js +2 -0
  57. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/http.impl.js.map +1 -0
  58. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/rpc.impl.d.ts +11 -0
  59. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/rpc.impl.js +34 -0
  60. package/@wix/ambassador-data-v1-external-database-connection/es/build/crud/rpc.impl.js.map +1 -0
  61. package/@wix/ambassador-data-v1-external-database-connection/es/build/http.impl.d.ts +24 -0
  62. package/@wix/ambassador-data-v1-external-database-connection/es/build/http.impl.js +523 -0
  63. package/@wix/ambassador-data-v1-external-database-connection/es/build/http.impl.js.map +1 -0
  64. package/@wix/ambassador-data-v1-external-database-connection/es/build/meta.impl.d.ts +22 -0
  65. package/@wix/ambassador-data-v1-external-database-connection/es/build/meta.impl.js +96 -0
  66. package/@wix/ambassador-data-v1-external-database-connection/es/build/meta.impl.js.map +1 -0
  67. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/client/proto-generated.d.ts +7218 -0
  68. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/client/proto-generated.js +5 -0
  69. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/proto-generated.d.ts +3606 -0
  70. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/proto-generated.js +1 -0
  71. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/server/proto-generated.d.ts +7207 -0
  72. package/@wix/ambassador-data-v1-external-database-connection/es/build/proto/server/proto-generated.js +5 -0
  73. package/@wix/ambassador-data-v1-external-database-connection/es/build/rpc.impl.d.ts +33 -0
  74. package/@wix/ambassador-data-v1-external-database-connection/es/build/rpc.impl.js +81 -0
  75. package/@wix/ambassador-data-v1-external-database-connection/es/build/rpc.impl.js.map +1 -0
  76. package/@wix/ambassador-data-v1-external-database-connection/es/build/types.impl.d.ts +424 -0
  77. package/@wix/ambassador-data-v1-external-database-connection/es/build/types.impl.js +94 -0
  78. package/@wix/ambassador-data-v1-external-database-connection/es/build/types.impl.js.map +1 -0
  79. package/@wix/ambassador-data-v1-external-database-connection/http/package.json +7 -0
  80. package/@wix/ambassador-data-v1-external-database-connection/meta/package.json +7 -0
  81. package/@wix/ambassador-data-v1-external-database-connection/package.json +108 -0
  82. package/@wix/ambassador-data-v1-external-database-connection/rpc/package.json +6 -0
  83. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/cloud/data/api/common.proto +63 -0
  84. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/cloud/data/api/externaldatabase/external-database-connection-service.proto +305 -0
  85. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/cloud/data/api/externaldatabase/upstream/externaldatabase/wix/common/paging.proto +112 -0
  86. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/iptf/webhooks/debug.proto +34 -0
  87. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/iptf/webhooks/kv.proto +42 -0
  88. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/com/wixpress/iptf/webhooks/message_envelope.proto +54 -0
  89. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/webhooks_debug_service.proto +32 -0
  90. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/webhooks_sync_service.proto +33 -0
  91. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/action_payload.proto +33 -0
  92. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/annotations.proto +559 -0
  93. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/api_errors.proto +142 -0
  94. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/callback.proto +173 -0
  95. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/context.proto +19 -0
  96. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/entity.proto +133 -0
  97. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/errors.proto +127 -0
  98. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/idempotency.proto +25 -0
  99. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/permissions.proto +46 -0
  100. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/sla.proto +24 -0
  101. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/subscription.proto +32 -0
  102. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/api/validations.proto +147 -0
  103. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/address.proto +148 -0
  104. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/bulk.proto +53 -0
  105. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/domainevents/attributeupdated.proto +20 -0
  106. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/domainevents/domainevents.proto +112 -0
  107. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/identification.proto +40 -0
  108. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/image.proto +8 -0
  109. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/media.proto +280 -0
  110. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/money.proto +32 -0
  111. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/pageurl.proto +32 -0
  112. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/paging.proto +121 -0
  113. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/sorting.proto +36 -0
  114. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/spi.proto +85 -0
  115. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/tags.proto +55 -0
  116. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/common/wixlink.proto +203 -0
  117. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/graphql/definitions.proto +13 -0
  118. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/http/field_mask.proto +46 -0
  119. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/sdk/definitions.proto +191 -0
  120. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/spi/definitions.proto +188 -0
  121. package/@wix/ambassador-data-v1-external-database-connection/src/main/proto/wix/spi/http_error_status.proto +24 -0
  122. package/@wix/ambassador-data-v1-external-database-connection/types/package.json +7 -0
  123. package/@wix/bex-bundled-mini-essentials/CHANGELOG.md +8 -0
  124. package/@wix/bex-bundled-mini-essentials/package.json +1 -1
  125. package/package.json +8 -5
@@ -0,0 +1,203 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common;
4
+
5
+ option java_multiple_files = true;
6
+ option java_outer_classname = "WixLinkProto";
7
+ option java_package = "com.wix.common";
8
+
9
+ import "wix/api/annotations.proto";
10
+ import "wix/api/validations.proto";
11
+ import "google/protobuf/wrappers.proto";
12
+
13
+ //The link object generated by panels in the editor and used by applications in Wix
14
+ message WixLink {
15
+ option (.wix.api.decomposition_minimum_fields) = {
16
+ field: "external"
17
+ };
18
+ option (.wix.api.decomposition_minimum_fields) = {
19
+ field: "page"
20
+ };
21
+ option (.wix.api.decomposition_minimum_fields) = {
22
+ field: "anchor"
23
+ };
24
+ option (.wix.api.decomposition_minimum_fields) = {
25
+ field: "dynamic_page"
26
+ };
27
+ option (.wix.api.decomposition_minimum_fields) = {
28
+ field: "document"
29
+ };
30
+ option (.wix.api.decomposition_minimum_fields) = {
31
+ field: "email"
32
+ };
33
+ option (.wix.api.decomposition_minimum_fields) = {
34
+ field: "phone"
35
+ };
36
+ option (.wix.api.decomposition_minimum_fields) = {
37
+ field: "address"
38
+ };
39
+ option (.wix.api.decomposition_minimum_fields) = {
40
+ field: "whats_app"
41
+ };
42
+ option (.wix.api.decomposition_minimum_fields) = {
43
+ field: "tpa_page_link"
44
+ };
45
+ oneof Link {
46
+ ExternalLink external = 1; // External link type
47
+ PageLink page = 2; // Page link type
48
+ AnchorLink anchor = 3; // Anchor link type
49
+ DynamicPageLink dynamic_page = 4; // Dynamic page link type
50
+ DocumentLink document = 5; // Document link type
51
+ EmailLink email = 6; // Email link type
52
+ PhoneLink phone = 7; // Phone link type
53
+ AddressLink address = 8; // Address link type
54
+ WhatsAppLink whats_app = 9; // WhatsApp link type
55
+ TpaPageLink tpa_page = 10; // TPA link type
56
+ }
57
+ }
58
+
59
+ message ExternalLink {
60
+ option (.wix.api.decomposition_minimum_fields) = {
61
+ field: "url"
62
+ };
63
+ //The url of the page
64
+ string url = 1 [(.wix.api.format) = WEB_URL];
65
+ //Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page.
66
+ google.protobuf.StringValue target = 2;
67
+ //rel of link
68
+ repeated LinkRel rel = 3 [(.wix.api.maxSize) = 20, (.wix.api.field_exposure) = PRIVATE];
69
+ }
70
+
71
+ message PageLink {
72
+ option (.wix.api.decomposition_minimum_fields) = {
73
+ field: "page_id"
74
+ };
75
+ //The page id we want from the site
76
+ string page_id = 1;
77
+ //Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page.
78
+ google.protobuf.StringValue target = 2;
79
+ //rel of link
80
+ repeated LinkRel rel = 3 [(wix.api.maxSize) = 20];
81
+ }
82
+
83
+ message AnchorLink {
84
+ option (.wix.api.decomposition_minimum_fields) = {
85
+ field: "anchor_name"
86
+ field: "anchor_data_id"
87
+ field: "page_id"
88
+ };
89
+ //The name of the anchor
90
+ string anchor_name = 1;
91
+ //The data id (from the JSON page) of the anchor that should be used
92
+ string anchor_data_id = 2;
93
+ //The page id we want from the site
94
+ string page_id = 3;
95
+ //rel of link
96
+ repeated LinkRel rel = 4 [(wix.api.maxSize) = 20];
97
+ }
98
+
99
+ message DynamicPageLink {
100
+ option (.wix.api.decomposition_minimum_fields) = {
101
+ field: "router_id"
102
+ field: "inner_route"
103
+ field: "anchor_data_id"
104
+ };
105
+ //The router that handles this link
106
+ string router_id = 1;
107
+ //The path data we'd like
108
+ string inner_route = 2;
109
+ //The data id (from the JSON page) of the anchor that should be used
110
+ google.protobuf.StringValue anchor_data_id = 3;
111
+ //rel of link
112
+ repeated LinkRel rel = 4 [(wix.api.maxSize) = 20];
113
+ }
114
+
115
+ message DocumentLink {
116
+ option (.wix.api.decomposition_minimum_fields) = {
117
+ field: "doc_id"
118
+ field: "name"
119
+ };
120
+ //The id of the document
121
+ string doc_id = 1;
122
+ //The name of the document for download purposes
123
+ google.protobuf.StringValue name = 2;
124
+ //If this document can be indexed by scrapers, default is false
125
+ bool indexable = 3;
126
+ }
127
+
128
+ message EmailLink {
129
+ option (.wix.api.decomposition_minimum_fields) = {
130
+ field: "recipient"
131
+ field: "subject"
132
+ field: "body"
133
+ };
134
+ //The email we will be sending a message to
135
+ string recipient = 1 [(.wix.api.format) = EMAIL];
136
+ //The subject of the email
137
+ google.protobuf.StringValue subject = 2;
138
+ //The body of the email
139
+ google.protobuf.StringValue body = 3;
140
+ }
141
+
142
+ message PhoneLink {
143
+ option (.wix.api.decomposition_minimum_fields) = {
144
+ field: "phone_number"
145
+ };
146
+ //The phone number we want to link to
147
+ string phone_number = 1 [(.wix.api.pii) = true, (.wix.api.format) = PHONE, (.wix.api.maxLength) = 100];
148
+ }
149
+
150
+ message AddressLink {
151
+ option (.wix.api.decomposition_minimum_fields) = {
152
+ field: "address"
153
+ };
154
+ //An address that we can link to
155
+ string address = 1 [(.wix.api.pii) = true];
156
+ }
157
+
158
+ message WhatsAppLink {
159
+ option (.wix.api.decomposition_minimum_fields) = {
160
+ field: "phone_number"
161
+ };
162
+ //The whatsApp phone number we want to connect with
163
+ string phone_number = 1 [(.wix.api.pii) = true, (.wix.api.format) = PHONE];
164
+ }
165
+
166
+ //Link to a TPA page
167
+ message TpaPageLink {
168
+ option (.wix.api.decomposition_minimum_fields) = {
169
+ field: "item_type_identifier"
170
+ field: "item_id"
171
+ field: "page_id"
172
+ field: "app_definition_id"
173
+ field: "path"
174
+ };
175
+ //Type of item (e.g. 'wix.stores.sub_pages.product')
176
+ string item_type_identifier = 1;
177
+ //Id of linked item
178
+ string item_id = 2;
179
+ //Id of linked page
180
+ string page_id = 3;
181
+ //Id of app being linked to (AppDefId)
182
+ string app_definition_id = 4;
183
+ //The relativepath of linked page
184
+ string path = 5;
185
+ //rel of link
186
+ repeated LinkRel rel = 6 [(wix.api.maxSize) = 20];
187
+ }
188
+
189
+ //The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.
190
+ //Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel
191
+ //Following are the accepted 'rel' types by Wix applications.
192
+ enum LinkRel {
193
+ // default (not implemented)
194
+ unknown_link_rel = 0 [(.wix.api.enum_maturity) = NOT_IMPLEMENTED];
195
+ //Indicates that the current document's original author or publisher does not endorse the referenced document.
196
+ nofollow = 1;
197
+ //Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it.
198
+ noopener = 2;
199
+ //No Referer header will be included. Additionally, has the same effect as noopener.
200
+ noreferrer = 3;
201
+ //Indicates a link that resulted from advertisements or paid placements.
202
+ sponsored = 4;
203
+ }
@@ -0,0 +1,13 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.graphql;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "GraphqlProto";
9
+ option java_package = "com.wix.graphql";
10
+
11
+ extend google.protobuf.FileOptions {
12
+ optional string namespace = 66000;
13
+ }
@@ -0,0 +1,46 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.http;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "FieldmaskProto";
9
+ option java_package = "com.wix.http";
10
+
11
+ /*
12
+ When (most commonly) update endpoint accepts FieldMask object, from REST client perspective it is redundant and can be
13
+ inferred from the actual JSON payload that was sent. This field annotation will tell the framework to use the JSON body
14
+ and automatically construct the fieldmask. E.g.
15
+ ```
16
+ import "wix/http/field_mask.proto";
17
+
18
+ rpc UpdateProduct (UpdateProductRequest) returns (UpdateProductResponse) {
19
+ option (google.api.http) = {
20
+ PATCH: "/v1/products/{product.id}
21
+ };
22
+ option (wix.http.infer_fieldmask) = {
23
+ from: "product"
24
+ fieldmask: "mask"
25
+ };
26
+ }
27
+
28
+ message UpdateProductRequest {
29
+ Product product = 1;
30
+ google.protobuf.FieldMask mask = 2;
31
+ }
32
+ ```
33
+ */
34
+ extend google.protobuf.FieldOptions {
35
+ optional string infer_fieldmask_from = 50901 [deprecated=true];
36
+ }
37
+
38
+ extend google.protobuf.MethodOptions {
39
+ optional InferFieldmask infer_fieldmask = 50902;
40
+ }
41
+
42
+ message InferFieldmask {
43
+ required string from = 1; // ref to field on which we want to infer
44
+ required string fieldmask = 2; // ref to actual fieldmask member
45
+ optional bool snake_case_comma_separated_mask = 3; // recase comma-separated field mask to snake_case (legacy behavior)
46
+ }
@@ -0,0 +1,191 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.sdk;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "DefinitionsProto";
9
+ option java_package = "com.wix.sdk";
10
+
11
+
12
+ /**
13
+ logic of signature generation:
14
+ ==============================
15
+
16
+ 1) `id` (path-param) should be the first argument.
17
+ 2) if there are more identifiers (path-params), a parent object called `identifiers` containing those will be the first argument.
18
+ 3) first payload member will be the second argument unless overridden via proto option. in case of override, args will be taken from override option value in-order.
19
+ 4) rest of arguments (if exist) will follow under the `options` parent.
20
+
21
+ internal logic for `identifiers` field:
22
+ take all path-params, merge with all `unique` fields, distinct.
23
+ if you have total args > 1 -> put all in `identifiers` parent.
24
+ otherwise - use single (usually id) arg as is and make it the first param.
25
+
26
+ `sdk.signature.params` cannot control neither `options` (last param) nor `id`/`identifiers` (first param) as those are needed by convention in Velo.
27
+
28
+
29
+ Examples:
30
+ =========
31
+
32
+ // Example-1: Default behavior, single identifier:
33
+ message GetProductRequest {
34
+ option (.wix.api.unique) = {field: "id"}; //not needed, automatically assumed
35
+ string id = 1;
36
+ string product_family = 2;
37
+ bool include_pii = 3;
38
+ }
39
+ rpc GetProduct (GetProductRequest) returns (GetProductResponse) {
40
+ option (google.api.http) = {
41
+ get = "/v1/products/{id}"
42
+ };
43
+ // ...
44
+ }
45
+ // Resulted signature: getProduct(id: string, productFamily: string, options: {includePii: boolean}) Product {...}
46
+ {
47
+ sdkSignatures: [
48
+ {
49
+ args: [
50
+ {
51
+ field: {
52
+ path: "id" <-- field name in proto request message
53
+ }
54
+ },
55
+ {
56
+ field: {
57
+ path: "productFamily" <-- field name in proto request message
58
+ }
59
+ },
60
+ parent: {
61
+ name: "options"
62
+ fields: [
63
+ {
64
+ path: "includePii" <-- field name in proto request message
65
+ }
66
+ ]
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
72
+
73
+ // Example-2: Default behavior, multiple identifiers:
74
+ message GetProductRequest {
75
+ option (.wix.api.unique) = {
76
+ field: "catalogId"
77
+ field: "productId"
78
+ };
79
+ string catalogId = 1;
80
+ string productId = 2;
81
+ string product_family = 3;
82
+ bool include_pii = 4;
83
+ }
84
+ rpc GetProduct (GetProductRequest) returns (GetProductResponse) {
85
+ option (google.api.http) = {
86
+ get = "/v1/catalog/{catalogId}/products/{productId}"
87
+ };
88
+ // ...
89
+ }
90
+ // Resulted signature: getProduct(identifiers: {catalogId: string, productId: string}, productFamily: string, options: {includePii: boolean}) Product {...}
91
+ // schema response:
92
+ {
93
+ sdkSignatures: [
94
+ {
95
+ args: [
96
+ {
97
+ parent: {
98
+ name: "identifiers"
99
+ fields: [
100
+ {
101
+ path: "catalogId" <-- field name in proto request message
102
+ },
103
+ {
104
+ path: "productId" <-- field name in proto request message
105
+ },
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ field: {
111
+ path: "productFamily" <-- field name in proto request message
112
+ }
113
+ },
114
+ parent: {
115
+ name: "options"
116
+ fields: [
117
+ {
118
+ path: "includePii" <-- field name in proto request message
119
+ }
120
+ ]
121
+ }
122
+ ]
123
+ }
124
+ ]
125
+ }
126
+
127
+ // Example-3: Using override option, multiple identifiers:
128
+ message GetProductRequest {
129
+ option (.wix.api.unique) = {
130
+ field: "catalogId"
131
+ field: "productId"
132
+ };
133
+ string catalogId = 1;
134
+ string productId = 2;
135
+ string product_family = 3;
136
+ bool include_pii = 4;
137
+ }
138
+ rpc GetProduct (GetProductRequest) returns (GetProductResponse) {
139
+ option (google.api.http) = {
140
+ get = "/v1/catalog/{catalogId}/products/{productId}"
141
+ };
142
+ option (.wix.sdk.signature) = {
143
+ params = "include_pii" // the rest will be auto wired to options arg
144
+ };
145
+ // ...
146
+ }
147
+ // Resulted signature: getProduct(identifiers: {catalogId: string, productId: string}, includePii: boolean, options: {productFamily: string}) Product {...}
148
+ // schema response:
149
+ {
150
+ sdkSignatures: [
151
+ {
152
+ args: [
153
+ {
154
+ parent: {
155
+ name: "identifiers"
156
+ fields: [
157
+ {
158
+ path: "catalogId" <-- field name in proto request message
159
+ },
160
+ {
161
+ path: "productId" <-- field name in proto request message
162
+ }
163
+ ]
164
+ }
165
+ },
166
+ {
167
+ field: {
168
+ path: "includePii" <-- field name in proto request message
169
+ }
170
+ },
171
+ parent: {
172
+ name: "options"
173
+ fields: [
174
+ {
175
+ path: "productFamily" <-- field name in proto request message
176
+ }
177
+ ]
178
+ }
179
+ ]
180
+ }
181
+ ]
182
+ }
183
+ **/
184
+
185
+ extend google.protobuf.MethodOptions {
186
+ repeated Signature signature = 60100;
187
+ }
188
+
189
+ message Signature {
190
+ repeated string params = 1;
191
+ }
@@ -0,0 +1,188 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.spi;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+ import "wix/spi/http_error_status.proto";
7
+
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "DefinitionsProto";
10
+ option java_package = "com.wix.spi";
11
+
12
+ /**
13
+ Example SPI proto files:
14
+
15
+ syntax = "proto3";
16
+
17
+ package com.wixpress.ecom.couponsSpi;
18
+
19
+ // this service is bla bla bla...
20
+ //
21
+ // changelog:
22
+ // revision 2: added couponGenerated event
23
+ service CouponsProvider {
24
+ // since this is an SPI interface definition, the FQDN of the service_entity must start with `wix.interfaces.*`
25
+ option (.wix.spi.service) = {
26
+ fqdn: "wix.interfaces.ecom.v1.coupons_provider" // must be `wix.interfaces.*` for entities that define SPI
27
+ spi_identifier: "com.wixpress.appservice.api.ComponentType.AUTOMATION_TRIGGER"
28
+ config_message: "com.wixpresss.ecom.CouponsProviderConfig"
29
+ host_service: "com.wixpress.ecom.couponsSpi.CouponsSpiHost"
30
+ business_manager_url: "/ecom/coupons" // used to provide deep-link to biz-mgr to finish configuration after code publish in Velo
31
+ };
32
+
33
+ // The provider has to send this event when a coupon is generated on the provider system.
34
+ // When the coupon code will be used by a user during checkout,
35
+ // wix-ecom will call the provider in order to calculate the effect of the coupon on the cart
36
+ option (.wix.spi.event) = {
37
+ method_name: "CouponGenerated" // Name of the method on the SPI-Host service that needs to be called. Together with `host_service` annotation above, you can get the full FQN
38
+ };
39
+
40
+ // called when the system has to calculate how a coupon affects a given cart
41
+ rpc CalculateCart (CalculateCartRequest) returns (CalculateCartResponse) {
42
+ option (google.api.http) = {
43
+ post: "/calculate-cart"
44
+ };
45
+ option (.wix.spi.error) = {
46
+ name: "CouponNotSupportedError"
47
+ http_code: INVALID_ARGUMENT
48
+ application_code: "COUPON_TYPE_NOT_SUPPORTED"
49
+ data: "com.wixpress.ecom.couponsSpi.TypeNotSupportedError"
50
+ };
51
+ }
52
+
53
+ // called when a coupon is applied during checkout and has to be reserved until the checkout is completed
54
+ // redeem will later be called using the reservation_code returned by this method
55
+ rpc Reserve (ReserveCouponRequest) returns (ReserveCouponResponse) {
56
+ option (google.api.http) = {
57
+ post: "/reserve"
58
+ };
59
+ }
60
+
61
+ // called after a successful transaction that used a coupon was made, in order to notify the coupons provider
62
+ // that the coupon was redeemed.
63
+ // sends the reservation_code that the was returned by reserve method
64
+ rpc Redeem (RedeemCouponRequest) returns (RedeemCouponResponse) {
65
+ option (google.api.http) = {
66
+ post: "/redeem"
67
+ };
68
+ }
69
+
70
+ // called in order to extend coupon expiration date
71
+ // this method was added later than other methods and therefore needs to be toggled in config_message
72
+ rpc ExtendCoupon (ExtendCouponRequest) returns (ExtendCouponResponse) {
73
+ option (google.api.http) ={
74
+ post: "/extend-coupon"
75
+ };
76
+ option (.wix.spi.feature_toggle) = "toggle_extend_coupon_enabled";
77
+ }
78
+ }
79
+
80
+ message CouponsProviderConfig {
81
+ string base_uri = 1 [(.wix.spi.base_uri) = true]; // the base URI where all the methods are deployed. E.g. "https://golden-coupons.com/wix-provider"
82
+ repeated string supported_coupon_types = 2; // specific field related to this SPI
83
+ bool toggle_extend_coupon_enabled = 3; // feature toggle initialized with default value = false. should be true if implemented by spi provider
84
+ }
85
+
86
+ message TypeNotSupportedError {
87
+ string type = 1; The received type that is not supported by the service
88
+ }
89
+
90
+ // =========== another file, standard proto, no SPI annotation ================
91
+
92
+ service CouponsSpiHost {
93
+ // we cannot use the same service_entity as the SPI definition, because it is only interface definition. Here we need concrete FQDN
94
+ option (.wix.api.service_entity).message = "com.wixpress.ecom.couponsProviderGateway";
95
+
96
+ // The provider has to send this event when a coupon is generated on the provider system.
97
+ // When the coupon code will be used by a user during checkout,
98
+ // wix-ecom will call the provider in order to calculate the effect of the coupon on the cart
99
+ rpc CouponGenerated (CouponGeneratedRequest) returns (CouponGeneratedResponse) {
100
+ option (google.api.http) = {
101
+ post: "/v1/coupon-generated"
102
+ };
103
+ }
104
+
105
+ // The following 3 methods are an implementation of the SPI interface
106
+
107
+ rpc CalculateCart (CalculateCartRequest) returns (CalculateCartResponse) {
108
+ option (google.api.http) = {
109
+ post: "/calculate-cart"
110
+ };
111
+ }
112
+
113
+ rpc Reserve (ReserveCouponRequest) returns (ReserveCouponResponse) {
114
+ option (google.api.http) = {
115
+ post: "/reserve"
116
+ };
117
+ }
118
+
119
+ rpc Redeem (RedeemCouponRequest) returns (RedeemCouponResponse) {
120
+ option (google.api.http) ={
121
+ post: "/redeem"
122
+ };
123
+ }
124
+
125
+ rpc ExtendCoupon (ExtendCouponRequest) returns (RedeemCouponResponse) {
126
+ option (google.api.http) ={
127
+ post: "/extend-coupon"
128
+ };
129
+ }
130
+
131
+ }
132
+
133
+ message CouponsProviderGateway {
134
+ option (.wix.api.entity) = {
135
+ fqdn: "wix.gateways.ecom.v1.coupons_provider_gateway"
136
+ implements: "wix.intefaces.ecom.v1.coupons_provider"
137
+ };
138
+ }
139
+ **/
140
+
141
+ extend google.protobuf.ServiceOptions {
142
+ optional Service service = 65000;
143
+ repeated Event event = 65001; // spi event is essentially an endpoint that will get requests from spi implementor
144
+ }
145
+
146
+ extend google.protobuf.FieldOptions {
147
+ optional bool base_uri = 65020; // holds the base URI of the implementing service for this spi. (can be https://... | grpc://... | velo:///...)
148
+ }
149
+
150
+ extend google.protobuf.MethodOptions {
151
+ repeated Error error = 65040; // errors that can be thrown by the method
152
+ optional string feature_toggle = 65041; // name of the controlling feature toggle boolean field as it appears in the config message
153
+ }
154
+
155
+ message Service {
156
+ required string spi_identifier = 1; // string representation of dev-center's catalog [ComponentType](https://github.com/wix-private/devcenter/blob/master/app-service/app-service-api/src/main/proto/components_catalog/components_catalog_type.proto)
157
+ required string config_message = 2; // FQN ref to message with config details
158
+ optional string host_service = 3; // FQN ref to proto service of SPI host that implements endpoints that the provider needs to call
159
+ optional string business_manager_url = 4; // relative deeplink to business-manager page where the user needs to continue configuration of current spi
160
+ optional string fqdn = 5; // may be used to define an FQDN directly on SPI service without having a main entity. must start with `wix.interfaces.*`
161
+ optional string app_id = 6; // SPI Host's App Id
162
+ repeated ServiceAppendix appendix_files = 7; // declare external configuration info
163
+ }
164
+
165
+ message ServiceAppendix {
166
+ enum Type {
167
+ UNKNOWN_APPENDIX_TYPE = 0;
168
+ AUTO_VELO = 1 [deprecated = true]; // auto velo configuration
169
+ DOCS_CONF = 2; // wix docs configuration: `documentation.yaml`
170
+ MULTILINGUAL = 3; // wix multilingual configuration
171
+ SEARCH = 4; // nile search configuration
172
+ AUTO_SDK = 5; // auto sdk configuration
173
+ }
174
+ required Type type = 1; // appendix type
175
+ required string path = 2; // absolute from module root
176
+ }
177
+
178
+ message Error {
179
+ required string name = 1; // name that can be used by SDKs to generate error class
180
+ required HttpStatusCode http_code = 2; // HTTP status code that will be returned with this type of error
181
+ required string application_code = 3; // a constant string in the format of ALL_CAPS that describes the specific error type
182
+ optional string data = 4; // FQN of a message that describes structured data that should be provided in the error body
183
+ }
184
+
185
+ message Event {
186
+ optional string method_name = 1 [deprecated = true]; // name of the implemented method in SPI host service. Together with `host_service` annotation above, you can get the full FQN
187
+ optional string fqn = 2; // Fully Qualified Name of the method on the SPI-Host service that needs to be called.
188
+ }
@@ -0,0 +1,24 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.spi;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_package = "com.wix.spi";
8
+
9
+ enum HttpStatusCode {
10
+ UNKNOWN_ERROR = 0; // Should not be used
11
+ UNAUTHENTICATED = 1; // 401 - thrown when the request signature could be validated
12
+ INVALID_ARGUMENT = 3; // 400 - thrown when one of the properties has unexpected value or type
13
+ // 500 - thrown when something happened that is the result of server bug, network issue, DB issue,
14
+ // or anything that is not affected by the request itself, and is not the fault of the client in any way.
15
+ INTERNAL = 5;
16
+ RESOURCE_EXHAUSTED = 7; // 429 - The client has sent too many requests in a given amount of time (rate limit)
17
+ CANCELED = 8; // 499 - Request cancelled by the client
18
+
19
+ NOT_FOUND = 4; // 404 - thrown when the resource requested could not be found
20
+ ALREADY_EXISTS = 9; //409 - Can't recreate same resource or concurrency conflict
21
+ // 428 - request cannot be executed in current system state
22
+ // such as deleting a non-empty folder or paying with no funds
23
+ FAILED_PRECONDITION = 10;
24
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "private": true,
3
+ "main": "../cjs/build/types.impl.js",
4
+ "types": "../cjs/build/types.impl.d.ts",
5
+ "sideEffects": false,
6
+ "module": "../es/build/types.impl.js"
7
+ }
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.67.0](https://github.com/wix-private/cairo/compare/@wix/bex-bundled-mini-essentials@2.66.0...@wix/bex-bundled-mini-essentials@2.67.0) (2026-06-17)
7
+
8
+ **Note:** Version bump only for package @wix/bex-bundled-mini-essentials
9
+
10
+ # [2.66.0](https://github.com/wix-private/cairo/compare/@wix/bex-bundled-mini-essentials@2.65.0...@wix/bex-bundled-mini-essentials@2.66.0) (2026-06-17)
11
+
12
+ **Note:** Version bump only for package @wix/bex-bundled-mini-essentials
13
+
6
14
  # [2.65.0](https://github.com/wix-private/cairo/compare/@wix/bex-bundled-mini-essentials@2.64.0...@wix/bex-bundled-mini-essentials@2.65.0) (2026-06-15)
7
15
 
8
16
  **Note:** Version bump only for package @wix/bex-bundled-mini-essentials