@google-cloud/discoveryengine 2.2.0 → 2.4.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 (249) hide show
  1. package/README.md +30 -0
  2. package/build/protos/google/cloud/discoveryengine/v1/answer.proto +17 -0
  3. package/build/protos/google/cloud/discoveryengine/v1/assist_answer.proto +251 -0
  4. package/build/protos/google/cloud/discoveryengine/v1/assistant.proto +44 -0
  5. package/build/protos/google/cloud/discoveryengine/v1/assistant_service.proto +217 -0
  6. package/build/protos/google/cloud/discoveryengine/v1/chunk.proto +52 -0
  7. package/build/protos/google/cloud/discoveryengine/v1/cmek_config_service.proto +300 -0
  8. package/build/protos/google/cloud/discoveryengine/v1/common.proto +67 -0
  9. package/build/protos/google/cloud/discoveryengine/v1/control.proto +1 -3
  10. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +18 -3
  11. package/build/protos/google/cloud/discoveryengine/v1/data_store.proto +54 -2
  12. package/build/protos/google/cloud/discoveryengine/v1/data_store_service.proto +14 -0
  13. package/build/protos/google/cloud/discoveryengine/v1/document.proto +95 -4
  14. package/build/protos/google/cloud/discoveryengine/v1/document_processing_config.proto +28 -1
  15. package/build/protos/google/cloud/discoveryengine/v1/engine.proto +131 -6
  16. package/build/protos/google/cloud/discoveryengine/v1/grounded_generation_service.proto +8 -0
  17. package/build/protos/google/cloud/discoveryengine/v1/grounding.proto +9 -0
  18. package/build/protos/google/cloud/discoveryengine/v1/identity_mapping_store.proto +84 -0
  19. package/build/protos/google/cloud/discoveryengine/v1/identity_mapping_store_service.proto +375 -0
  20. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +14 -14
  21. package/build/protos/google/cloud/discoveryengine/v1/session.proto +21 -8
  22. package/build/protos/google/cloud/discoveryengine/v1/session_service.proto +128 -0
  23. package/build/protos/google/cloud/discoveryengine/v1/site_search_engine.proto +6 -0
  24. package/build/protos/google/cloud/discoveryengine/v1/user_license.proto +98 -0
  25. package/build/protos/google/cloud/discoveryengine/v1/user_license_service.proto +191 -0
  26. package/build/protos/google/cloud/discoveryengine/v1alpha/common.proto +15 -0
  27. package/build/protos/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto +30 -9
  28. package/build/protos/google/cloud/discoveryengine/v1alpha/search_service.proto +8 -14
  29. package/build/protos/google/cloud/discoveryengine/v1alpha/session.proto +238 -8
  30. package/build/protos/google/cloud/discoveryengine/v1alpha/session_service.proto +201 -0
  31. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +26 -5
  32. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +8 -14
  33. package/build/protos/google/cloud/discoveryengine/v1beta/session.proto +40 -8
  34. package/build/protos/google/cloud/discoveryengine/v1beta/session_service.proto +128 -0
  35. package/build/protos/protos.d.ts +21218 -11675
  36. package/build/protos/protos.js +92642 -66407
  37. package/build/protos/protos.json +5854 -2801
  38. package/build/src/index.d.ts +16 -1
  39. package/build/src/index.js +12 -2
  40. package/build/src/v1/assistant_service_client.d.ts +2058 -0
  41. package/build/src/v1/assistant_service_client.js +2957 -0
  42. package/build/src/v1/assistant_service_client_config.json +43 -0
  43. package/build/src/v1/assistant_service_proto_list.json +48 -0
  44. package/build/src/v1/cmek_config_service_client.d.ts +2398 -0
  45. package/build/src/v1/cmek_config_service_client.js +3426 -0
  46. package/build/src/v1/cmek_config_service_client_config.json +42 -0
  47. package/build/src/v1/cmek_config_service_proto_list.json +48 -0
  48. package/build/src/v1/completion_service_client.d.ts +345 -144
  49. package/build/src/v1/completion_service_client.js +482 -198
  50. package/build/src/v1/completion_service_proto_list.json +10 -1
  51. package/build/src/v1/control_service_client.d.ts +345 -144
  52. package/build/src/v1/control_service_client.js +498 -196
  53. package/build/src/v1/control_service_proto_list.json +10 -1
  54. package/build/src/v1/conversational_search_service_client.d.ts +392 -155
  55. package/build/src/v1/conversational_search_service_client.js +572 -204
  56. package/build/src/v1/conversational_search_service_proto_list.json +10 -1
  57. package/build/src/v1/data_store_service_client.d.ts +351 -144
  58. package/build/src/v1/data_store_service_client.js +488 -198
  59. package/build/src/v1/data_store_service_proto_list.json +10 -1
  60. package/build/src/v1/document_service_client.d.ts +345 -144
  61. package/build/src/v1/document_service_client.js +506 -198
  62. package/build/src/v1/document_service_proto_list.json +10 -1
  63. package/build/src/v1/engine_service_client.d.ts +345 -144
  64. package/build/src/v1/engine_service_client.js +488 -198
  65. package/build/src/v1/engine_service_proto_list.json +10 -1
  66. package/build/src/v1/gapic_metadata.json +270 -0
  67. package/build/src/v1/grounded_generation_service_client.d.ts +345 -144
  68. package/build/src/v1/grounded_generation_service_client.js +486 -196
  69. package/build/src/v1/grounded_generation_service_proto_list.json +10 -1
  70. package/build/src/v1/identity_mapping_store_service_client.d.ts +2581 -0
  71. package/build/src/v1/identity_mapping_store_service_client.js +3601 -0
  72. package/build/src/v1/identity_mapping_store_service_client_config.json +54 -0
  73. package/build/src/v1/identity_mapping_store_service_proto_list.json +48 -0
  74. package/build/src/v1/index.d.ts +5 -0
  75. package/build/src/v1/index.js +11 -1
  76. package/build/src/v1/project_service_client.d.ts +345 -144
  77. package/build/src/v1/project_service_client.js +476 -198
  78. package/build/src/v1/project_service_proto_list.json +10 -1
  79. package/build/src/v1/rank_service_client.d.ts +345 -144
  80. package/build/src/v1/rank_service_client.js +480 -196
  81. package/build/src/v1/rank_service_proto_list.json +10 -1
  82. package/build/src/v1/recommendation_service_client.d.ts +345 -144
  83. package/build/src/v1/recommendation_service_client.js +480 -196
  84. package/build/src/v1/recommendation_service_proto_list.json +10 -1
  85. package/build/src/v1/schema_service_client.d.ts +345 -144
  86. package/build/src/v1/schema_service_client.js +482 -198
  87. package/build/src/v1/schema_service_proto_list.json +10 -1
  88. package/build/src/v1/search_service_client.d.ts +393 -228
  89. package/build/src/v1/search_service_client.js +506 -252
  90. package/build/src/v1/search_service_proto_list.json +10 -1
  91. package/build/src/v1/search_tuning_service_client.d.ts +345 -144
  92. package/build/src/v1/search_tuning_service_client.js +482 -198
  93. package/build/src/v1/search_tuning_service_proto_list.json +10 -1
  94. package/build/src/v1/serving_config_service_client.d.ts +345 -144
  95. package/build/src/v1/serving_config_service_client.js +480 -196
  96. package/build/src/v1/serving_config_service_proto_list.json +10 -1
  97. package/build/src/v1/session_service_client.d.ts +2326 -0
  98. package/build/src/v1/session_service_client.js +3218 -0
  99. package/build/src/v1/session_service_client_config.json +63 -0
  100. package/build/src/v1/session_service_proto_list.json +48 -0
  101. package/build/src/v1/site_search_engine_service_client.d.ts +345 -144
  102. package/build/src/v1/site_search_engine_service_client.js +494 -198
  103. package/build/src/v1/site_search_engine_service_proto_list.json +10 -1
  104. package/build/src/v1/user_event_service_client.d.ts +345 -144
  105. package/build/src/v1/user_event_service_client.js +488 -198
  106. package/build/src/v1/user_event_service_proto_list.json +10 -1
  107. package/build/src/v1/user_license_service_client.d.ts +2367 -0
  108. package/build/src/v1/user_license_service_client.js +3346 -0
  109. package/build/src/v1/user_license_service_client_config.json +34 -0
  110. package/build/src/v1/user_license_service_proto_list.json +48 -0
  111. package/build/src/v1alpha/acl_config_service_client.d.ts +144 -144
  112. package/build/src/v1alpha/acl_config_service_client.js +208 -196
  113. package/build/src/v1alpha/acl_config_service_proto_list.json +1 -0
  114. package/build/src/v1alpha/chunk_service_client.d.ts +144 -144
  115. package/build/src/v1alpha/chunk_service_client.js +202 -196
  116. package/build/src/v1alpha/chunk_service_proto_list.json +1 -0
  117. package/build/src/v1alpha/completion_service_client.d.ts +144 -144
  118. package/build/src/v1alpha/completion_service_client.js +203 -197
  119. package/build/src/v1alpha/completion_service_proto_list.json +1 -0
  120. package/build/src/v1alpha/control_service_client.d.ts +144 -144
  121. package/build/src/v1alpha/control_service_client.js +220 -196
  122. package/build/src/v1alpha/control_service_proto_list.json +1 -0
  123. package/build/src/v1alpha/conversational_search_service_client.d.ts +221 -167
  124. package/build/src/v1alpha/conversational_search_service_client.js +310 -210
  125. package/build/src/v1alpha/conversational_search_service_proto_list.json +1 -0
  126. package/build/src/v1alpha/data_store_service_client.d.ts +144 -144
  127. package/build/src/v1alpha/data_store_service_client.js +221 -197
  128. package/build/src/v1alpha/data_store_service_proto_list.json +1 -0
  129. package/build/src/v1alpha/document_service_client.d.ts +144 -144
  130. package/build/src/v1alpha/document_service_client.js +233 -197
  131. package/build/src/v1alpha/document_service_proto_list.json +1 -0
  132. package/build/src/v1alpha/engine_service_client.d.ts +144 -144
  133. package/build/src/v1alpha/engine_service_client.js +221 -197
  134. package/build/src/v1alpha/engine_service_proto_list.json +1 -0
  135. package/build/src/v1alpha/estimate_billing_service_client.d.ts +144 -144
  136. package/build/src/v1alpha/estimate_billing_service_client.js +197 -197
  137. package/build/src/v1alpha/estimate_billing_service_proto_list.json +1 -0
  138. package/build/src/v1alpha/evaluation_service_client.d.ts +144 -144
  139. package/build/src/v1alpha/evaluation_service_client.js +203 -197
  140. package/build/src/v1alpha/evaluation_service_proto_list.json +1 -0
  141. package/build/src/v1alpha/gapic_metadata.json +82 -0
  142. package/build/src/v1alpha/grounded_generation_service_client.d.ts +144 -144
  143. package/build/src/v1alpha/grounded_generation_service_client.js +202 -196
  144. package/build/src/v1alpha/grounded_generation_service_proto_list.json +1 -0
  145. package/build/src/v1alpha/index.d.ts +1 -0
  146. package/build/src/v1alpha/index.js +3 -1
  147. package/build/src/v1alpha/project_service_client.d.ts +144 -144
  148. package/build/src/v1alpha/project_service_client.js +209 -197
  149. package/build/src/v1alpha/project_service_proto_list.json +1 -0
  150. package/build/src/v1alpha/rank_service_client.d.ts +144 -144
  151. package/build/src/v1alpha/rank_service_client.js +202 -196
  152. package/build/src/v1alpha/rank_service_proto_list.json +1 -0
  153. package/build/src/v1alpha/recommendation_service_client.d.ts +144 -144
  154. package/build/src/v1alpha/recommendation_service_client.js +202 -196
  155. package/build/src/v1alpha/recommendation_service_proto_list.json +1 -0
  156. package/build/src/v1alpha/sample_query_service_client.d.ts +144 -144
  157. package/build/src/v1alpha/sample_query_service_client.js +221 -197
  158. package/build/src/v1alpha/sample_query_service_proto_list.json +1 -0
  159. package/build/src/v1alpha/sample_query_set_service_client.d.ts +144 -144
  160. package/build/src/v1alpha/sample_query_set_service_client.js +220 -196
  161. package/build/src/v1alpha/sample_query_set_service_proto_list.json +1 -0
  162. package/build/src/v1alpha/schema_service_client.d.ts +144 -144
  163. package/build/src/v1alpha/schema_service_client.js +203 -197
  164. package/build/src/v1alpha/schema_service_proto_list.json +1 -0
  165. package/build/src/v1alpha/search_service_client.d.ts +168 -186
  166. package/build/src/v1alpha/search_service_client.js +212 -224
  167. package/build/src/v1alpha/search_service_proto_list.json +1 -0
  168. package/build/src/v1alpha/search_tuning_service_client.d.ts +144 -144
  169. package/build/src/v1alpha/search_tuning_service_client.js +203 -197
  170. package/build/src/v1alpha/search_tuning_service_proto_list.json +1 -0
  171. package/build/src/v1alpha/serving_config_service_client.d.ts +144 -144
  172. package/build/src/v1alpha/serving_config_service_client.js +208 -196
  173. package/build/src/v1alpha/serving_config_service_proto_list.json +1 -0
  174. package/build/src/v1alpha/session_service_client.d.ts +2331 -0
  175. package/build/src/v1alpha/session_service_client.js +3161 -0
  176. package/build/src/v1alpha/session_service_client_config.json +68 -0
  177. package/build/src/v1alpha/session_service_proto_list.json +49 -0
  178. package/build/src/v1alpha/site_search_engine_service_client.d.ts +144 -144
  179. package/build/src/v1alpha/site_search_engine_service_client.js +215 -197
  180. package/build/src/v1alpha/site_search_engine_service_proto_list.json +1 -0
  181. package/build/src/v1alpha/user_event_service_client.d.ts +144 -144
  182. package/build/src/v1alpha/user_event_service_client.js +209 -197
  183. package/build/src/v1alpha/user_event_service_proto_list.json +1 -0
  184. package/build/src/v1beta/completion_service_client.d.ts +144 -144
  185. package/build/src/v1beta/completion_service_client.js +209 -197
  186. package/build/src/v1beta/completion_service_proto_list.json +1 -0
  187. package/build/src/v1beta/control_service_client.d.ts +144 -144
  188. package/build/src/v1beta/control_service_client.js +220 -196
  189. package/build/src/v1beta/control_service_proto_list.json +1 -0
  190. package/build/src/v1beta/conversational_search_service_client.d.ts +215 -161
  191. package/build/src/v1beta/conversational_search_service_client.js +308 -208
  192. package/build/src/v1beta/conversational_search_service_proto_list.json +1 -0
  193. package/build/src/v1beta/data_store_service_client.d.ts +144 -144
  194. package/build/src/v1beta/data_store_service_client.js +209 -197
  195. package/build/src/v1beta/data_store_service_proto_list.json +1 -0
  196. package/build/src/v1beta/document_service_client.d.ts +144 -144
  197. package/build/src/v1beta/document_service_client.js +227 -197
  198. package/build/src/v1beta/document_service_proto_list.json +1 -0
  199. package/build/src/v1beta/engine_service_client.d.ts +144 -144
  200. package/build/src/v1beta/engine_service_client.js +221 -197
  201. package/build/src/v1beta/engine_service_proto_list.json +1 -0
  202. package/build/src/v1beta/evaluation_service_client.d.ts +144 -144
  203. package/build/src/v1beta/evaluation_service_client.js +203 -197
  204. package/build/src/v1beta/evaluation_service_proto_list.json +1 -0
  205. package/build/src/v1beta/gapic_metadata.json +68 -0
  206. package/build/src/v1beta/grounded_generation_service_client.d.ts +144 -144
  207. package/build/src/v1beta/grounded_generation_service_client.js +208 -196
  208. package/build/src/v1beta/grounded_generation_service_proto_list.json +1 -0
  209. package/build/src/v1beta/index.d.ts +1 -0
  210. package/build/src/v1beta/index.js +3 -1
  211. package/build/src/v1beta/project_service_client.d.ts +144 -144
  212. package/build/src/v1beta/project_service_client.js +197 -197
  213. package/build/src/v1beta/project_service_proto_list.json +1 -0
  214. package/build/src/v1beta/rank_service_client.d.ts +144 -144
  215. package/build/src/v1beta/rank_service_client.js +202 -196
  216. package/build/src/v1beta/rank_service_proto_list.json +1 -0
  217. package/build/src/v1beta/recommendation_service_client.d.ts +144 -144
  218. package/build/src/v1beta/recommendation_service_client.js +202 -196
  219. package/build/src/v1beta/recommendation_service_proto_list.json +1 -0
  220. package/build/src/v1beta/sample_query_service_client.d.ts +144 -144
  221. package/build/src/v1beta/sample_query_service_client.js +221 -197
  222. package/build/src/v1beta/sample_query_service_proto_list.json +1 -0
  223. package/build/src/v1beta/sample_query_set_service_client.d.ts +144 -144
  224. package/build/src/v1beta/sample_query_set_service_client.js +220 -196
  225. package/build/src/v1beta/sample_query_set_service_proto_list.json +1 -0
  226. package/build/src/v1beta/schema_service_client.d.ts +144 -144
  227. package/build/src/v1beta/schema_service_client.js +203 -197
  228. package/build/src/v1beta/schema_service_proto_list.json +1 -0
  229. package/build/src/v1beta/search_service_client.d.ts +192 -228
  230. package/build/src/v1beta/search_service_client.js +228 -252
  231. package/build/src/v1beta/search_service_proto_list.json +1 -0
  232. package/build/src/v1beta/search_tuning_service_client.d.ts +144 -144
  233. package/build/src/v1beta/search_tuning_service_client.js +203 -197
  234. package/build/src/v1beta/search_tuning_service_proto_list.json +1 -0
  235. package/build/src/v1beta/serving_config_service_client.d.ts +144 -144
  236. package/build/src/v1beta/serving_config_service_client.js +208 -196
  237. package/build/src/v1beta/serving_config_service_proto_list.json +1 -0
  238. package/build/src/v1beta/session_service_client.d.ts +2266 -0
  239. package/build/src/v1beta/session_service_client.js +3136 -0
  240. package/build/src/v1beta/session_service_client_config.json +63 -0
  241. package/build/src/v1beta/session_service_proto_list.json +45 -0
  242. package/build/src/v1beta/site_search_engine_service_client.d.ts +144 -144
  243. package/build/src/v1beta/site_search_engine_service_client.js +215 -197
  244. package/build/src/v1beta/site_search_engine_service_proto_list.json +1 -0
  245. package/build/src/v1beta/user_event_service_client.d.ts +144 -144
  246. package/build/src/v1beta/user_event_service_client.js +209 -197
  247. package/build/src/v1beta/user_event_service_proto_list.json +1 -0
  248. package/package.json +7 -7
  249. package/CHANGELOG.md +0 -274
@@ -0,0 +1,217 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/field_behavior.proto";
22
+ import "google/api/resource.proto";
23
+ import "google/cloud/discoveryengine/v1/assist_answer.proto";
24
+ import "google/cloud/discoveryengine/v1/search_service.proto";
25
+ import "google/cloud/discoveryengine/v1/session.proto";
26
+
27
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
28
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "AssistantServiceProto";
31
+ option java_package = "com.google.cloud.discoveryengine.v1";
32
+ option objc_class_prefix = "DISCOVERYENGINE";
33
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
34
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1";
35
+
36
+ // Service for managing Assistant configuration and assisting users.
37
+ service AssistantService {
38
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
39
+ option (google.api.oauth_scopes) =
40
+ "https://www.googleapis.com/auth/cloud-platform";
41
+
42
+ // Assists the user with a query in a streaming fashion.
43
+ rpc StreamAssist(StreamAssistRequest) returns (stream StreamAssistResponse) {
44
+ option (google.api.http) = {
45
+ post: "/v1/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist"
46
+ body: "*"
47
+ };
48
+ }
49
+ }
50
+
51
+ // User metadata of the request.
52
+ message AssistUserMetadata {
53
+ // Optional. IANA time zone, e.g. Europe/Budapest.
54
+ string time_zone = 1 [(google.api.field_behavior) = OPTIONAL];
55
+
56
+ // Optional. Preferred language to be used for answering if language detection
57
+ // fails. Also used as the language of error messages created by actions,
58
+ // regardless of language detection results.
59
+ string preferred_language_code = 2 [(google.api.field_behavior) = OPTIONAL];
60
+ }
61
+
62
+ // Request for the
63
+ // [AssistantService.StreamAssist][google.cloud.discoveryengine.v1.AssistantService.StreamAssist]
64
+ // method.
65
+ message StreamAssistRequest {
66
+ // Specification of tools that are used to serve the request.
67
+ message ToolsSpec {
68
+ // Specification of the Vertex AI Search tool.
69
+ message VertexAiSearchSpec {
70
+ // Optional. Specs defining
71
+ // [DataStore][google.cloud.discoveryengine.v1.DataStore]s to filter on in
72
+ // a search call and configurations for those data stores. This is only
73
+ // considered for [Engine][google.cloud.discoveryengine.v1.Engine]s with
74
+ // multiple data stores.
75
+ repeated SearchRequest.DataStoreSpec data_store_specs = 2
76
+ [(google.api.field_behavior) = OPTIONAL];
77
+
78
+ // Optional. The filter syntax consists of an expression language for
79
+ // constructing a predicate from one or more fields of the documents being
80
+ // filtered. Filter expression is case-sensitive.
81
+ //
82
+ // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
83
+ //
84
+ // Filtering in Vertex AI Search is done by mapping the LHS filter key to
85
+ // a key property defined in the Vertex AI Search backend -- this mapping
86
+ // is defined by the customer in their schema. For example a media
87
+ // customer might have a field 'name' in their schema. In this case the
88
+ // filter would look like this: filter --> name:'ANY("king kong")'
89
+ //
90
+ // For more information about filtering including syntax and filter
91
+ // operators, see
92
+ // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
93
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
94
+ }
95
+
96
+ // Specification of the web grounding tool.
97
+ message WebGroundingSpec {}
98
+
99
+ // Specification of the image generation tool.
100
+ message ImageGenerationSpec {}
101
+
102
+ // Specification of the video generation tool.
103
+ message VideoGenerationSpec {}
104
+
105
+ // Optional. Specification of the Vertex AI Search tool.
106
+ VertexAiSearchSpec vertex_ai_search_spec = 1
107
+ [(google.api.field_behavior) = OPTIONAL];
108
+
109
+ // Optional. Specification of the web grounding tool.
110
+ // If field is present, enables grounding with web search. Works only if
111
+ // [Assistant.web_grounding_type][google.cloud.discoveryengine.v1.Assistant.web_grounding_type]
112
+ // is [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] or
113
+ // [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].
114
+ WebGroundingSpec web_grounding_spec = 2
115
+ [(google.api.field_behavior) = OPTIONAL];
116
+
117
+ // Optional. Specification of the image generation tool.
118
+ ImageGenerationSpec image_generation_spec = 3
119
+ [(google.api.field_behavior) = OPTIONAL];
120
+
121
+ // Optional. Specification of the video generation tool.
122
+ VideoGenerationSpec video_generation_spec = 4
123
+ [(google.api.field_behavior) = OPTIONAL];
124
+ }
125
+
126
+ // Assistant generation specification for the request.
127
+ // This allows to override the default generation configuration at the engine
128
+ // level.
129
+ message GenerationSpec {
130
+ // Optional. The Vertex AI model_id used for the generative model. If not
131
+ // set, the default Assistant model will be used.
132
+ string model_id = 1 [(google.api.field_behavior) = OPTIONAL];
133
+ }
134
+
135
+ // Required. The resource name of the
136
+ // [Assistant][google.cloud.discoveryengine.v1.Assistant]. Format:
137
+ // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}`
138
+ string name = 1 [
139
+ (google.api.field_behavior) = REQUIRED,
140
+ (google.api.resource_reference) = {
141
+ type: "discoveryengine.googleapis.com/Assistant"
142
+ }
143
+ ];
144
+
145
+ // Optional. Current user query.
146
+ //
147
+ // Empty query is only supported if `file_ids` are provided. In this case, the
148
+ // answer will be generated based on those context files.
149
+ Query query = 2 [(google.api.field_behavior) = OPTIONAL];
150
+
151
+ // Optional. The session to use for the request. If specified, the assistant
152
+ // has access to the session history, and the query and the answer are stored
153
+ // there.
154
+ //
155
+ // If `-` is specified as the session ID, or it is left empty, then a new
156
+ // session is created with an automatically generated ID.
157
+ //
158
+ // Format:
159
+ // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`
160
+ string session = 3 [
161
+ (google.api.field_behavior) = OPTIONAL,
162
+ (google.api.resource_reference) = {
163
+ type: "discoveryengine.googleapis.com/Session"
164
+ }
165
+ ];
166
+
167
+ // Optional. Information about the user initiating the query.
168
+ AssistUserMetadata user_metadata = 6 [(google.api.field_behavior) = OPTIONAL];
169
+
170
+ // Optional. Specification of tools that are used to serve the request.
171
+ ToolsSpec tools_spec = 18 [(google.api.field_behavior) = OPTIONAL];
172
+
173
+ // Optional. Specification of the generation configuration for the request.
174
+ GenerationSpec generation_spec = 19 [(google.api.field_behavior) = OPTIONAL];
175
+ }
176
+
177
+ // Response for the
178
+ // [AssistantService.StreamAssist][google.cloud.discoveryengine.v1.AssistantService.StreamAssist]
179
+ // method.
180
+ message StreamAssistResponse {
181
+ // Information about the session.
182
+ message SessionInfo {
183
+ // Name of the newly generated or continued session.
184
+ //
185
+ // Format:
186
+ // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`.
187
+ string session = 1 [(google.api.resource_reference) = {
188
+ type: "discoveryengine.googleapis.com/Session"
189
+ }];
190
+ }
191
+
192
+ // Assist answer resource object containing parts of the assistant's final
193
+ // answer for the user's query.
194
+ //
195
+ // Not present if the current response doesn't add anything to previously
196
+ // sent
197
+ // [AssistAnswer.replies][google.cloud.discoveryengine.v1.AssistAnswer.replies].
198
+ //
199
+ // Observe
200
+ // [AssistAnswer.state][google.cloud.discoveryengine.v1.AssistAnswer.state] to
201
+ // see if more parts are to be expected. While the state is `IN_PROGRESS`, the
202
+ // [AssistAnswer.replies][google.cloud.discoveryengine.v1.AssistAnswer.replies]
203
+ // field in each response will contain replies (reply fragments) to be
204
+ // appended to the ones received in previous responses. [AssistAnswer.name][]
205
+ // won't be filled.
206
+ //
207
+ // If the state is `SUCCEEDED`, `FAILED` or `SKIPPED`, the response
208
+ // is the last response and [AssistAnswer.name][] will have a value.
209
+ AssistAnswer answer = 1;
210
+
211
+ // Session information.
212
+ SessionInfo session_info = 2;
213
+
214
+ // A global unique ID that identifies the current pair of request and stream
215
+ // of responses. Used for feedback and support.
216
+ string assist_token = 4;
217
+ }
@@ -82,6 +82,42 @@ message Chunk {
82
82
  repeated Chunk next_chunks = 2;
83
83
  }
84
84
 
85
+ // The structured content information.
86
+ message StructuredContent {
87
+ // Output only. The structure type of the structured content.
88
+ StructureType structure_type = 1
89
+ [(google.api.field_behavior) = OUTPUT_ONLY];
90
+
91
+ // Output only. The content of the structured content.
92
+ string content = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
93
+ }
94
+
95
+ // The annotation metadata includes structured content in the current chunk.
96
+ message AnnotationMetadata {
97
+ // Output only. The structured content information.
98
+ StructuredContent structured_content = 1
99
+ [(google.api.field_behavior) = OUTPUT_ONLY];
100
+
101
+ // Output only. Image id is provided if the structured content is based on
102
+ // an image.
103
+ string image_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
104
+ }
105
+
106
+ // Defines the types of the structured content that can be extracted.
107
+ enum StructureType {
108
+ // Default value.
109
+ STRUCTURE_TYPE_UNSPECIFIED = 0;
110
+
111
+ // Shareholder structure.
112
+ SHAREHOLDER_STRUCTURE = 1;
113
+
114
+ // Signature structure.
115
+ SIGNATURE_STRUCTURE = 2;
116
+
117
+ // Checkbox structure.
118
+ CHECKBOX_STRUCTURE = 3;
119
+ }
120
+
85
121
  // The full resource name of the chunk.
86
122
  // Format:
87
123
  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`.
@@ -117,4 +153,20 @@ message Chunk {
117
153
 
118
154
  // Output only. Metadata of the current chunk.
119
155
  ChunkMetadata chunk_metadata = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
156
+
157
+ // Output only. Image Data URLs if the current chunk contains images.
158
+ // Data URLs are composed of four parts: a prefix (data:), a MIME type
159
+ // indicating the type of data, an optional base64 token if non-textual,
160
+ // and the data itself:
161
+ // data:[<mediatype>][;base64],<data>
162
+ repeated string data_urls = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
163
+
164
+ // Output only. Annotation contents if the current chunk contains annotations.
165
+ repeated string annotation_contents = 11
166
+ [(google.api.field_behavior) = OUTPUT_ONLY];
167
+
168
+ // Output only. The annotation metadata includes structured content in the
169
+ // current chunk.
170
+ repeated AnnotationMetadata annotation_metadata = 12
171
+ [(google.api.field_behavior) = OUTPUT_ONLY];
120
172
  }
@@ -0,0 +1,300 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/field_behavior.proto";
22
+ import "google/api/resource.proto";
23
+ import "google/longrunning/operations.proto";
24
+ import "google/protobuf/empty.proto";
25
+ import "google/protobuf/timestamp.proto";
26
+
27
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
28
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "CmekConfigServiceProto";
31
+ option java_package = "com.google.cloud.discoveryengine.v1";
32
+ option objc_class_prefix = "DISCOVERYENGINE";
33
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
34
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1";
35
+
36
+ // Service for managing CMEK related tasks
37
+ service CmekConfigService {
38
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
39
+ option (google.api.oauth_scopes) =
40
+ "https://www.googleapis.com/auth/cloud-platform";
41
+
42
+ // Provisions a CMEK key for use in a location of a customer's project.
43
+ // This method will also conduct location validation on the provided
44
+ // cmekConfig to make sure the key is valid and can be used in the
45
+ // selected location.
46
+ rpc UpdateCmekConfig(UpdateCmekConfigRequest)
47
+ returns (google.longrunning.Operation) {
48
+ option (google.api.http) = {
49
+ patch: "/v1/{config.name=projects/*/locations/*/cmekConfig}"
50
+ body: "config"
51
+ additional_bindings {
52
+ patch: "/v1/{config.name=projects/*/locations/*/cmekConfigs/*}"
53
+ body: "config"
54
+ }
55
+ };
56
+ option (google.api.method_signature) = "config";
57
+ option (google.longrunning.operation_info) = {
58
+ response_type: "google.cloud.discoveryengine.v1.CmekConfig"
59
+ metadata_type: "google.cloud.discoveryengine.v1.UpdateCmekConfigMetadata"
60
+ };
61
+ }
62
+
63
+ // Gets the [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig].
64
+ rpc GetCmekConfig(GetCmekConfigRequest) returns (CmekConfig) {
65
+ option (google.api.http) = {
66
+ get: "/v1/{name=projects/*/locations/*/cmekConfig}"
67
+ additional_bindings {
68
+ get: "/v1/{name=projects/*/locations/*/cmekConfigs/*}"
69
+ }
70
+ };
71
+ option (google.api.method_signature) = "name";
72
+ }
73
+
74
+ // Lists all the [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig]s
75
+ // with the project.
76
+ rpc ListCmekConfigs(ListCmekConfigsRequest)
77
+ returns (ListCmekConfigsResponse) {
78
+ option (google.api.http) = {
79
+ get: "/v1/{parent=projects/*/locations/*}/cmekConfigs"
80
+ };
81
+ option (google.api.method_signature) = "parent";
82
+ }
83
+
84
+ // De-provisions a CmekConfig.
85
+ rpc DeleteCmekConfig(DeleteCmekConfigRequest)
86
+ returns (google.longrunning.Operation) {
87
+ option (google.api.http) = {
88
+ delete: "/v1/{name=projects/*/locations/*/cmekConfigs/*}"
89
+ };
90
+ option (google.api.method_signature) = "name";
91
+ option (google.longrunning.operation_info) = {
92
+ response_type: "google.protobuf.Empty"
93
+ metadata_type: "google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata"
94
+ };
95
+ }
96
+ }
97
+
98
+ // Request message for UpdateCmekConfig method.
99
+ // rpc.
100
+ message UpdateCmekConfigRequest {
101
+ // Required. The CmekConfig resource.
102
+ CmekConfig config = 1 [(google.api.field_behavior) = REQUIRED];
103
+
104
+ // Set the following CmekConfig as the default to be used for child
105
+ // resources if one is not specified.
106
+ bool set_default = 2;
107
+ }
108
+
109
+ // Request message for GetCmekConfigRequest method.
110
+ message GetCmekConfigRequest {
111
+ // Required. Resource name of
112
+ // [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig], such as
113
+ // `projects/*/locations/*/cmekConfig` or
114
+ // `projects/*/locations/*/cmekConfigs/*`.
115
+ //
116
+ // If the caller does not have permission to access the
117
+ // [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig], regardless of
118
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
119
+ string name = 1 [
120
+ (google.api.field_behavior) = REQUIRED,
121
+ (google.api.resource_reference) = {
122
+ type: "discoveryengine.googleapis.com/CmekConfig"
123
+ }
124
+ ];
125
+ }
126
+
127
+ // Metadata for single-regional CMEKs.
128
+ message SingleRegionKey {
129
+ // Required. Single-regional kms key resource name which will be used to
130
+ // encrypt resources
131
+ // `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
132
+ string kms_key = 1 [
133
+ (google.api.field_behavior) = REQUIRED,
134
+ (google.api.resource_reference) = {
135
+ type: "cloudkms.googleapis.com/CryptoKeys"
136
+ }
137
+ ];
138
+ }
139
+
140
+ // Configurations used to enable CMEK data encryption with Cloud KMS keys.
141
+ message CmekConfig {
142
+ option (google.api.resource) = {
143
+ type: "discoveryengine.googleapis.com/CmekConfig"
144
+ pattern: "projects/{project}/locations/{location}/cmekConfig"
145
+ pattern: "projects/{project}/locations/{location}/cmekConfigs/{cmek_config}"
146
+ plural: "cmekConfigs"
147
+ singular: "cmekConfig"
148
+ };
149
+
150
+ // States of the CmekConfig.
151
+ enum State {
152
+ // The CmekConfig state is unknown.
153
+ STATE_UNSPECIFIED = 0;
154
+
155
+ // The CmekConfig is creating.
156
+ CREATING = 1;
157
+
158
+ // The CmekConfig can be used with DataStores.
159
+ ACTIVE = 2;
160
+
161
+ // The CmekConfig is unavailable, most likely due to the KMS Key being
162
+ // revoked.
163
+ KEY_ISSUE = 3;
164
+
165
+ // The CmekConfig is deleting.
166
+ DELETING = 4;
167
+
168
+ // The CmekConfig deletion process failed.
169
+ DELETE_FAILED = 7;
170
+
171
+ // The CmekConfig is not usable, most likely due to some internal issue.
172
+ UNUSABLE = 5;
173
+
174
+ // The KMS key version is being rotated.
175
+ ACTIVE_ROTATING = 6;
176
+
177
+ // The KMS key is soft deleted. Some cleanup policy will eventually be
178
+ // applied.
179
+ DELETED = 8;
180
+ }
181
+
182
+ // States of NotebookLM.
183
+ enum NotebookLMState {
184
+ // The NotebookLM state is unknown.
185
+ NOTEBOOK_LM_STATE_UNSPECIFIED = 0;
186
+
187
+ // The NotebookLM is not ready.
188
+ NOTEBOOK_LM_NOT_READY = 1;
189
+
190
+ // The NotebookLM is ready to be used.
191
+ NOTEBOOK_LM_READY = 2;
192
+
193
+ // The NotebookLM is not enabled.
194
+ NOTEBOOK_LM_NOT_ENABLED = 3;
195
+ }
196
+
197
+ // Required. The name of the CmekConfig of the form
198
+ // `projects/{project}/locations/{location}/cmekConfig` or
199
+ // `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
200
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
201
+
202
+ // KMS key resource name which will be used to encrypt resources
203
+ // `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
204
+ string kms_key = 2 [(google.api.resource_reference) = {
205
+ type: "cloudkms.googleapis.com/CryptoKeys"
206
+ }];
207
+
208
+ // KMS key version resource name which will be used to encrypt resources
209
+ // `<kms_key>/cryptoKeyVersions/{keyVersion}`.
210
+ string kms_key_version = 6 [(google.api.resource_reference) = {
211
+ type: "cloudkms.googleapis.com/CryptoKeyVersions"
212
+ }];
213
+
214
+ // Output only. The states of the CmekConfig.
215
+ State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
216
+
217
+ // Output only. The default CmekConfig for the Customer.
218
+ bool is_default = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
219
+
220
+ // Output only. The timestamp of the last key rotation.
221
+ int64 last_rotation_timestamp_micros = 5
222
+ [(google.api.field_behavior) = OUTPUT_ONLY];
223
+
224
+ // Optional. Single-regional CMEKs that are required for some VAIS features.
225
+ repeated SingleRegionKey single_region_keys = 7
226
+ [(google.api.field_behavior) = OPTIONAL];
227
+
228
+ // Output only. Whether the NotebookLM Corpus is ready to be used.
229
+ NotebookLMState notebooklm_state = 8
230
+ [(google.api.field_behavior) = OUTPUT_ONLY];
231
+ }
232
+
233
+ // Metadata related to the progress of the
234
+ // [CmekConfigService.UpdateCmekConfig][google.cloud.discoveryengine.v1.CmekConfigService.UpdateCmekConfig]
235
+ // operation. This will be returned by the google.longrunning.Operation.metadata
236
+ // field.
237
+ message UpdateCmekConfigMetadata {
238
+ // Operation create time.
239
+ google.protobuf.Timestamp create_time = 1;
240
+
241
+ // Operation last update time. If the operation is done, this is also the
242
+ // finish time.
243
+ google.protobuf.Timestamp update_time = 2;
244
+ }
245
+
246
+ // Request message for
247
+ // [CmekConfigService.ListCmekConfigs][google.cloud.discoveryengine.v1.CmekConfigService.ListCmekConfigs]
248
+ // method.
249
+ message ListCmekConfigsRequest {
250
+ // Required. The parent location resource name, such as
251
+ // `projects/{project}/locations/{location}`.
252
+ //
253
+ // If the caller does not have permission to list
254
+ // [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig]s under this
255
+ // location, regardless of whether or not a CmekConfig exists, a
256
+ // PERMISSION_DENIED error is returned.
257
+ string parent = 1 [
258
+ (google.api.field_behavior) = REQUIRED,
259
+ (google.api.resource_reference) = {
260
+ type: "discoveryengine.googleapis.com/Location"
261
+ }
262
+ ];
263
+ }
264
+
265
+ // Response message for
266
+ // [CmekConfigService.ListCmekConfigs][google.cloud.discoveryengine.v1.CmekConfigService.ListCmekConfigs]
267
+ // method.
268
+ message ListCmekConfigsResponse {
269
+ // All the customer's
270
+ // [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig]s.
271
+ repeated CmekConfig cmek_configs = 1;
272
+ }
273
+
274
+ // Request message for
275
+ // [CmekConfigService.DeleteCmekConfig][google.cloud.discoveryengine.v1.CmekConfigService.DeleteCmekConfig]
276
+ // method.
277
+ message DeleteCmekConfigRequest {
278
+ // Required. The resource name of the
279
+ // [CmekConfig][google.cloud.discoveryengine.v1.CmekConfig] to delete, such as
280
+ // `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
281
+ string name = 1 [
282
+ (google.api.field_behavior) = REQUIRED,
283
+ (google.api.resource_reference) = {
284
+ type: "discoveryengine.googleapis.com/CmekConfig"
285
+ }
286
+ ];
287
+ }
288
+
289
+ // Metadata related to the progress of the
290
+ // [CmekConfigService.DeleteCmekConfig][google.cloud.discoveryengine.v1.CmekConfigService.DeleteCmekConfig]
291
+ // operation. This will be returned by the google.longrunning.Operation.metadata
292
+ // field.
293
+ message DeleteCmekConfigMetadata {
294
+ // Operation create time.
295
+ google.protobuf.Timestamp create_time = 1;
296
+
297
+ // Operation last update time. If the operation is done, this is also the
298
+ // finish time.
299
+ google.protobuf.Timestamp update_time = 2;
300
+ }
@@ -48,6 +48,14 @@ option (google.api.resource_definition) = {
48
48
  type: "discoveryengine.googleapis.com/RankingConfig"
49
49
  pattern: "projects/{project}/locations/{location}/rankingConfigs/{ranking_config}"
50
50
  };
51
+ option (google.api.resource_definition) = {
52
+ type: "discoveryengine.googleapis.com/LicenseConfig"
53
+ pattern: "projects/{project}/locations/{location}/licenseConfigs/{license_config}"
54
+ };
55
+ option (google.api.resource_definition) = {
56
+ type: "discoveryengine.googleapis.com/UserStore"
57
+ pattern: "projects/{project}/locations/{location}/userStores/{user_store}"
58
+ };
51
59
  option (google.api.resource_definition) = {
52
60
  type: "healthcare.googleapis.com/FhirStore"
53
61
  pattern: "projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}"
@@ -56,6 +64,14 @@ option (google.api.resource_definition) = {
56
64
  type: "healthcare.googleapis.com/FhirResource"
57
65
  pattern: "projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}"
58
66
  };
67
+ option (google.api.resource_definition) = {
68
+ type: "cloudkms.googleapis.com/CryptoKeys"
69
+ pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
70
+ };
71
+ option (google.api.resource_definition) = {
72
+ type: "cloudkms.googleapis.com/CryptoKeyVersions"
73
+ pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"
74
+ };
59
75
 
60
76
  // The industry vertical associated with the
61
77
  // [DataStore][google.cloud.discoveryengine.v1.DataStore].
@@ -226,6 +242,47 @@ message DoubleList {
226
242
  repeated double values = 1;
227
243
  }
228
244
 
245
+ // Principal identifier of a user or a group.
246
+ message Principal {
247
+ // Union field principal. Principal can be a user or a group.
248
+ oneof principal {
249
+ // User identifier.
250
+ // For Google Workspace user account, user_id should be the google workspace
251
+ // user email.
252
+ // For non-google identity provider user account, user_id is the mapped user
253
+ // identifier configured during the workforcepool config.
254
+ string user_id = 1;
255
+
256
+ // Group identifier.
257
+ // For Google Workspace user account, group_id should be the google
258
+ // workspace group email.
259
+ // For non-google identity provider user account, group_id is the mapped
260
+ // group identifier configured during the workforcepool config.
261
+ string group_id = 2;
262
+
263
+ // For 3P application identities which are not present in the customer
264
+ // identity provider.
265
+ string external_entity_id = 3;
266
+ }
267
+ }
268
+
269
+ // Config to data store for `HEALTHCARE_FHIR` vertical.
270
+ message HealthcareFhirConfig {
271
+ // Whether to enable configurable schema for `HEALTHCARE_FHIR` vertical.
272
+ //
273
+ // If set to `true`, the predefined healthcare fhir schema can be extended
274
+ // for more customized searching and filtering.
275
+ bool enable_configurable_schema = 1;
276
+
277
+ // Whether to enable static indexing for `HEALTHCARE_FHIR` batch
278
+ // ingestion.
279
+ //
280
+ // If set to `true`, the batch ingestion will be processed in a static
281
+ // indexing mode which is slower but more capable of handling larger
282
+ // volume.
283
+ bool enable_static_indexing_for_batch_ingestion = 2;
284
+ }
285
+
229
286
  // Promotion proto includes uri and other helping information to display the
230
287
  // promotion.
231
288
  message SearchLinkPromotion {
@@ -237,6 +294,16 @@ message SearchLinkPromotion {
237
294
  // site search. For other verticals, this is optional.
238
295
  string uri = 2 [(google.api.field_behavior) = OPTIONAL];
239
296
 
297
+ // Optional. The [Document][google.cloud.discoveryengine.v1.Document] the user
298
+ // wants to promote. For site search, leave unset and only populate uri. Can
299
+ // be set along with uri.
300
+ string document = 6 [
301
+ (google.api.field_behavior) = OPTIONAL,
302
+ (google.api.resource_reference) = {
303
+ type: "discoveryengine.googleapis.com/Document"
304
+ }
305
+ ];
306
+
240
307
  // Optional. The promotion thumbnail image url.
241
308
  string image_uri = 3 [(google.api.field_behavior) = OPTIONAL];
242
309