@google-cloud/discoveryengine 2.3.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 (228) hide show
  1. package/README.md +17 -0
  2. package/build/protos/google/cloud/discoveryengine/v1/assist_answer.proto +251 -0
  3. package/build/protos/google/cloud/discoveryengine/v1/assistant.proto +44 -0
  4. package/build/protos/google/cloud/discoveryengine/v1/assistant_service.proto +217 -0
  5. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +15 -3
  6. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +8 -14
  7. package/build/protos/google/cloud/discoveryengine/v1/session.proto +21 -8
  8. package/build/protos/google/cloud/discoveryengine/v1/session_service.proto +128 -0
  9. package/build/protos/google/cloud/discoveryengine/v1alpha/common.proto +15 -0
  10. package/build/protos/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto +30 -9
  11. package/build/protos/google/cloud/discoveryengine/v1alpha/search_service.proto +8 -14
  12. package/build/protos/google/cloud/discoveryengine/v1alpha/session.proto +238 -8
  13. package/build/protos/google/cloud/discoveryengine/v1alpha/session_service.proto +201 -0
  14. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +26 -5
  15. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +8 -14
  16. package/build/protos/google/cloud/discoveryengine/v1beta/session.proto +40 -8
  17. package/build/protos/google/cloud/discoveryengine/v1beta/session_service.proto +128 -0
  18. package/build/protos/protos.d.ts +15057 -10636
  19. package/build/protos/protos.js +45523 -34174
  20. package/build/protos/protos.json +4835 -3203
  21. package/build/src/index.d.ts +7 -1
  22. package/build/src/index.js +6 -2
  23. package/build/src/v1/assistant_service_client.d.ts +2058 -0
  24. package/build/src/v1/assistant_service_client.js +2957 -0
  25. package/build/src/v1/assistant_service_client_config.json +43 -0
  26. package/build/src/v1/assistant_service_proto_list.json +48 -0
  27. package/build/src/v1/cmek_config_service_client.d.ts +255 -144
  28. package/build/src/v1/cmek_config_service_client.js +348 -196
  29. package/build/src/v1/cmek_config_service_proto_list.json +4 -0
  30. package/build/src/v1/completion_service_client.d.ts +255 -144
  31. package/build/src/v1/completion_service_client.js +348 -196
  32. package/build/src/v1/completion_service_proto_list.json +4 -0
  33. package/build/src/v1/control_service_client.d.ts +255 -144
  34. package/build/src/v1/control_service_client.js +348 -196
  35. package/build/src/v1/control_service_proto_list.json +4 -0
  36. package/build/src/v1/conversational_search_service_client.d.ts +302 -155
  37. package/build/src/v1/conversational_search_service_client.js +380 -204
  38. package/build/src/v1/conversational_search_service_proto_list.json +4 -0
  39. package/build/src/v1/data_store_service_client.d.ts +255 -144
  40. package/build/src/v1/data_store_service_client.js +348 -196
  41. package/build/src/v1/data_store_service_proto_list.json +4 -0
  42. package/build/src/v1/document_service_client.d.ts +255 -144
  43. package/build/src/v1/document_service_client.js +348 -196
  44. package/build/src/v1/document_service_proto_list.json +4 -0
  45. package/build/src/v1/engine_service_client.d.ts +255 -144
  46. package/build/src/v1/engine_service_client.js +348 -196
  47. package/build/src/v1/engine_service_proto_list.json +4 -0
  48. package/build/src/v1/gapic_metadata.json +86 -0
  49. package/build/src/v1/grounded_generation_service_client.d.ts +255 -144
  50. package/build/src/v1/grounded_generation_service_client.js +348 -196
  51. package/build/src/v1/grounded_generation_service_proto_list.json +4 -0
  52. package/build/src/v1/identity_mapping_store_service_client.d.ts +255 -144
  53. package/build/src/v1/identity_mapping_store_service_client.js +348 -196
  54. package/build/src/v1/identity_mapping_store_service_proto_list.json +4 -0
  55. package/build/src/v1/index.d.ts +2 -0
  56. package/build/src/v1/index.js +5 -1
  57. package/build/src/v1/project_service_client.d.ts +255 -144
  58. package/build/src/v1/project_service_client.js +348 -196
  59. package/build/src/v1/project_service_proto_list.json +4 -0
  60. package/build/src/v1/rank_service_client.d.ts +255 -144
  61. package/build/src/v1/rank_service_client.js +348 -196
  62. package/build/src/v1/rank_service_proto_list.json +4 -0
  63. package/build/src/v1/recommendation_service_client.d.ts +255 -144
  64. package/build/src/v1/recommendation_service_client.js +348 -196
  65. package/build/src/v1/recommendation_service_proto_list.json +4 -0
  66. package/build/src/v1/schema_service_client.d.ts +255 -144
  67. package/build/src/v1/schema_service_client.js +348 -196
  68. package/build/src/v1/schema_service_proto_list.json +4 -0
  69. package/build/src/v1/search_service_client.d.ts +303 -228
  70. package/build/src/v1/search_service_client.js +380 -252
  71. package/build/src/v1/search_service_proto_list.json +4 -0
  72. package/build/src/v1/search_tuning_service_client.d.ts +255 -144
  73. package/build/src/v1/search_tuning_service_client.js +348 -196
  74. package/build/src/v1/search_tuning_service_proto_list.json +4 -0
  75. package/build/src/v1/serving_config_service_client.d.ts +255 -144
  76. package/build/src/v1/serving_config_service_client.js +348 -196
  77. package/build/src/v1/serving_config_service_proto_list.json +4 -0
  78. package/build/src/v1/session_service_client.d.ts +2326 -0
  79. package/build/src/v1/session_service_client.js +3218 -0
  80. package/build/src/v1/session_service_client_config.json +63 -0
  81. package/build/src/v1/session_service_proto_list.json +48 -0
  82. package/build/src/v1/site_search_engine_service_client.d.ts +255 -144
  83. package/build/src/v1/site_search_engine_service_client.js +348 -196
  84. package/build/src/v1/site_search_engine_service_proto_list.json +4 -0
  85. package/build/src/v1/user_event_service_client.d.ts +255 -144
  86. package/build/src/v1/user_event_service_client.js +348 -196
  87. package/build/src/v1/user_event_service_proto_list.json +4 -0
  88. package/build/src/v1/user_license_service_client.d.ts +255 -144
  89. package/build/src/v1/user_license_service_client.js +348 -196
  90. package/build/src/v1/user_license_service_proto_list.json +4 -0
  91. package/build/src/v1alpha/acl_config_service_client.d.ts +144 -144
  92. package/build/src/v1alpha/acl_config_service_client.js +196 -196
  93. package/build/src/v1alpha/acl_config_service_proto_list.json +1 -0
  94. package/build/src/v1alpha/chunk_service_client.d.ts +144 -144
  95. package/build/src/v1alpha/chunk_service_client.js +196 -196
  96. package/build/src/v1alpha/chunk_service_proto_list.json +1 -0
  97. package/build/src/v1alpha/completion_service_client.d.ts +144 -144
  98. package/build/src/v1alpha/completion_service_client.js +196 -196
  99. package/build/src/v1alpha/completion_service_proto_list.json +1 -0
  100. package/build/src/v1alpha/control_service_client.d.ts +144 -144
  101. package/build/src/v1alpha/control_service_client.js +196 -196
  102. package/build/src/v1alpha/control_service_proto_list.json +1 -0
  103. package/build/src/v1alpha/conversational_search_service_client.d.ts +221 -167
  104. package/build/src/v1alpha/conversational_search_service_client.js +244 -210
  105. package/build/src/v1alpha/conversational_search_service_proto_list.json +1 -0
  106. package/build/src/v1alpha/data_store_service_client.d.ts +144 -144
  107. package/build/src/v1alpha/data_store_service_client.js +196 -196
  108. package/build/src/v1alpha/data_store_service_proto_list.json +1 -0
  109. package/build/src/v1alpha/document_service_client.d.ts +144 -144
  110. package/build/src/v1alpha/document_service_client.js +196 -196
  111. package/build/src/v1alpha/document_service_proto_list.json +1 -0
  112. package/build/src/v1alpha/engine_service_client.d.ts +144 -144
  113. package/build/src/v1alpha/engine_service_client.js +196 -196
  114. package/build/src/v1alpha/engine_service_proto_list.json +1 -0
  115. package/build/src/v1alpha/estimate_billing_service_client.d.ts +144 -144
  116. package/build/src/v1alpha/estimate_billing_service_client.js +196 -196
  117. package/build/src/v1alpha/estimate_billing_service_proto_list.json +1 -0
  118. package/build/src/v1alpha/evaluation_service_client.d.ts +144 -144
  119. package/build/src/v1alpha/evaluation_service_client.js +196 -196
  120. package/build/src/v1alpha/evaluation_service_proto_list.json +1 -0
  121. package/build/src/v1alpha/gapic_metadata.json +82 -0
  122. package/build/src/v1alpha/grounded_generation_service_client.d.ts +144 -144
  123. package/build/src/v1alpha/grounded_generation_service_client.js +196 -196
  124. package/build/src/v1alpha/grounded_generation_service_proto_list.json +1 -0
  125. package/build/src/v1alpha/index.d.ts +1 -0
  126. package/build/src/v1alpha/index.js +3 -1
  127. package/build/src/v1alpha/project_service_client.d.ts +144 -144
  128. package/build/src/v1alpha/project_service_client.js +196 -196
  129. package/build/src/v1alpha/project_service_proto_list.json +1 -0
  130. package/build/src/v1alpha/rank_service_client.d.ts +144 -144
  131. package/build/src/v1alpha/rank_service_client.js +196 -196
  132. package/build/src/v1alpha/rank_service_proto_list.json +1 -0
  133. package/build/src/v1alpha/recommendation_service_client.d.ts +144 -144
  134. package/build/src/v1alpha/recommendation_service_client.js +196 -196
  135. package/build/src/v1alpha/recommendation_service_proto_list.json +1 -0
  136. package/build/src/v1alpha/sample_query_service_client.d.ts +144 -144
  137. package/build/src/v1alpha/sample_query_service_client.js +196 -196
  138. package/build/src/v1alpha/sample_query_service_proto_list.json +1 -0
  139. package/build/src/v1alpha/sample_query_set_service_client.d.ts +144 -144
  140. package/build/src/v1alpha/sample_query_set_service_client.js +196 -196
  141. package/build/src/v1alpha/sample_query_set_service_proto_list.json +1 -0
  142. package/build/src/v1alpha/schema_service_client.d.ts +144 -144
  143. package/build/src/v1alpha/schema_service_client.js +196 -196
  144. package/build/src/v1alpha/schema_service_proto_list.json +1 -0
  145. package/build/src/v1alpha/search_service_client.d.ts +168 -186
  146. package/build/src/v1alpha/search_service_client.js +212 -224
  147. package/build/src/v1alpha/search_service_proto_list.json +1 -0
  148. package/build/src/v1alpha/search_tuning_service_client.d.ts +144 -144
  149. package/build/src/v1alpha/search_tuning_service_client.js +196 -196
  150. package/build/src/v1alpha/search_tuning_service_proto_list.json +1 -0
  151. package/build/src/v1alpha/serving_config_service_client.d.ts +144 -144
  152. package/build/src/v1alpha/serving_config_service_client.js +196 -196
  153. package/build/src/v1alpha/serving_config_service_proto_list.json +1 -0
  154. package/build/src/v1alpha/session_service_client.d.ts +2331 -0
  155. package/build/src/v1alpha/session_service_client.js +3161 -0
  156. package/build/src/v1alpha/session_service_client_config.json +68 -0
  157. package/build/src/v1alpha/session_service_proto_list.json +49 -0
  158. package/build/src/v1alpha/site_search_engine_service_client.d.ts +144 -144
  159. package/build/src/v1alpha/site_search_engine_service_client.js +196 -196
  160. package/build/src/v1alpha/site_search_engine_service_proto_list.json +1 -0
  161. package/build/src/v1alpha/user_event_service_client.d.ts +144 -144
  162. package/build/src/v1alpha/user_event_service_client.js +196 -196
  163. package/build/src/v1alpha/user_event_service_proto_list.json +1 -0
  164. package/build/src/v1beta/completion_service_client.d.ts +144 -144
  165. package/build/src/v1beta/completion_service_client.js +196 -196
  166. package/build/src/v1beta/completion_service_proto_list.json +1 -0
  167. package/build/src/v1beta/control_service_client.d.ts +144 -144
  168. package/build/src/v1beta/control_service_client.js +196 -196
  169. package/build/src/v1beta/control_service_proto_list.json +1 -0
  170. package/build/src/v1beta/conversational_search_service_client.d.ts +215 -161
  171. package/build/src/v1beta/conversational_search_service_client.js +242 -208
  172. package/build/src/v1beta/conversational_search_service_proto_list.json +1 -0
  173. package/build/src/v1beta/data_store_service_client.d.ts +144 -144
  174. package/build/src/v1beta/data_store_service_client.js +196 -196
  175. package/build/src/v1beta/data_store_service_proto_list.json +1 -0
  176. package/build/src/v1beta/document_service_client.d.ts +144 -144
  177. package/build/src/v1beta/document_service_client.js +196 -196
  178. package/build/src/v1beta/document_service_proto_list.json +1 -0
  179. package/build/src/v1beta/engine_service_client.d.ts +144 -144
  180. package/build/src/v1beta/engine_service_client.js +196 -196
  181. package/build/src/v1beta/engine_service_proto_list.json +1 -0
  182. package/build/src/v1beta/evaluation_service_client.d.ts +144 -144
  183. package/build/src/v1beta/evaluation_service_client.js +196 -196
  184. package/build/src/v1beta/evaluation_service_proto_list.json +1 -0
  185. package/build/src/v1beta/gapic_metadata.json +68 -0
  186. package/build/src/v1beta/grounded_generation_service_client.d.ts +144 -144
  187. package/build/src/v1beta/grounded_generation_service_client.js +196 -196
  188. package/build/src/v1beta/grounded_generation_service_proto_list.json +1 -0
  189. package/build/src/v1beta/index.d.ts +1 -0
  190. package/build/src/v1beta/index.js +3 -1
  191. package/build/src/v1beta/project_service_client.d.ts +144 -144
  192. package/build/src/v1beta/project_service_client.js +196 -196
  193. package/build/src/v1beta/project_service_proto_list.json +1 -0
  194. package/build/src/v1beta/rank_service_client.d.ts +144 -144
  195. package/build/src/v1beta/rank_service_client.js +196 -196
  196. package/build/src/v1beta/rank_service_proto_list.json +1 -0
  197. package/build/src/v1beta/recommendation_service_client.d.ts +144 -144
  198. package/build/src/v1beta/recommendation_service_client.js +196 -196
  199. package/build/src/v1beta/recommendation_service_proto_list.json +1 -0
  200. package/build/src/v1beta/sample_query_service_client.d.ts +144 -144
  201. package/build/src/v1beta/sample_query_service_client.js +196 -196
  202. package/build/src/v1beta/sample_query_service_proto_list.json +1 -0
  203. package/build/src/v1beta/sample_query_set_service_client.d.ts +144 -144
  204. package/build/src/v1beta/sample_query_set_service_client.js +196 -196
  205. package/build/src/v1beta/sample_query_set_service_proto_list.json +1 -0
  206. package/build/src/v1beta/schema_service_client.d.ts +144 -144
  207. package/build/src/v1beta/schema_service_client.js +196 -196
  208. package/build/src/v1beta/schema_service_proto_list.json +1 -0
  209. package/build/src/v1beta/search_service_client.d.ts +192 -228
  210. package/build/src/v1beta/search_service_client.js +228 -252
  211. package/build/src/v1beta/search_service_proto_list.json +1 -0
  212. package/build/src/v1beta/search_tuning_service_client.d.ts +144 -144
  213. package/build/src/v1beta/search_tuning_service_client.js +196 -196
  214. package/build/src/v1beta/search_tuning_service_proto_list.json +1 -0
  215. package/build/src/v1beta/serving_config_service_client.d.ts +144 -144
  216. package/build/src/v1beta/serving_config_service_client.js +196 -196
  217. package/build/src/v1beta/serving_config_service_proto_list.json +1 -0
  218. package/build/src/v1beta/session_service_client.d.ts +2266 -0
  219. package/build/src/v1beta/session_service_client.js +3136 -0
  220. package/build/src/v1beta/session_service_client_config.json +63 -0
  221. package/build/src/v1beta/session_service_proto_list.json +45 -0
  222. package/build/src/v1beta/site_search_engine_service_client.d.ts +144 -144
  223. package/build/src/v1beta/site_search_engine_service_client.js +196 -196
  224. package/build/src/v1beta/site_search_engine_service_proto_list.json +1 -0
  225. package/build/src/v1beta/user_event_service_client.d.ts +144 -144
  226. package/build/src/v1beta/user_event_service_client.js +196 -196
  227. package/build/src/v1beta/user_event_service_proto_list.json +1 -0
  228. package/package.json +1 -1
@@ -0,0 +1,201 @@
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.v1alpha;
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/v1alpha/conversational_search_service.proto";
24
+ import "google/cloud/discoveryengine/v1alpha/session.proto";
25
+ import "google/protobuf/empty.proto";
26
+
27
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
28
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "SessionServiceProto";
31
+ option java_package = "com.google.cloud.discoveryengine.v1alpha";
32
+ option objc_class_prefix = "DISCOVERYENGINE";
33
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
34
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
35
+
36
+ // Service for managing Sessions and Session-related resources.
37
+ service SessionService {
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
+ // Creates a Session.
43
+ //
44
+ // If the [Session][google.cloud.discoveryengine.v1alpha.Session] to create
45
+ // already exists, an ALREADY_EXISTS error is returned.
46
+ rpc CreateSession(CreateSessionRequest) returns (Session) {
47
+ option (google.api.http) = {
48
+ post: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/sessions"
49
+ body: "session"
50
+ additional_bindings {
51
+ post: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/sessions"
52
+ body: "session"
53
+ }
54
+ additional_bindings {
55
+ post: "/v1alpha/{parent=projects/*/locations/*/collections/*/engines/*}/sessions"
56
+ body: "session"
57
+ }
58
+ };
59
+ option (google.api.method_signature) = "parent,session";
60
+ }
61
+
62
+ // Deletes a Session.
63
+ //
64
+ // If the [Session][google.cloud.discoveryengine.v1alpha.Session] to delete
65
+ // does not exist, a NOT_FOUND error is returned.
66
+ rpc DeleteSession(DeleteSessionRequest) returns (google.protobuf.Empty) {
67
+ option (google.api.http) = {
68
+ delete: "/v1alpha/{name=projects/*/locations/*/dataStores/*/sessions/*}"
69
+ additional_bindings {
70
+ delete: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
71
+ }
72
+ additional_bindings {
73
+ delete: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
74
+ }
75
+ };
76
+ option (google.api.method_signature) = "name";
77
+ }
78
+
79
+ // Updates a Session.
80
+ //
81
+ // [Session][google.cloud.discoveryengine.v1alpha.Session] action type cannot
82
+ // be changed. If the [Session][google.cloud.discoveryengine.v1alpha.Session]
83
+ // to update does not exist, a NOT_FOUND error is returned.
84
+ rpc UpdateSession(UpdateSessionRequest) returns (Session) {
85
+ option (google.api.http) = {
86
+ patch: "/v1alpha/{session.name=projects/*/locations/*/dataStores/*/sessions/*}"
87
+ body: "session"
88
+ additional_bindings {
89
+ patch: "/v1alpha/{session.name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
90
+ body: "session"
91
+ }
92
+ additional_bindings {
93
+ patch: "/v1alpha/{session.name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
94
+ body: "session"
95
+ }
96
+ };
97
+ option (google.api.method_signature) = "session,update_mask";
98
+ }
99
+
100
+ // Gets a Session.
101
+ rpc GetSession(GetSessionRequest) returns (Session) {
102
+ option (google.api.http) = {
103
+ get: "/v1alpha/{name=projects/*/locations/*/dataStores/*/sessions/*}"
104
+ additional_bindings {
105
+ get: "/v1alpha/{name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
106
+ }
107
+ additional_bindings {
108
+ get: "/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
109
+ }
110
+ };
111
+ option (google.api.method_signature) = "name";
112
+ }
113
+
114
+ // Lists all Sessions by their parent
115
+ // [DataStore][google.cloud.discoveryengine.v1alpha.DataStore].
116
+ rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
117
+ option (google.api.http) = {
118
+ get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/sessions"
119
+ additional_bindings {
120
+ get: "/v1alpha/{parent=projects/*/locations/*/collections/*/dataStores/*}/sessions"
121
+ }
122
+ additional_bindings {
123
+ get: "/v1alpha/{parent=projects/*/locations/*/collections/*/engines/*}/sessions"
124
+ }
125
+ };
126
+ option (google.api.method_signature) = "parent";
127
+ }
128
+
129
+ // Lists metadata for all files in the current session.
130
+ rpc ListFiles(ListFilesRequest) returns (ListFilesResponse) {
131
+ option (google.api.http) = {
132
+ get: "/v1alpha/{parent=projects/*/locations/*/collections/*/engines/*/sessions/*}/files"
133
+ };
134
+ option (google.api.method_signature) = "parent";
135
+ }
136
+ }
137
+
138
+ // Request message for
139
+ // [SessionService.ListFiles][google.cloud.discoveryengine.v1alpha.SessionService.ListFiles]
140
+ // method.
141
+ message ListFilesRequest {
142
+ // Required. The resource name of the Session.
143
+ // Format:
144
+ // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`
145
+ // Name of the session resource to which the file belong.
146
+ string parent = 1 [
147
+ (google.api.field_behavior) = REQUIRED,
148
+ (google.api.resource_reference) = {
149
+ type: "discoveryengine.googleapis.com/Session"
150
+ }
151
+ ];
152
+
153
+ // Optional. The filter syntax consists of an expression language for
154
+ // constructing a predicate from one or more fields of the files being
155
+ // filtered. Filter expression is case-sensitive. Currently supported field
156
+ // names are:
157
+ // * upload_time
158
+ // * last_add_time
159
+ // * last_use_time
160
+ // * file_name
161
+ // * mime_type
162
+ //
163
+ // Some examples of filters would be:
164
+ // * "file_name = 'file_1'"
165
+ // * "file_name = 'file_1' AND mime_type = 'text/plain'"
166
+ // * "last_use_time > '2025-06-14T12:00:00Z'"
167
+ //
168
+ // For a full description of the filter format, please
169
+ // see https://google.aip.dev/160.
170
+ string filter = 2 [(google.api.field_behavior) = OPTIONAL];
171
+
172
+ // Optional. The maximum number of files to return. The service may return
173
+ // fewer than this value. If unspecified, at most 100 files will be returned.
174
+ // The maximum value is 1000; values above 1000 will be coerced to 1000.
175
+ // If user specifies a value less than or equal to 0 - the request will be
176
+ // rejected with an INVALID_ARGUMENT error.
177
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
178
+
179
+ // Optional. A page token received from a previous `ListFiles` call.
180
+ // Provide this to retrieve the subsequent page.
181
+ //
182
+ // When paginating, all other parameters provided to `ListFiles`
183
+ // must match the call that provided the page token (except `page_size`, which
184
+ // may differ).
185
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
186
+ }
187
+
188
+ // Response message for
189
+ // [SessionService.ListFiles][google.cloud.discoveryengine.v1alpha.SessionService.ListFiles]
190
+ // method.
191
+ message ListFilesResponse {
192
+ // The [FileMetadata][google.cloud.discoveryengine.v1alpha.FileMetadata]s.
193
+ repeated FileMetadata files = 1;
194
+
195
+ // A token to retrieve next page of results.
196
+ // Pass this value in the
197
+ // [ListFilesRequest.page_token][google.cloud.discoveryengine.v1main.ListFilesRequest.page_token]
198
+ // field in the subsequent call to `ListFiles` method to
199
+ // retrieve the next page of results.
200
+ string next_page_token = 3;
201
+ }
@@ -980,6 +980,10 @@ message GetSessionRequest {
980
980
  type: "discoveryengine.googleapis.com/Session"
981
981
  }
982
982
  ];
983
+
984
+ // Optional. If set to true, the full session including all answer details
985
+ // will be returned.
986
+ bool include_answer_details = 2 [(google.api.field_behavior) = OPTIONAL];
983
987
  }
984
988
 
985
989
  // Request for ListSessions method.
@@ -1001,23 +1005,40 @@ message ListSessionsRequest {
1001
1005
  // Provide this to retrieve the subsequent page.
1002
1006
  string page_token = 3;
1003
1007
 
1004
- // A filter to apply on the list results. The supported features are:
1005
- // user_pseudo_id, state.
1008
+ // A comma-separated list of fields to filter by, in EBNF grammar.
1009
+ // The supported fields are:
1010
+ // * `user_pseudo_id`
1011
+ // * `state`
1012
+ // * `display_name`
1013
+ // * `starred`
1014
+ // * `is_pinned`
1015
+ // * `labels`
1016
+ // * `create_time`
1017
+ // * `update_time`
1006
1018
  //
1007
- // Example:
1019
+ // Examples:
1008
1020
  // "user_pseudo_id = some_id"
1021
+ // "display_name = \"some_name\""
1022
+ // "starred = true"
1023
+ // "is_pinned=true AND (NOT labels:hidden)"
1024
+ // "create_time > \"1970-01-01T12:00:00Z\""
1009
1025
  string filter = 4;
1010
1026
 
1011
1027
  // A comma-separated list of fields to order by, sorted in ascending order.
1012
1028
  // Use "desc" after a field name for descending.
1013
1029
  // Supported fields:
1030
+ //
1014
1031
  // * `update_time`
1015
1032
  // * `create_time`
1016
1033
  // * `session_name`
1034
+ // * `is_pinned`
1017
1035
  //
1018
1036
  // Example:
1019
- // "update_time desc"
1020
- // "create_time"
1037
+ //
1038
+ // * "update_time desc"
1039
+ // * "create_time"
1040
+ // * "is_pinned desc,update_time desc": list sessions by is_pinned first, then
1041
+ // by update_time.
1021
1042
  string order_by = 5;
1022
1043
  }
1023
1044
 
@@ -1102,22 +1102,16 @@ message SearchRequest {
1102
1102
  // between /search API calls and /answer API calls.
1103
1103
  //
1104
1104
  // Example #1 (multi-turn /search API calls):
1105
- // 1. Call /search API with the auto-session mode (see below).
1106
- // 2. Call /search API with the session ID generated in the first call.
1107
- // Here, the previous search query gets considered in query
1108
- // standing. I.e., if the first query is "How did Alphabet do in 2022?"
1109
- // and the current query is "How about 2023?", the current query will
1110
- // be interpreted as "How did Alphabet do in 2023?".
1105
+ // Call /search API with the session ID generated in the first call.
1106
+ // Here, the previous search query gets considered in query
1107
+ // standing. I.e., if the first query is "How did Alphabet do in 2022?"
1108
+ // and the current query is "How about 2023?", the current query will
1109
+ // be interpreted as "How did Alphabet do in 2023?".
1111
1110
  //
1112
1111
  // Example #2 (coordination between /search API calls and /answer API calls):
1113
- // 1. Call /search API with the auto-session mode (see below).
1114
- // 2. Call /answer API with the session ID generated in the first call.
1115
- // Here, the answer generation happens in the context of the search
1116
- // results from the first search call.
1117
- //
1118
- // Auto-session mode: when `projects/.../sessions/-` is used, a new session
1119
- // gets automatically created. Otherwise, users can use the create-session API
1120
- // to create a session manually.
1112
+ // Call /answer API with the session ID generated in the first call.
1113
+ // Here, the answer generation happens in the context of the search
1114
+ // results from the first search call.
1121
1115
  //
1122
1116
  // Multi-turn Search feature is currently at private GA stage. Please use
1123
1117
  // v1alpha or v1beta version instead before we launch this feature to public
@@ -18,6 +18,7 @@ package google.cloud.discoveryengine.v1beta;
18
18
 
19
19
  import "google/api/field_behavior.proto";
20
20
  import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1beta/answer.proto";
21
22
  import "google/protobuf/timestamp.proto";
22
23
 
23
24
  option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
@@ -36,21 +37,42 @@ message Session {
36
37
  pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}"
37
38
  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}"
38
39
  pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}"
40
+ plural: "sessions"
41
+ singular: "session"
39
42
  };
40
43
 
41
44
  // Represents a turn, including a query from the user and a
42
45
  // answer from service.
43
46
  message Turn {
44
- // The user query.
45
- Query query = 1;
47
+ // Optional. The user query. May not be set if this turn is merely
48
+ // regenerating an answer to a different turn
49
+ Query query = 1 [(google.api.field_behavior) = OPTIONAL];
46
50
 
47
- // The resource name of the answer to the user query.
51
+ // Optional. The resource name of the answer to the user query.
48
52
  //
49
53
  // Only set if the answer generation (/answer API call) happened in this
50
54
  // turn.
51
- string answer = 2 [(google.api.resource_reference) = {
52
- type: "discoveryengine.googleapis.com/Answer"
53
- }];
55
+ string answer = 2 [
56
+ (google.api.field_behavior) = OPTIONAL,
57
+ (google.api.resource_reference) = {
58
+ type: "discoveryengine.googleapis.com/Answer"
59
+ }
60
+ ];
61
+
62
+ // Output only. In
63
+ // [ConversationalSearchService.GetSession][google.cloud.discoveryengine.v1beta.ConversationalSearchService.GetSession]
64
+ // API, if
65
+ // [GetSessionRequest.include_answer_details][google.cloud.discoveryengine.v1beta.GetSessionRequest.include_answer_details]
66
+ // is set to true, this field will be populated when getting answer query
67
+ // session.
68
+ Answer detailed_answer = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
69
+
70
+ // Optional. Represents metadata related to the query config, for example
71
+ // LLM model and version used, model parameters (temperature, grounding
72
+ // parameters, etc.). The prefix "google." is reserved for Google-developed
73
+ // functionality.
74
+ map<string, string> query_config = 16
75
+ [(google.api.field_behavior) = OPTIONAL];
54
76
  }
55
77
 
56
78
  // Enumeration of the state of the session.
@@ -66,6 +88,12 @@ message Session {
66
88
  // `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
67
89
  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
68
90
 
91
+ // Optional. The display name of the session.
92
+ //
93
+ // This field is used to identify the session in the UI.
94
+ // By default, the display name is the first turn query text in the session.
95
+ string display_name = 7 [(google.api.field_behavior) = OPTIONAL];
96
+
69
97
  // The state of the session.
70
98
  State state = 2;
71
99
 
@@ -82,6 +110,10 @@ message Session {
82
110
  // Output only. The time the session finished.
83
111
  google.protobuf.Timestamp end_time = 6
84
112
  [(google.api.field_behavior) = OUTPUT_ONLY];
113
+
114
+ // Optional. Whether the session is pinned, pinned session will be displayed
115
+ // on the top of the session list.
116
+ bool is_pinned = 8 [(google.api.field_behavior) = OPTIONAL];
85
117
  }
86
118
 
87
119
  // Defines a user inputed query.
@@ -92,6 +124,6 @@ message Query {
92
124
  string text = 2;
93
125
  }
94
126
 
95
- // Unique Id for the query.
96
- string query_id = 1;
127
+ // Output only. Unique Id for the query.
128
+ string query_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
97
129
  }
@@ -0,0 +1,128 @@
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.v1beta;
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/v1beta/conversational_search_service.proto";
24
+ import "google/cloud/discoveryengine/v1beta/session.proto";
25
+ import "google/protobuf/empty.proto";
26
+
27
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
28
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "SessionServiceProto";
31
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
32
+ option objc_class_prefix = "DISCOVERYENGINE";
33
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
34
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
35
+
36
+ // Service for managing Sessions and Session-related resources.
37
+ service SessionService {
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
+ // Creates a Session.
43
+ //
44
+ // If the [Session][google.cloud.discoveryengine.v1beta.Session] to create
45
+ // already exists, an ALREADY_EXISTS error is returned.
46
+ rpc CreateSession(CreateSessionRequest) returns (Session) {
47
+ option (google.api.http) = {
48
+ post: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/sessions"
49
+ body: "session"
50
+ additional_bindings {
51
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/sessions"
52
+ body: "session"
53
+ }
54
+ additional_bindings {
55
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/sessions"
56
+ body: "session"
57
+ }
58
+ };
59
+ option (google.api.method_signature) = "parent,session";
60
+ }
61
+
62
+ // Deletes a Session.
63
+ //
64
+ // If the [Session][google.cloud.discoveryengine.v1beta.Session] to delete
65
+ // does not exist, a NOT_FOUND error is returned.
66
+ rpc DeleteSession(DeleteSessionRequest) returns (google.protobuf.Empty) {
67
+ option (google.api.http) = {
68
+ delete: "/v1beta/{name=projects/*/locations/*/dataStores/*/sessions/*}"
69
+ additional_bindings {
70
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
71
+ }
72
+ additional_bindings {
73
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
74
+ }
75
+ };
76
+ option (google.api.method_signature) = "name";
77
+ }
78
+
79
+ // Updates a Session.
80
+ //
81
+ // [Session][google.cloud.discoveryengine.v1beta.Session] action type cannot
82
+ // be changed. If the [Session][google.cloud.discoveryengine.v1beta.Session]
83
+ // to update does not exist, a NOT_FOUND error is returned.
84
+ rpc UpdateSession(UpdateSessionRequest) returns (Session) {
85
+ option (google.api.http) = {
86
+ patch: "/v1beta/{session.name=projects/*/locations/*/dataStores/*/sessions/*}"
87
+ body: "session"
88
+ additional_bindings {
89
+ patch: "/v1beta/{session.name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
90
+ body: "session"
91
+ }
92
+ additional_bindings {
93
+ patch: "/v1beta/{session.name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
94
+ body: "session"
95
+ }
96
+ };
97
+ option (google.api.method_signature) = "session,update_mask";
98
+ }
99
+
100
+ // Gets a Session.
101
+ rpc GetSession(GetSessionRequest) returns (Session) {
102
+ option (google.api.http) = {
103
+ get: "/v1beta/{name=projects/*/locations/*/dataStores/*/sessions/*}"
104
+ additional_bindings {
105
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/sessions/*}"
106
+ }
107
+ additional_bindings {
108
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/sessions/*}"
109
+ }
110
+ };
111
+ option (google.api.method_signature) = "name";
112
+ }
113
+
114
+ // Lists all Sessions by their parent
115
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore].
116
+ rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
117
+ option (google.api.http) = {
118
+ get: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/sessions"
119
+ additional_bindings {
120
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/sessions"
121
+ }
122
+ additional_bindings {
123
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/sessions"
124
+ }
125
+ };
126
+ option (google.api.method_signature) = "parent";
127
+ }
128
+ }