@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
@@ -18,6 +18,9 @@ package google.cloud.discoveryengine.v1alpha;
18
18
 
19
19
  import "google/api/field_behavior.proto";
20
20
  import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1alpha/answer.proto";
22
+ import "google/cloud/discoveryengine/v1alpha/common.proto";
23
+ import "google/protobuf/duration.proto";
21
24
  import "google/protobuf/timestamp.proto";
22
25
 
23
26
  option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
@@ -29,6 +32,27 @@ option objc_class_prefix = "DISCOVERYENGINE";
29
32
  option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
30
33
  option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
31
34
 
35
+ // Original source of the file.
36
+ enum FileSource {
37
+ // Default value. Unknown source.
38
+ FILE_SOURCE_UNSPECIFIED = 0;
39
+
40
+ // The data of the file was provided inline (e.g. pasted from the clipboard).
41
+ FILE_SOURCE_INLINE = 1;
42
+
43
+ // The file was uploaded from a local file.
44
+ FILE_SOURCE_LOCAL = 2;
45
+
46
+ // The file was uploaded from Cloud Storage.
47
+ FILE_SOURCE_CLOUD_STORAGE = 3;
48
+
49
+ // The file was uploaded from Drive.
50
+ FILE_SOURCE_CLOUD_DRIVE = 4;
51
+
52
+ // The file was retrieved from a URL (e.g. public web).
53
+ FILE_SOURCE_URL = 5;
54
+ }
55
+
32
56
  // External session proto definition.
33
57
  message Session {
34
58
  option (google.api.resource) = {
@@ -36,21 +60,42 @@ message Session {
36
60
  pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}"
37
61
  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}"
38
62
  pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}"
63
+ plural: "sessions"
64
+ singular: "session"
39
65
  };
40
66
 
41
67
  // Represents a turn, including a query from the user and a
42
68
  // answer from service.
43
69
  message Turn {
44
- // The user query.
45
- Query query = 1;
70
+ // Optional. The user query. May not be set if this turn is merely
71
+ // regenerating an answer to a different turn
72
+ Query query = 1 [(google.api.field_behavior) = OPTIONAL];
46
73
 
47
- // The resource name of the answer to the user query.
74
+ // Optional. The resource name of the answer to the user query.
48
75
  //
49
76
  // Only set if the answer generation (/answer API call) happened in this
50
77
  // turn.
51
- string answer = 2 [(google.api.resource_reference) = {
52
- type: "discoveryengine.googleapis.com/Answer"
53
- }];
78
+ string answer = 2 [
79
+ (google.api.field_behavior) = OPTIONAL,
80
+ (google.api.resource_reference) = {
81
+ type: "discoveryengine.googleapis.com/Answer"
82
+ }
83
+ ];
84
+
85
+ // Output only. In
86
+ // [ConversationalSearchService.GetSession][google.cloud.discoveryengine.v1alpha.ConversationalSearchService.GetSession]
87
+ // API, if
88
+ // [GetSessionRequest.include_answer_details][google.cloud.discoveryengine.v1alpha.GetSessionRequest.include_answer_details]
89
+ // is set to true, this field will be populated when getting answer query
90
+ // session.
91
+ Answer detailed_answer = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
92
+
93
+ // Optional. Represents metadata related to the query config, for example
94
+ // LLM model and version used, model parameters (temperature, grounding
95
+ // parameters, etc.). The prefix "google." is reserved for Google-developed
96
+ // functionality.
97
+ map<string, string> query_config = 16
98
+ [(google.api.field_behavior) = OPTIONAL];
54
99
  }
55
100
 
56
101
  // Enumeration of the state of the session.
@@ -66,6 +111,12 @@ message Session {
66
111
  // `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
67
112
  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
68
113
 
114
+ // Optional. The display name of the session.
115
+ //
116
+ // This field is used to identify the session in the UI.
117
+ // By default, the display name is the first turn query text in the session.
118
+ string display_name = 7 [(google.api.field_behavior) = OPTIONAL];
119
+
69
120
  // The state of the session.
70
121
  State state = 2;
71
122
 
@@ -82,6 +133,10 @@ message Session {
82
133
  // Output only. The time the session finished.
83
134
  google.protobuf.Timestamp end_time = 6
84
135
  [(google.api.field_behavior) = OUTPUT_ONLY];
136
+
137
+ // Optional. Whether the session is pinned, pinned session will be displayed
138
+ // on the top of the session list.
139
+ bool is_pinned = 8 [(google.api.field_behavior) = OPTIONAL];
85
140
  }
86
141
 
87
142
  // Defines a user inputed query.
@@ -92,6 +147,181 @@ message Query {
92
147
  string text = 2;
93
148
  }
94
149
 
95
- // Unique Id for the query.
96
- string query_id = 1;
150
+ // Output only. Unique Id for the query.
151
+ string query_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
152
+ }
153
+
154
+ // Standard characteristics of an image media view.
155
+ message ImageCharacteristics {
156
+ // Possible color spaces of an image (e.g., "RGB", "CMYK", "Grayscale").
157
+ enum ColorSpace {
158
+ // Default value. Unknown color space.
159
+ COLOR_SPACE_UNSPECIFIED = 0;
160
+
161
+ // Red, green, blue colorspace.
162
+ RGB = 1;
163
+
164
+ // Cyan, magenta, yellow, and black colorspace.
165
+ CMYK = 2;
166
+
167
+ // Grayscale colorspace.
168
+ GRAYSCALE = 3;
169
+
170
+ // YUV colorspace.
171
+ YUV = 4;
172
+
173
+ // Other colorspace.
174
+ OTHER_COLOR_SPACE = 5;
175
+ }
176
+
177
+ // Output only. Image width in pixels.
178
+ int32 width = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
179
+
180
+ // Output only. Image height in pixels.
181
+ int32 height = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
182
+
183
+ // Output only. Color space of the image (e.g., "RGB", "CMYK", "Grayscale").
184
+ ColorSpace color_space = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
185
+
186
+ // Output only. Bit depth of the image (e.g., 8-bit, 16-bit).
187
+ int32 bit_depth = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
188
+ }
189
+
190
+ // Standard characteristics of a video media view.
191
+ message VideoCharacteristics {
192
+ // Output only. Video width in pixels.
193
+ int32 width = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
194
+
195
+ // Output only. Video height in pixels.
196
+ int32 height = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
197
+
198
+ // Output only. Video duration.
199
+ google.protobuf.Duration duration = 3
200
+ [(google.api.field_behavior) = OUTPUT_ONLY];
201
+
202
+ // Output only. Frame rate (frames per second).
203
+ double frame_rate = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
204
+
205
+ // Output only. Audio codecs used in the video.
206
+ repeated string audio_codecs = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
207
+
208
+ // Output only. Video codecs used in the video.
209
+ repeated string video_codecs = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
210
+
211
+ // Output only. Bitrate of the video in kbps.
212
+ int32 video_bitrate_kbps = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
213
+
214
+ // Output only. Bitrate of the audio in kbps.
215
+ int32 audio_bitrate_kbps = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
216
+ }
217
+
218
+ // Caracteristics of other file types.
219
+ message FileCharacteristics {
220
+ // Output only. Generic map of characteristics.
221
+ map<string, string> characteristics = 6
222
+ [(google.api.field_behavior) = OUTPUT_ONLY];
223
+ }
224
+
225
+ // Represents a specific alternate version or "view" of a file object,
226
+ // such as a summary, a thumbnail, a translated version, etc.
227
+ message FileView {
228
+ // Characteristics of the media view, allowing for flexible extensions.
229
+ // Metadata is always internally generated by the process creating
230
+ // the view.
231
+ oneof characteristics {
232
+ // Output only. Characteristics of an image media view.
233
+ ImageCharacteristics image_characteristics = 6
234
+ [(google.api.field_behavior) = OUTPUT_ONLY];
235
+
236
+ // Output only. Characteristics of a video media view.
237
+ VideoCharacteristics video_characteristics = 7
238
+ [(google.api.field_behavior) = OUTPUT_ONLY];
239
+
240
+ // Output only. Characteristics of other file types.
241
+ FileCharacteristics file_characteristics = 8
242
+ [(google.api.field_behavior) = OUTPUT_ONLY];
243
+ }
244
+
245
+ // Output only. Globally Unique id for this specific view.
246
+ string view_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
247
+
248
+ // Output only. The URI to access this media view.
249
+ string uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
250
+
251
+ // Output only. MIME type (e.g., "image/jpeg", "image/png", "text/plain",
252
+ // "video/mp4")
253
+ string mime_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
254
+
255
+ // Output only. The size of the view in bytes.
256
+ int64 byte_size = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
257
+
258
+ // Output only. The time the view was created.
259
+ google.protobuf.Timestamp create_time = 5
260
+ [(google.api.field_behavior) = OUTPUT_ONLY];
261
+ }
262
+
263
+ // Represents a file attached to a session (context file)
264
+ message FileMetadata {
265
+ // Output only. The ID of the file.
266
+ string file_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
267
+
268
+ // Output only. The name of the file uploaded.
269
+ string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
270
+
271
+ // The content type of the file, see
272
+ // https://www.iana.org/assignments/media-types/media-types.xhtml.
273
+ string mime_type = 3;
274
+
275
+ // Output only. The size of the context file in bytes.
276
+ int64 byte_size = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
277
+
278
+ // Optional. The original location of the file. It may be a local file path,
279
+ // or any other URI that allows accessing the file in an external system.
280
+ // There are two scenarios in which this url may be empty:
281
+ // 1. If the file was sent as inline data (e.g. pasted from the clipboard).
282
+ // 2. If the original location is not available.
283
+ //
284
+ // Note that there's no guarantee that the URI will be pointing to a valid
285
+ // or actually existing file. For example, a file might have been uploaded
286
+ // to the session, and then deleted from the original source.
287
+ string original_uri = 9 [(google.api.field_behavior) = OPTIONAL];
288
+
289
+ // Optional. The type of the original source of the file.
290
+ FileSource original_source_type = 10 [(google.api.field_behavior) = OPTIONAL];
291
+
292
+ // Output only. The time the file was uploaded (If this is a file
293
+ // generated by an internal process and then made available to the session,
294
+ // this indicates the moment it happened).
295
+ google.protobuf.Timestamp upload_time = 12
296
+ [(google.api.field_behavior) = OUTPUT_ONLY];
297
+
298
+ // Output only. The time the file was added to the session. Note that if a
299
+ // file was added, then modified externally, then added again, the add time
300
+ // will be updated.
301
+ google.protobuf.Timestamp last_add_time = 13
302
+ [(google.api.field_behavior) = OUTPUT_ONLY];
303
+
304
+ // Optional. Represents metadata related to the file that can suit particular
305
+ // use cases. The prefix "google." is reserved for the key for use by
306
+ // Google, but other prefixes can be freely used.
307
+ map<string, string> metadata = 18 [(google.api.field_behavior) = OPTIONAL];
308
+
309
+ // Output only. The
310
+ // [AssistantService.DownloadSessionFile][google.cloud.discoveryengine.v1alpha.AssistantService.DownloadSessionFile]
311
+ // URL to download the file. This URL will need the same credentials as
312
+ // [AssistantService.ListSessionFileMetadata][google.cloud.discoveryengine.v1alpha.AssistantService.ListSessionFileMetadata]
313
+ // method and will provide the resource.
314
+ string download_uri = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
315
+
316
+ // Optional. The origin of the file.
317
+ FileOriginType file_origin_type = 21 [(google.api.field_behavior) = OPTIONAL];
318
+
319
+ // Output only. Alternate views of this file object. Each file view is
320
+ // attached to a specific role. Possible example keys:
321
+ // - "thumbnail"
322
+ // - "mobile_thumbnail"
323
+ // - "clip"
324
+ // - "summary"
325
+ // - "translation"
326
+ map<string, FileView> views = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
97
327
  }
@@ -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
  }