@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
@@ -77,7 +77,7 @@ message Condition {
77
77
  // Optional. Query regex to match the whole search query.
78
78
  // Cannot be set when
79
79
  // [Condition.query_terms][google.cloud.discoveryengine.v1.Condition.query_terms]
80
- // is set. This is currently supporting promotion use case.
80
+ // is set. Only supported for Basic Site Search promotion serving controls.
81
81
  string query_regex = 4 [(google.api.field_behavior) = OPTIONAL];
82
82
  }
83
83
 
@@ -288,8 +288,6 @@ message Control {
288
288
  SynonymsAction synonyms_action = 10;
289
289
 
290
290
  // Promote certain links based on predefined trigger queries.
291
- //
292
- // This now only supports basic site search.
293
291
  PromoteAction promote_action = 15;
294
292
  }
295
293
 
@@ -833,6 +833,9 @@ message AnswerQueryRequest {
833
833
 
834
834
  // Non-answer-seeking query classification type, for no clear intent.
835
835
  NON_ANSWER_SEEKING_QUERY_V2 = 4;
836
+
837
+ // User defined query classification type.
838
+ USER_DEFINED_CLASSIFICATION_QUERY = 5;
836
839
  }
837
840
 
838
841
  // Enabled query classification types.
@@ -1122,11 +1125,23 @@ message ListSessionsRequest {
1122
1125
  // Provide this to retrieve the subsequent page.
1123
1126
  string page_token = 3;
1124
1127
 
1125
- // A filter to apply on the list results. The supported features are:
1126
- // user_pseudo_id, state.
1128
+ // A comma-separated list of fields to filter by, in EBNF grammar.
1129
+ // The supported fields are:
1130
+ // * `user_pseudo_id`
1131
+ // * `state`
1132
+ // * `display_name`
1133
+ // * `starred`
1134
+ // * `is_pinned`
1135
+ // * `labels`
1136
+ // * `create_time`
1137
+ // * `update_time`
1127
1138
  //
1128
- // Example:
1139
+ // Examples:
1129
1140
  // "user_pseudo_id = some_id"
1141
+ // "display_name = \"some_name\""
1142
+ // "starred = true"
1143
+ // "is_pinned=true AND (NOT labels:hidden)"
1144
+ // "create_time > \"1970-01-01T12:00:00Z\""
1130
1145
  string filter = 4;
1131
1146
 
1132
1147
  // A comma-separated list of fields to order by, sorted in ascending order.
@@ -18,6 +18,7 @@ package google.cloud.discoveryengine.v1;
18
18
 
19
19
  import "google/api/field_behavior.proto";
20
20
  import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1/cmek_config_service.proto";
21
22
  import "google/cloud/discoveryengine/v1/common.proto";
22
23
  import "google/cloud/discoveryengine/v1/document_processing_config.proto";
23
24
  import "google/cloud/discoveryengine/v1/schema.proto";
@@ -83,13 +84,16 @@ message DataStore {
83
84
  GOOGLE_WORKSPACE = 4;
84
85
  }
85
86
 
86
- // Immutable. The full resource name of the data store.
87
+ // Immutable. Identifier. The full resource name of the data store.
87
88
  // Format:
88
89
  // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
89
90
  //
90
91
  // This field must be a UTF-8 encoded string with a length limit of 1024
91
92
  // characters.
92
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
93
+ string name = 1 [
94
+ (google.api.field_behavior) = IMMUTABLE,
95
+ (google.api.field_behavior) = IDENTIFIER
96
+ ];
93
97
 
94
98
  // Required. The data store display name.
95
99
  //
@@ -128,10 +132,42 @@ message DataStore {
128
132
  AdvancedSiteSearchConfig advanced_site_search_config = 12
129
133
  [(google.api.field_behavior) = OPTIONAL];
130
134
 
135
+ // Input only. The KMS key to be used to protect this DataStore at creation
136
+ // time.
137
+ //
138
+ // Must be set for requests that need to comply with CMEK Org Policy
139
+ // protections.
140
+ //
141
+ // If this field is set and processed successfully, the DataStore will be
142
+ // protected by the KMS key, as indicated in the cmek_config field.
143
+ string kms_key_name = 32 [(google.api.field_behavior) = INPUT_ONLY];
144
+
145
+ // Output only. CMEK-related information for the DataStore.
146
+ CmekConfig cmek_config = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
147
+
131
148
  // Output only. Data size estimation for billing.
132
149
  BillingEstimation billing_estimation = 23
133
150
  [(google.api.field_behavior) = OUTPUT_ONLY];
134
151
 
152
+ // Immutable. Whether data in the
153
+ // [DataStore][google.cloud.discoveryengine.v1.DataStore] has ACL information.
154
+ // If set to `true`, the source data must have ACL. ACL will be ingested when
155
+ // data is ingested by
156
+ // [DocumentService.ImportDocuments][google.cloud.discoveryengine.v1.DocumentService.ImportDocuments]
157
+ // methods.
158
+ //
159
+ // When ACL is enabled for the
160
+ // [DataStore][google.cloud.discoveryengine.v1.DataStore],
161
+ // [Document][google.cloud.discoveryengine.v1.Document] can't be accessed by
162
+ // calling
163
+ // [DocumentService.GetDocument][google.cloud.discoveryengine.v1.DocumentService.GetDocument]
164
+ // or
165
+ // [DocumentService.ListDocuments][google.cloud.discoveryengine.v1.DocumentService.ListDocuments].
166
+ //
167
+ // Currently ACL is only supported in `GENERIC` industry vertical with
168
+ // non-`PUBLIC_WEBSITE` content config.
169
+ bool acl_enabled = 24 [(google.api.field_behavior) = IMMUTABLE];
170
+
135
171
  // Config to store data store type configuration for workspace data. This
136
172
  // must be set when
137
173
  // [DataStore.content_config][google.cloud.discoveryengine.v1.DataStore.content_config]
@@ -160,6 +196,22 @@ message DataStore {
160
196
  // Learn more from [this
161
197
  // doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
162
198
  Schema starting_schema = 28;
199
+
200
+ // Optional. Configuration for `HEALTHCARE_FHIR` vertical.
201
+ HealthcareFhirConfig healthcare_fhir_config = 29
202
+ [(google.api.field_behavior) = OPTIONAL];
203
+
204
+ // Immutable. The fully qualified resource name of the associated
205
+ // [IdentityMappingStore][google.cloud.discoveryengine.v1.IdentityMappingStore].
206
+ // This field can only be set for acl_enabled DataStores with `THIRD_PARTY` or
207
+ // `GSUITE` IdP. Format:
208
+ // `projects/{project}/locations/{location}/identityMappingStores/{identity_mapping_store}`.
209
+ string identity_mapping_store = 31 [
210
+ (google.api.field_behavior) = IMMUTABLE,
211
+ (google.api.resource_reference) = {
212
+ type: "discoveryengine.googleapis.com/IdentityMappingStore"
213
+ }
214
+ ];
163
215
  }
164
216
 
165
217
  // Configuration data for advance site search.
@@ -123,6 +123,20 @@ service DataStoreService {
123
123
  // [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1.DataStoreService.CreateDataStore]
124
124
  // method.
125
125
  message CreateDataStoreRequest {
126
+ // CMEK options for the DataStore. Setting this field will override the
127
+ // default CmekConfig if one is set for the project.
128
+ oneof cmek_options {
129
+ // Resource name of the CmekConfig to use for protecting this DataStore.
130
+ string cmek_config_name = 5 [(google.api.resource_reference) = {
131
+ type: "discoveryengine.googleapis.com/CmekConfig"
132
+ }];
133
+
134
+ // DataStore without CMEK protections. If a default CmekConfig is set for
135
+ // the project, setting this field will override the default CmekConfig as
136
+ // well.
137
+ bool disable_cmek = 6;
138
+ }
139
+
126
140
  // Required. The parent resource name, such as
127
141
  // `projects/{project}/locations/{location}/collections/{collection}`.
128
142
  string parent = 1 [
@@ -18,6 +18,7 @@ package google.cloud.discoveryengine.v1;
18
18
 
19
19
  import "google/api/field_behavior.proto";
20
20
  import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1/common.proto";
21
22
  import "google/protobuf/struct.proto";
22
23
  import "google/protobuf/timestamp.proto";
23
24
  import "google/rpc/status.proto";
@@ -42,6 +43,7 @@ message Document {
42
43
 
43
44
  // Unstructured data linked to this document.
44
45
  message Content {
46
+ // The content of the unstructured document.
45
47
  oneof content {
46
48
  // The content represented as a stream of bytes. The maximum length is
47
49
  // 1,000,000 bytes (1 MB / ~0.95 MiB).
@@ -63,14 +65,101 @@ message Document {
63
65
  //
64
66
  // * `application/pdf` (PDF, only native PDFs are supported for now)
65
67
  // * `text/html` (HTML)
68
+ // * `text/plain` (TXT)
69
+ // * `application/xml` or `text/xml` (XML)
70
+ // * `application/json` (JSON)
66
71
  // * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
67
72
  // * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
68
- // * `text/plain` (TXT)
73
+ // * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
74
+ // (XLSX)
75
+ // * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM)
76
+ //
77
+ // The following types are supported only if layout parser is enabled in the
78
+ // data store:
79
+ //
80
+ // * `image/bmp` (BMP)
81
+ // * `image/gif` (GIF)
82
+ // * `image/jpeg` (JPEG)
83
+ // * `image/png` (PNG)
84
+ // * `image/tiff` (TIFF)
69
85
  //
70
86
  // See https://www.iana.org/assignments/media-types/media-types.xhtml.
71
87
  string mime_type = 1;
72
88
  }
73
89
 
90
+ // ACL Information of the Document.
91
+ message AclInfo {
92
+ // AclRestriction to model complex inheritance restrictions.
93
+ //
94
+ // Example: Modeling a "Both Permit" inheritance, where to access a
95
+ // child document, user needs to have access to parent document.
96
+ //
97
+ // Document Hierarchy - Space_S --> Page_P.
98
+ //
99
+ // Readers:
100
+ // Space_S: group_1, user_1
101
+ // Page_P: group_2, group_3, user_2
102
+ //
103
+ // Space_S ACL Restriction -
104
+ // {
105
+ // "acl_info": {
106
+ // "readers": [
107
+ // {
108
+ // "principals": [
109
+ // {
110
+ // "group_id": "group_1"
111
+ // },
112
+ // {
113
+ // "user_id": "user_1"
114
+ // }
115
+ // ]
116
+ // }
117
+ // ]
118
+ // }
119
+ // }
120
+ //
121
+ // Page_P ACL Restriction.
122
+ // {
123
+ // "acl_info": {
124
+ // "readers": [
125
+ // {
126
+ // "principals": [
127
+ // {
128
+ // "group_id": "group_2"
129
+ // },
130
+ // {
131
+ // "group_id": "group_3"
132
+ // },
133
+ // {
134
+ // "user_id": "user_2"
135
+ // }
136
+ // ],
137
+ // },
138
+ // {
139
+ // "principals": [
140
+ // {
141
+ // "group_id": "group_1"
142
+ // },
143
+ // {
144
+ // "user_id": "user_1"
145
+ // }
146
+ // ],
147
+ // }
148
+ // ]
149
+ // }
150
+ // }
151
+ message AccessRestriction {
152
+ // List of principals.
153
+ repeated Principal principals = 1;
154
+
155
+ // All users within the Identity Provider.
156
+ bool idp_wide = 2;
157
+ }
158
+
159
+ // Readers of the document.
160
+ repeated AccessRestriction readers = 1;
161
+ }
162
+
74
163
  // Index status of the document.
75
164
  message IndexStatus {
76
165
  // The time when the document was indexed.
@@ -119,9 +208,8 @@ message Document {
119
208
  // The identifier of the schema located in the same data store.
120
209
  string schema_id = 3;
121
210
 
122
- // The unstructured data linked to this document. Content must be set if this
123
- // document is under a
124
- // `CONTENT_REQUIRED` data store.
211
+ // The unstructured data linked to this document. Content can only be set
212
+ // and must be set if this document is under a `CONTENT_REQUIRED` data store.
125
213
  Content content = 10;
126
214
 
127
215
  // The identifier of the parent document. Currently supports at most two level
@@ -136,6 +224,9 @@ message Document {
136
224
  google.protobuf.Struct derived_struct_data = 6
137
225
  [(google.api.field_behavior) = OUTPUT_ONLY];
138
226
 
227
+ // Access control information for the document.
228
+ AclInfo acl_info = 11;
229
+
139
230
  // Output only. The last time the document was indexed. If this field is set,
140
231
  // the document could be returned in search results.
141
232
  //
@@ -82,7 +82,34 @@ message DocumentProcessingConfig {
82
82
  }
83
83
 
84
84
  // The layout parsing configurations for documents.
85
- message LayoutParsingConfig {}
85
+ message LayoutParsingConfig {
86
+ // Optional. If true, the LLM based annotation is added to the table
87
+ // during parsing.
88
+ bool enable_table_annotation = 1 [(google.api.field_behavior) = OPTIONAL];
89
+
90
+ // Optional. If true, the LLM based annotation is added to the image
91
+ // during parsing.
92
+ bool enable_image_annotation = 2 [(google.api.field_behavior) = OPTIONAL];
93
+
94
+ // Optional. Contains the required structure types to extract from the
95
+ // document. Supported values:
96
+ //
97
+ // * `shareholder-structure`
98
+ repeated string structured_content_types = 9
99
+ [(google.api.field_behavior) = OPTIONAL];
100
+
101
+ // Optional. List of HTML elements to exclude from the parsed content.
102
+ repeated string exclude_html_elements = 10
103
+ [(google.api.field_behavior) = OPTIONAL];
104
+
105
+ // Optional. List of HTML classes to exclude from the parsed content.
106
+ repeated string exclude_html_classes = 11
107
+ [(google.api.field_behavior) = OPTIONAL];
108
+
109
+ // Optional. List of HTML ids to exclude from the parsed content.
110
+ repeated string exclude_html_ids = 12
111
+ [(google.api.field_behavior) = OPTIONAL];
112
+ }
86
113
 
87
114
  // Configs for document processing types.
88
115
  oneof type_dedicated_config {
@@ -54,6 +54,118 @@ message Engine {
54
54
  repeated SearchAddOn search_add_ons = 2;
55
55
  }
56
56
 
57
+ // Additional config specs for a Media Recommendation engine.
58
+ message MediaRecommendationEngineConfig {
59
+ // Custom threshold for `cvr` optimization_objective.
60
+ message OptimizationObjectiveConfig {
61
+ // Required. The name of the field to target. Currently supported
62
+ // values: `watch-percentage`, `watch-time`.
63
+ string target_field = 1 [(google.api.field_behavior) = REQUIRED];
64
+
65
+ // Required. The threshold to be applied to the target (e.g., 0.5).
66
+ float target_field_value_float = 2
67
+ [(google.api.field_behavior) = REQUIRED];
68
+ }
69
+
70
+ // More feature configs of the selected engine type.
71
+ message EngineFeaturesConfig {
72
+ // Feature related configurations applied to a specific type of meida
73
+ // recommendation engines.
74
+ oneof type_dedicated_config {
75
+ // Recommended for you engine feature config.
76
+ RecommendedForYouFeatureConfig recommended_for_you_config = 1;
77
+
78
+ // Most popular engine feature config.
79
+ MostPopularFeatureConfig most_popular_config = 2;
80
+ }
81
+ }
82
+
83
+ // Additional feature configurations for creating a `recommended-for-you`
84
+ // engine.
85
+ message RecommendedForYouFeatureConfig {
86
+ // The type of event with which the engine is queried at prediction time.
87
+ // If set to `generic`, only `view-item`, `media-play`,and
88
+ // `media-complete` will be used as `context-event` in engine training. If
89
+ // set to `view-home-page`, `view-home-page` will also be used as
90
+ // `context-events` in addition to `view-item`, `media-play`, and
91
+ // `media-complete`. Currently supported for the `recommended-for-you`
92
+ // engine. Currently supported values: `view-home-page`, `generic`.
93
+ string context_event_type = 1;
94
+ }
95
+
96
+ // Feature configurations that are required for creating a Most Popular
97
+ // engine.
98
+ message MostPopularFeatureConfig {
99
+ // The time window of which the engine is queried at training and
100
+ // prediction time. Positive integers only. The value translates to the
101
+ // last X days of events. Currently required for the `most-popular-items`
102
+ // engine.
103
+ int64 time_window_days = 1;
104
+ }
105
+
106
+ // The training state of the engine.
107
+ enum TrainingState {
108
+ // Unspecified training state.
109
+ TRAINING_STATE_UNSPECIFIED = 0;
110
+
111
+ // The engine training is paused.
112
+ PAUSED = 1;
113
+
114
+ // The engine is training.
115
+ TRAINING = 2;
116
+ }
117
+
118
+ // Required. The type of engine. e.g., `recommended-for-you`.
119
+ //
120
+ // This field together with
121
+ // [optimization_objective][google.cloud.discoveryengine.v1.Engine.MediaRecommendationEngineConfig.optimization_objective]
122
+ // describe engine metadata to use to control engine training and serving.
123
+ //
124
+ // Currently supported values: `recommended-for-you`, `others-you-may-like`,
125
+ // `more-like-this`, `most-popular-items`.
126
+ string type = 1 [(google.api.field_behavior) = REQUIRED];
127
+
128
+ // The optimization objective. e.g., `cvr`.
129
+ //
130
+ // This field together with
131
+ // [optimization_objective][google.cloud.discoveryengine.v1.Engine.MediaRecommendationEngineConfig.type]
132
+ // describe engine metadata to use to control engine training and serving.
133
+ //
134
+ // Currently supported
135
+ // values: `ctr`, `cvr`.
136
+ //
137
+ // If not specified, we choose default based on engine type.
138
+ // Default depends on type of recommendation:
139
+ //
140
+ // `recommended-for-you` => `ctr`
141
+ //
142
+ // `others-you-may-like` => `ctr`
143
+ string optimization_objective = 2;
144
+
145
+ // Name and value of the custom threshold for cvr optimization_objective.
146
+ // For target_field `watch-time`, target_field_value must be an integer
147
+ // value indicating the media progress time in seconds between (0, 86400]
148
+ // (excludes 0, includes 86400) (e.g., 90).
149
+ // For target_field `watch-percentage`, the target_field_value must be a
150
+ // valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g.,
151
+ // 0.5).
152
+ OptimizationObjectiveConfig optimization_objective_config = 3;
153
+
154
+ // The training state that the engine is in (e.g.
155
+ // `TRAINING` or `PAUSED`).
156
+ //
157
+ // Since part of the cost of running the service
158
+ // is frequency of training - this can be used to determine when to train
159
+ // engine in order to control cost. If not specified: the default value for
160
+ // `CreateEngine` method is `TRAINING`. The default value for
161
+ // `UpdateEngine` method is to keep the state the same as before.
162
+ TrainingState training_state = 4;
163
+
164
+ // Optional. Additional engine features config.
165
+ EngineFeaturesConfig engine_features_config = 5
166
+ [(google.api.field_behavior) = OPTIONAL];
167
+ }
168
+
57
169
  // Configurations for a Chat Engine.
58
170
  message ChatEngineConfig {
59
171
  // Configurations for generating a Dialogflow agent.
@@ -159,6 +271,15 @@ message Engine {
159
271
  // [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type] is
160
272
  // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH].
161
273
  SearchEngineConfig search_engine_config = 13;
274
+
275
+ // Configurations for the Media Engine. Only applicable on the data
276
+ // stores with
277
+ // [solution_type][google.cloud.discoveryengine.v1.Engine.solution_type]
278
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_RECOMMENDATION]
279
+ // and
280
+ // [IndustryVertical.MEDIA][google.cloud.discoveryengine.v1.IndustryVertical.MEDIA]
281
+ // vertical.
282
+ MediaRecommendationEngineConfig media_recommendation_engine_config = 14;
162
283
  }
163
284
 
164
285
  // Engine metadata to monitor the status of the engine.
@@ -171,7 +292,7 @@ message Engine {
171
292
  [(google.api.field_behavior) = OUTPUT_ONLY];
172
293
  }
173
294
 
174
- // Immutable. The fully qualified resource name of the engine.
295
+ // Immutable. Identifier. The fully qualified resource name of the engine.
175
296
  //
176
297
  // This field must be a UTF-8 encoded string with a length limit of 1024
177
298
  // characters.
@@ -180,7 +301,10 @@ message Engine {
180
301
  // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
181
302
  // engine should be 1-63 characters, and valid characters are
182
303
  // /[a-z0-9][a-z0-9-_]*/. Otherwise, an INVALID_ARGUMENT error is returned.
183
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
304
+ string name = 1 [
305
+ (google.api.field_behavior) = IMMUTABLE,
306
+ (google.api.field_behavior) = IDENTIFIER
307
+ ];
184
308
 
185
309
  // Required. The display name of the engine. Should be human readable. UTF-8
186
310
  // encoded string with limit of 1024 characters.
@@ -194,7 +318,7 @@ message Engine {
194
318
  google.protobuf.Timestamp update_time = 4
195
319
  [(google.api.field_behavior) = OUTPUT_ONLY];
196
320
 
197
- // The data stores associated with this engine.
321
+ // Optional. The data stores associated with this engine.
198
322
  //
199
323
  // For
200
324
  // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH]
@@ -212,16 +336,17 @@ message Engine {
212
336
  // [CreateEngineRequest][google.cloud.discoveryengine.v1.CreateEngineRequest],
213
337
  // one DataStore id must be provided as the system will use it for necessary
214
338
  // initializations.
215
- repeated string data_store_ids = 5;
339
+ repeated string data_store_ids = 5 [(google.api.field_behavior) = OPTIONAL];
216
340
 
217
341
  // Required. The solutions of the engine.
218
342
  SolutionType solution_type = 6 [(google.api.field_behavior) = REQUIRED];
219
343
 
220
- // The industry vertical that the engine registers.
344
+ // Optional. The industry vertical that the engine registers.
221
345
  // The restriction of the Engine industry vertical is based on
222
346
  // [DataStore][google.cloud.discoveryengine.v1.DataStore]: Vertical on Engine
223
347
  // has to match vertical of the DataStore linked to the engine.
224
- IndustryVertical industry_vertical = 16;
348
+ IndustryVertical industry_vertical = 16
349
+ [(google.api.field_behavior) = OPTIONAL];
225
350
 
226
351
  // Common config spec that specifies the metadata of the engine.
227
352
  CommonConfig common_config = 15;
@@ -438,6 +438,9 @@ message CheckGroundingSpec {
438
438
  // threshold may lead to more but somewhat weaker citations. If unset, the
439
439
  // threshold will default to 0.6.
440
440
  optional double citation_threshold = 1;
441
+
442
+ // The control flag that enables claim-level grounding score in the response.
443
+ optional bool enable_claim_level_score = 4;
441
444
  }
442
445
 
443
446
  // Request message for
@@ -531,6 +534,11 @@ message CheckGroundingResponse {
531
534
  // [citation_indices][google.cloud.discoveryengine.v1.CheckGroundingResponse.Claim.citation_indices]
532
535
  // should not be returned.
533
536
  optional bool grounding_check_required = 6;
537
+
538
+ // Confidence score for the claim in the answer candidate, in the range of
539
+ // [0, 1]. This is set only when
540
+ // `CheckGroundingRequest.grounding_spec.enable_claim_level_score` is true.
541
+ optional double score = 7;
534
542
  }
535
543
 
536
544
  // The support score for the input answer candidate.
@@ -55,4 +55,13 @@ message FactChunk {
55
55
 
56
56
  // More fine-grained information for the source reference.
57
57
  map<string, string> source_metadata = 3;
58
+
59
+ // The URI of the source.
60
+ string uri = 5;
61
+
62
+ // The title of the source.
63
+ string title = 6;
64
+
65
+ // The domain of the source.
66
+ string domain = 7;
58
67
  }
@@ -0,0 +1,84 @@
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/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1/cmek_config_service.proto";
22
+
23
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
24
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
25
+ option java_multiple_files = true;
26
+ option java_outer_classname = "IdentityMappingStoreProto";
27
+ option java_package = "com.google.cloud.discoveryengine.v1";
28
+ option objc_class_prefix = "DISCOVERYENGINE";
29
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
30
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1";
31
+
32
+ // Identity Mapping Store which contains Identity Mapping Entries.
33
+ message IdentityMappingStore {
34
+ option (google.api.resource) = {
35
+ type: "discoveryengine.googleapis.com/IdentityMappingStore"
36
+ pattern: "projects/{project}/locations/{location}/identityMappingStores/{identity_mapping_store}"
37
+ };
38
+
39
+ // Immutable. The full resource name of the identity mapping store.
40
+ // Format:
41
+ // `projects/{project}/locations/{location}/identityMappingStores/{identity_mapping_store}`.
42
+ // This field must be a UTF-8 encoded string with a length limit of 1024
43
+ // characters.
44
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
45
+
46
+ // Input only. The KMS key to be used to protect this Identity Mapping Store
47
+ // at creation time.
48
+ //
49
+ // Must be set for requests that need to comply with CMEK Org Policy
50
+ // protections.
51
+ //
52
+ // If this field is set and processed successfully, the Identity Mapping Store
53
+ // will be protected by the KMS key, as indicated in the cmek_config field.
54
+ string kms_key_name = 3 [(google.api.field_behavior) = INPUT_ONLY];
55
+
56
+ // Output only. CMEK-related information for the Identity Mapping Store.
57
+ CmekConfig cmek_config = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
58
+ }
59
+
60
+ // Identity Mapping Entry that maps an external identity to an internal
61
+ // identity.
62
+ message IdentityMappingEntry {
63
+ // Union field identity_provider_id. Identity Provider id can be a user or a
64
+ // group.
65
+ oneof identity_provider_id {
66
+ // User identifier.
67
+ // For Google Workspace user account, user_id should be the google workspace
68
+ // user email.
69
+ // For non-google identity provider, user_id is the mapped user identifier
70
+ // configured during the workforcepool config.
71
+ string user_id = 2;
72
+
73
+ // Group identifier.
74
+ // For Google Workspace user account, group_id should be the google
75
+ // workspace group email.
76
+ // For non-google identity provider, group_id is the mapped group identifier
77
+ // configured during the workforcepool config.
78
+ string group_id = 3;
79
+ }
80
+
81
+ // Required. Identity outside the customer identity provider.
82
+ // The length limit of external identity will be of 100 characters.
83
+ string external_identity = 1 [(google.api.field_behavior) = REQUIRED];
84
+ }