@google-cloud/discoveryengine 2.2.0 → 2.3.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 (129) hide show
  1. package/README.md +13 -0
  2. package/build/protos/google/cloud/discoveryengine/v1/answer.proto +17 -0
  3. package/build/protos/google/cloud/discoveryengine/v1/chunk.proto +52 -0
  4. package/build/protos/google/cloud/discoveryengine/v1/cmek_config_service.proto +300 -0
  5. package/build/protos/google/cloud/discoveryengine/v1/common.proto +67 -0
  6. package/build/protos/google/cloud/discoveryengine/v1/control.proto +1 -3
  7. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +3 -0
  8. package/build/protos/google/cloud/discoveryengine/v1/data_store.proto +54 -2
  9. package/build/protos/google/cloud/discoveryengine/v1/data_store_service.proto +14 -0
  10. package/build/protos/google/cloud/discoveryengine/v1/document.proto +95 -4
  11. package/build/protos/google/cloud/discoveryengine/v1/document_processing_config.proto +28 -1
  12. package/build/protos/google/cloud/discoveryengine/v1/engine.proto +131 -6
  13. package/build/protos/google/cloud/discoveryengine/v1/grounded_generation_service.proto +8 -0
  14. package/build/protos/google/cloud/discoveryengine/v1/grounding.proto +9 -0
  15. package/build/protos/google/cloud/discoveryengine/v1/identity_mapping_store.proto +84 -0
  16. package/build/protos/google/cloud/discoveryengine/v1/identity_mapping_store_service.proto +375 -0
  17. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +6 -0
  18. package/build/protos/google/cloud/discoveryengine/v1/site_search_engine.proto +6 -0
  19. package/build/protos/google/cloud/discoveryengine/v1/user_license.proto +98 -0
  20. package/build/protos/google/cloud/discoveryengine/v1/user_license_service.proto +191 -0
  21. package/build/protos/protos.d.ts +5387 -265
  22. package/build/protos/protos.js +77991 -63105
  23. package/build/protos/protos.json +1512 -91
  24. package/build/src/index.d.ts +10 -1
  25. package/build/src/index.js +8 -2
  26. package/build/src/v1/cmek_config_service_client.d.ts +2287 -0
  27. package/build/src/v1/cmek_config_service_client.js +3274 -0
  28. package/build/src/v1/cmek_config_service_client_config.json +42 -0
  29. package/build/src/v1/cmek_config_service_proto_list.json +44 -0
  30. package/build/src/v1/completion_service_client.d.ts +90 -0
  31. package/build/src/v1/completion_service_client.js +134 -2
  32. package/build/src/v1/completion_service_proto_list.json +6 -1
  33. package/build/src/v1/control_service_client.d.ts +90 -0
  34. package/build/src/v1/control_service_client.js +150 -0
  35. package/build/src/v1/control_service_proto_list.json +6 -1
  36. package/build/src/v1/conversational_search_service_client.d.ts +90 -0
  37. package/build/src/v1/conversational_search_service_client.js +192 -0
  38. package/build/src/v1/conversational_search_service_proto_list.json +6 -1
  39. package/build/src/v1/data_store_service_client.d.ts +96 -0
  40. package/build/src/v1/data_store_service_client.js +140 -2
  41. package/build/src/v1/data_store_service_proto_list.json +6 -1
  42. package/build/src/v1/document_service_client.d.ts +90 -0
  43. package/build/src/v1/document_service_client.js +158 -2
  44. package/build/src/v1/document_service_proto_list.json +6 -1
  45. package/build/src/v1/engine_service_client.d.ts +90 -0
  46. package/build/src/v1/engine_service_client.js +140 -2
  47. package/build/src/v1/engine_service_proto_list.json +6 -1
  48. package/build/src/v1/gapic_metadata.json +184 -0
  49. package/build/src/v1/grounded_generation_service_client.d.ts +90 -0
  50. package/build/src/v1/grounded_generation_service_client.js +138 -0
  51. package/build/src/v1/grounded_generation_service_proto_list.json +6 -1
  52. package/build/src/v1/identity_mapping_store_service_client.d.ts +2470 -0
  53. package/build/src/v1/identity_mapping_store_service_client.js +3449 -0
  54. package/build/src/v1/identity_mapping_store_service_client_config.json +54 -0
  55. package/build/src/v1/identity_mapping_store_service_proto_list.json +44 -0
  56. package/build/src/v1/index.d.ts +3 -0
  57. package/build/src/v1/index.js +7 -1
  58. package/build/src/v1/project_service_client.d.ts +90 -0
  59. package/build/src/v1/project_service_client.js +128 -2
  60. package/build/src/v1/project_service_proto_list.json +6 -1
  61. package/build/src/v1/rank_service_client.d.ts +90 -0
  62. package/build/src/v1/rank_service_client.js +132 -0
  63. package/build/src/v1/rank_service_proto_list.json +6 -1
  64. package/build/src/v1/recommendation_service_client.d.ts +90 -0
  65. package/build/src/v1/recommendation_service_client.js +132 -0
  66. package/build/src/v1/recommendation_service_proto_list.json +6 -1
  67. package/build/src/v1/schema_service_client.d.ts +90 -0
  68. package/build/src/v1/schema_service_client.js +134 -2
  69. package/build/src/v1/schema_service_proto_list.json +6 -1
  70. package/build/src/v1/search_service_client.d.ts +90 -0
  71. package/build/src/v1/search_service_client.js +126 -0
  72. package/build/src/v1/search_service_proto_list.json +6 -1
  73. package/build/src/v1/search_tuning_service_client.d.ts +90 -0
  74. package/build/src/v1/search_tuning_service_client.js +134 -2
  75. package/build/src/v1/search_tuning_service_proto_list.json +6 -1
  76. package/build/src/v1/serving_config_service_client.d.ts +90 -0
  77. package/build/src/v1/serving_config_service_client.js +132 -0
  78. package/build/src/v1/serving_config_service_proto_list.json +6 -1
  79. package/build/src/v1/site_search_engine_service_client.d.ts +90 -0
  80. package/build/src/v1/site_search_engine_service_client.js +146 -2
  81. package/build/src/v1/site_search_engine_service_proto_list.json +6 -1
  82. package/build/src/v1/user_event_service_client.d.ts +90 -0
  83. package/build/src/v1/user_event_service_client.js +140 -2
  84. package/build/src/v1/user_event_service_proto_list.json +6 -1
  85. package/build/src/v1/user_license_service_client.d.ts +2256 -0
  86. package/build/src/v1/user_license_service_client.js +3194 -0
  87. package/build/src/v1/user_license_service_client_config.json +34 -0
  88. package/build/src/v1/user_license_service_proto_list.json +44 -0
  89. package/build/src/v1alpha/acl_config_service_client.js +12 -0
  90. package/build/src/v1alpha/chunk_service_client.js +6 -0
  91. package/build/src/v1alpha/completion_service_client.js +7 -1
  92. package/build/src/v1alpha/control_service_client.js +24 -0
  93. package/build/src/v1alpha/conversational_search_service_client.js +66 -0
  94. package/build/src/v1alpha/data_store_service_client.js +25 -1
  95. package/build/src/v1alpha/document_service_client.js +37 -1
  96. package/build/src/v1alpha/engine_service_client.js +25 -1
  97. package/build/src/v1alpha/estimate_billing_service_client.js +1 -1
  98. package/build/src/v1alpha/evaluation_service_client.js +7 -1
  99. package/build/src/v1alpha/grounded_generation_service_client.js +6 -0
  100. package/build/src/v1alpha/project_service_client.js +13 -1
  101. package/build/src/v1alpha/rank_service_client.js +6 -0
  102. package/build/src/v1alpha/recommendation_service_client.js +6 -0
  103. package/build/src/v1alpha/sample_query_service_client.js +25 -1
  104. package/build/src/v1alpha/sample_query_set_service_client.js +24 -0
  105. package/build/src/v1alpha/schema_service_client.js +7 -1
  106. package/build/src/v1alpha/search_tuning_service_client.js +7 -1
  107. package/build/src/v1alpha/serving_config_service_client.js +12 -0
  108. package/build/src/v1alpha/site_search_engine_service_client.js +19 -1
  109. package/build/src/v1alpha/user_event_service_client.js +13 -1
  110. package/build/src/v1beta/completion_service_client.js +13 -1
  111. package/build/src/v1beta/control_service_client.js +24 -0
  112. package/build/src/v1beta/conversational_search_service_client.js +66 -0
  113. package/build/src/v1beta/data_store_service_client.js +13 -1
  114. package/build/src/v1beta/document_service_client.js +31 -1
  115. package/build/src/v1beta/engine_service_client.js +25 -1
  116. package/build/src/v1beta/evaluation_service_client.js +7 -1
  117. package/build/src/v1beta/grounded_generation_service_client.js +12 -0
  118. package/build/src/v1beta/project_service_client.js +1 -1
  119. package/build/src/v1beta/rank_service_client.js +6 -0
  120. package/build/src/v1beta/recommendation_service_client.js +6 -0
  121. package/build/src/v1beta/sample_query_service_client.js +25 -1
  122. package/build/src/v1beta/sample_query_set_service_client.js +24 -0
  123. package/build/src/v1beta/schema_service_client.js +7 -1
  124. package/build/src/v1beta/search_tuning_service_client.js +7 -1
  125. package/build/src/v1beta/serving_config_service_client.js +12 -0
  126. package/build/src/v1beta/site_search_engine_service_client.js +19 -1
  127. package/build/src/v1beta/user_event_service_client.js +13 -1
  128. package/package.json +7 -7
  129. package/CHANGELOG.md +0 -274
@@ -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
+ }