@toshicloud/sdk 0.5.0 → 0.6.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 (76) hide show
  1. package/README.md +138 -41
  2. package/dist/client.d.ts +103 -4
  3. package/dist/client.js +43 -4
  4. package/dist/errors.d.ts +74 -22
  5. package/dist/errors.js +99 -27
  6. package/dist/gen/toshi/permission_pb.d.ts +207 -2
  7. package/dist/gen/toshi/permission_pb.js +54 -2
  8. package/dist/gen/toshi/workspace/v1/account_pb.d.ts +590 -0
  9. package/dist/gen/toshi/workspace/v1/account_pb.js +75 -0
  10. package/dist/gen/toshi/workspace/v1/artifacts_pb.d.ts +14 -8
  11. package/dist/gen/toshi/workspace/v1/artifacts_pb.js +9 -7
  12. package/dist/gen/toshi/workspace/v1/audit_events_pb.d.ts +191 -6
  13. package/dist/gen/toshi/workspace/v1/audit_events_pb.js +11 -1
  14. package/dist/gen/toshi/workspace/v1/channels_pb.d.ts +1194 -21
  15. package/dist/gen/toshi/workspace/v1/channels_pb.js +185 -39
  16. package/dist/gen/toshi/workspace/v1/connections_pb.d.ts +1616 -0
  17. package/dist/gen/toshi/workspace/v1/connections_pb.js +224 -0
  18. package/dist/gen/toshi/workspace/v1/discovery_pb.d.ts +291 -43
  19. package/dist/gen/toshi/workspace/v1/discovery_pb.js +79 -30
  20. package/dist/gen/toshi/workspace/v1/display_pb.d.ts +198 -15
  21. package/dist/gen/toshi/workspace/v1/display_pb.js +52 -2
  22. package/dist/gen/toshi/workspace/v1/domains_pb.d.ts +864 -0
  23. package/dist/gen/toshi/workspace/v1/domains_pb.js +152 -0
  24. package/dist/gen/toshi/workspace/v1/fillers_pb.d.ts +12 -4
  25. package/dist/gen/toshi/workspace/v1/fillers_pb.js +1 -1
  26. package/dist/gen/toshi/workspace/v1/grants_pb.d.ts +1297 -0
  27. package/dist/gen/toshi/workspace/v1/grants_pb.js +271 -0
  28. package/dist/gen/toshi/workspace/v1/hostjobs_pb.d.ts +329 -15
  29. package/dist/gen/toshi/workspace/v1/hostjobs_pb.js +10 -5
  30. package/dist/gen/toshi/workspace/v1/hosts_pb.d.ts +196 -7
  31. package/dist/gen/toshi/workspace/v1/hosts_pb.js +12 -7
  32. package/dist/gen/toshi/workspace/v1/images_pb.d.ts +1463 -0
  33. package/dist/gen/toshi/workspace/v1/images_pb.js +263 -0
  34. package/dist/gen/toshi/workspace/v1/products_pb.d.ts +99 -296
  35. package/dist/gen/toshi/workspace/v1/products_pb.js +7 -53
  36. package/dist/gen/toshi/workspace/v1/projects_pb.d.ts +1474 -99
  37. package/dist/gen/toshi/workspace/v1/projects_pb.js +150 -33
  38. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +181 -14
  39. package/dist/gen/toshi/workspace/v1/recordings_pb.js +54 -14
  40. package/dist/gen/toshi/workspace/v1/roles_pb.d.ts +1994 -0
  41. package/dist/gen/toshi/workspace/v1/roles_pb.js +355 -0
  42. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +314 -8
  43. package/dist/gen/toshi/workspace/v1/secrets_pb.js +42 -18
  44. package/dist/gen/toshi/workspace/v1/storage_providers_pb.d.ts +14 -0
  45. package/dist/gen/toshi/workspace/v1/storage_providers_pb.js +1 -1
  46. package/dist/gen/toshi/workspace/v1/tokens_pb.d.ts +434 -5
  47. package/dist/gen/toshi/workspace/v1/tokens_pb.js +65 -8
  48. package/dist/gen/toshi/workspace/v1/triggers_pb.d.ts +1099 -0
  49. package/dist/gen/toshi/workspace/v1/triggers_pb.js +185 -0
  50. package/dist/gen/toshi/workspace/v1/volumes_pb.d.ts +1052 -33
  51. package/dist/gen/toshi/workspace/v1/volumes_pb.js +169 -11
  52. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +66 -8
  53. package/dist/gen/toshi/workspace/v1/webhook_pb.js +4 -4
  54. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +2069 -54
  55. package/dist/gen/toshi/workspace/v1/workloads_pb.js +204 -54
  56. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +6634 -933
  57. package/dist/gen/toshi/workspace/v1/workspace_pb.js +912 -93
  58. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +3209 -1378
  59. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +211 -74
  60. package/dist/index.d.ts +8 -1
  61. package/dist/index.js +8 -1
  62. package/dist/interceptors.d.ts +6 -2
  63. package/dist/interceptors.js +13 -8
  64. package/dist/retry.d.ts +18 -0
  65. package/dist/retry.js +230 -23
  66. package/dist/test/alarms.d.ts +29 -0
  67. package/dist/test/alarms.js +144 -0
  68. package/dist/test/fake.js +31 -0
  69. package/dist/test/index.d.ts +12 -2
  70. package/dist/test/index.js +12 -2
  71. package/dist/test/procedures.js +96 -5
  72. package/dist/version.d.ts +1 -1
  73. package/dist/version.js +1 -1
  74. package/dist/wait.d.ts +4 -0
  75. package/dist/wait.js +24 -1
  76. package/package.json +3 -2
@@ -28,7 +28,9 @@ export type DisplaySession = Message<"toshi.workspace.v1.DisplaySession"> & {
28
28
  mode: DisplayMode;
29
29
  /**
30
30
  * For an agent's run: whether a person may take the input from the
31
- * agent. Recorded; takeover itself is not served yet.
31
+ * agent. A person's DISPLAY_MODE_WITH_INPUT open on the job closes this
32
+ * session with close_reason taken_over when it is a program's session
33
+ * with input that allows it, and is refused when it does not.
32
34
  *
33
35
  * @generated from field: bool allow_takeover = 4;
34
36
  */
@@ -74,15 +76,17 @@ export type DisplaySession = Message<"toshi.workspace.v1.DisplaySession"> & {
74
76
  * Why it closed: closed, idle, expired, suspended, ended (its job
75
77
  * stopped running where the session was opened), protocol_error (the
76
78
  * viewer sent what the relay does not accept), unavailable (the job's
77
- * host did not open the screen) or shutdown (the control plane
78
- * stopped). Empty while it is open.
79
+ * host did not open the screen), shutdown (the control plane stopped),
80
+ * grant_revoked (it was opened through a grant that ended) or
81
+ * taken_over (a person's session with input took its input). Empty while
82
+ * it is open.
79
83
  *
80
84
  * @generated from field: string close_reason = 12;
81
85
  */
82
86
  closeReason: string;
83
87
  /**
84
- * Who opened it, as the audit log names the caller: the GitHub login of
85
- * the signed-in person for DISPLAY_OPENER_PERSON, the API token's id for
88
+ * Who opened it, as the audit log names the caller: the user ID of the
89
+ * signed-in person for DISPLAY_OPENER_PERSON, the API token's id for
86
90
  * DISPLAY_OPENER_PROGRAM.
87
91
  *
88
92
  * @generated from field: string opener_id = 13;
@@ -102,6 +106,28 @@ export type DisplaySession = Message<"toshi.workspace.v1.DisplaySession"> & {
102
106
  * @generated from field: string attach_token_id = 15;
103
107
  */
104
108
  attachTokenId: string;
109
+ /**
110
+ * The grant through which another workspace opened the session, or
111
+ * empty for one the job's own workspace opened.
112
+ *
113
+ * @generated from field: string grant_id = 16;
114
+ */
115
+ grantId: string;
116
+ /**
117
+ * Whether the screen is being recorded now, for the session's viewer to
118
+ * show beside it.
119
+ *
120
+ * @generated from field: toshi.workspace.v1.DisplayRecordingState recording_state = 17;
121
+ */
122
+ recordingState: DisplayRecordingState;
123
+ /**
124
+ * While recording_state is DISPLAY_RECORDING_STATE_QUOTA_REACHED, the
125
+ * cap that holds the recording back, as the sandbox's
126
+ * recording_stopped_reason says it; empty in every other state.
127
+ *
128
+ * @generated from field: string recording_stopped_reason = 18;
129
+ */
130
+ recordingStoppedReason: string;
105
131
  };
106
132
  /**
107
133
  * @generated from message toshi.workspace.v1.DisplaySession
@@ -126,7 +152,9 @@ export type DisplaySessionJson = {
126
152
  mode?: DisplayModeJson;
127
153
  /**
128
154
  * For an agent's run: whether a person may take the input from the
129
- * agent. Recorded; takeover itself is not served yet.
155
+ * agent. A person's DISPLAY_MODE_WITH_INPUT open on the job closes this
156
+ * session with close_reason taken_over when it is a program's session
157
+ * with input that allows it, and is refused when it does not.
130
158
  *
131
159
  * @generated from field: bool allow_takeover = 4;
132
160
  */
@@ -172,15 +200,17 @@ export type DisplaySessionJson = {
172
200
  * Why it closed: closed, idle, expired, suspended, ended (its job
173
201
  * stopped running where the session was opened), protocol_error (the
174
202
  * viewer sent what the relay does not accept), unavailable (the job's
175
- * host did not open the screen) or shutdown (the control plane
176
- * stopped). Empty while it is open.
203
+ * host did not open the screen), shutdown (the control plane stopped),
204
+ * grant_revoked (it was opened through a grant that ended) or
205
+ * taken_over (a person's session with input took its input). Empty while
206
+ * it is open.
177
207
  *
178
208
  * @generated from field: string close_reason = 12;
179
209
  */
180
210
  closeReason?: string;
181
211
  /**
182
- * Who opened it, as the audit log names the caller: the GitHub login of
183
- * the signed-in person for DISPLAY_OPENER_PERSON, the API token's id for
212
+ * Who opened it, as the audit log names the caller: the user ID of the
213
+ * signed-in person for DISPLAY_OPENER_PERSON, the API token's id for
184
214
  * DISPLAY_OPENER_PROGRAM.
185
215
  *
186
216
  * @generated from field: string opener_id = 13;
@@ -200,6 +230,28 @@ export type DisplaySessionJson = {
200
230
  * @generated from field: string attach_token_id = 15;
201
231
  */
202
232
  attachTokenId?: string;
233
+ /**
234
+ * The grant through which another workspace opened the session, or
235
+ * empty for one the job's own workspace opened.
236
+ *
237
+ * @generated from field: string grant_id = 16;
238
+ */
239
+ grantId?: string;
240
+ /**
241
+ * Whether the screen is being recorded now, for the session's viewer to
242
+ * show beside it.
243
+ *
244
+ * @generated from field: toshi.workspace.v1.DisplayRecordingState recording_state = 17;
245
+ */
246
+ recordingState?: DisplayRecordingStateJson;
247
+ /**
248
+ * While recording_state is DISPLAY_RECORDING_STATE_QUOTA_REACHED, the
249
+ * cap that holds the recording back, as the sandbox's
250
+ * recording_stopped_reason says it; empty in every other state.
251
+ *
252
+ * @generated from field: string recording_stopped_reason = 18;
253
+ */
254
+ recordingStoppedReason?: string;
203
255
  };
204
256
  /**
205
257
  * Describes the message toshi.workspace.v1.DisplaySession.
@@ -239,7 +291,8 @@ export type OpenDisplaySessionRequest = Message<"toshi.workspace.v1.OpenDisplayS
239
291
  */
240
292
  mode: DisplayMode;
241
293
  /**
242
- * The idle close, at most the plan's; unset is the plan's.
294
+ * The idle close, at least 1 second and at most the plan's; unset is the
295
+ * plan's.
243
296
  *
244
297
  * @generated from field: google.protobuf.Duration idle_close = 4;
245
298
  */
@@ -252,6 +305,13 @@ export type OpenDisplaySessionRequest = Message<"toshi.workspace.v1.OpenDisplayS
252
305
  * @generated from field: string request_key = 6;
253
306
  */
254
307
  requestKey: string;
308
+ /**
309
+ * A grant the caller's workspace received, to act on the owner's
310
+ * sandbox's job through it (docs/grants.md).
311
+ *
312
+ * @generated from field: string grant = 7;
313
+ */
314
+ grant: string;
255
315
  };
256
316
  /**
257
317
  * @generated from message toshi.workspace.v1.OpenDisplaySessionRequest
@@ -270,7 +330,8 @@ export type OpenDisplaySessionRequestJson = {
270
330
  */
271
331
  mode?: DisplayModeJson;
272
332
  /**
273
- * The idle close, at most the plan's; unset is the plan's.
333
+ * The idle close, at least 1 second and at most the plan's; unset is the
334
+ * plan's.
274
335
  *
275
336
  * @generated from field: google.protobuf.Duration idle_close = 4;
276
337
  */
@@ -283,6 +344,13 @@ export type OpenDisplaySessionRequestJson = {
283
344
  * @generated from field: string request_key = 6;
284
345
  */
285
346
  requestKey?: string;
347
+ /**
348
+ * A grant the caller's workspace received, to act on the owner's
349
+ * sandbox's job through it (docs/grants.md).
350
+ *
351
+ * @generated from field: string grant = 7;
352
+ */
353
+ grant?: string;
286
354
  };
287
355
  /**
288
356
  * Describes the message toshi.workspace.v1.OpenDisplaySessionRequest.
@@ -370,6 +438,13 @@ export type GetDisplaySessionRequest = Message<"toshi.workspace.v1.GetDisplaySes
370
438
  * @generated from field: string session_id = 1;
371
439
  */
372
440
  sessionId: string;
441
+ /**
442
+ * A grant the caller's workspace received: the call then reaches the
443
+ * sessions opened through that grant (docs/grants.md).
444
+ *
445
+ * @generated from field: string grant = 2;
446
+ */
447
+ grant: string;
373
448
  };
374
449
  /**
375
450
  * @generated from message toshi.workspace.v1.GetDisplaySessionRequest
@@ -379,6 +454,13 @@ export type GetDisplaySessionRequestJson = {
379
454
  * @generated from field: string session_id = 1;
380
455
  */
381
456
  sessionId?: string;
457
+ /**
458
+ * A grant the caller's workspace received: the call then reaches the
459
+ * sessions opened through that grant (docs/grants.md).
460
+ *
461
+ * @generated from field: string grant = 2;
462
+ */
463
+ grant?: string;
382
464
  };
383
465
  /**
384
466
  * Describes the message toshi.workspace.v1.GetDisplaySessionRequest.
@@ -440,6 +522,13 @@ export type ListDisplaySessionsRequest = Message<"toshi.workspace.v1.ListDisplay
440
522
  * @generated from field: string page_token = 4;
441
523
  */
442
524
  pageToken: string;
525
+ /**
526
+ * A grant the caller's workspace received: the call then reaches the
527
+ * sessions opened through that grant (docs/grants.md).
528
+ *
529
+ * @generated from field: string grant = 5;
530
+ */
531
+ grant: string;
443
532
  };
444
533
  /**
445
534
  * @generated from message toshi.workspace.v1.ListDisplaySessionsRequest
@@ -469,6 +558,13 @@ export type ListDisplaySessionsRequestJson = {
469
558
  * @generated from field: string page_token = 4;
470
559
  */
471
560
  pageToken?: string;
561
+ /**
562
+ * A grant the caller's workspace received: the call then reaches the
563
+ * sessions opened through that grant (docs/grants.md).
564
+ *
565
+ * @generated from field: string grant = 5;
566
+ */
567
+ grant?: string;
472
568
  };
473
569
  /**
474
570
  * Describes the message toshi.workspace.v1.ListDisplaySessionsRequest.
@@ -522,6 +618,13 @@ export type CloseDisplaySessionRequest = Message<"toshi.workspace.v1.CloseDispla
522
618
  * @generated from field: string session_id = 1;
523
619
  */
524
620
  sessionId: string;
621
+ /**
622
+ * A grant the caller's workspace received: the call then reaches the
623
+ * sessions opened through that grant (docs/grants.md).
624
+ *
625
+ * @generated from field: string grant = 2;
626
+ */
627
+ grant: string;
525
628
  };
526
629
  /**
527
630
  * @generated from message toshi.workspace.v1.CloseDisplaySessionRequest
@@ -531,6 +634,13 @@ export type CloseDisplaySessionRequestJson = {
531
634
  * @generated from field: string session_id = 1;
532
635
  */
533
636
  sessionId?: string;
637
+ /**
638
+ * A grant the caller's workspace received: the call then reaches the
639
+ * sessions opened through that grant (docs/grants.md).
640
+ *
641
+ * @generated from field: string grant = 2;
642
+ */
643
+ grant?: string;
534
644
  };
535
645
  /**
536
646
  * Describes the message toshi.workspace.v1.CloseDisplaySessionRequest.
@@ -1005,6 +1115,64 @@ export type DisplaySessionStateJson = "DISPLAY_SESSION_STATE_UNSPECIFIED" | "DIS
1005
1115
  * Describes the enum toshi.workspace.v1.DisplaySessionState.
1006
1116
  */
1007
1117
  export declare const DisplaySessionStateSchema: GenEnum<DisplaySessionState, DisplaySessionStateJson>;
1118
+ /**
1119
+ * DisplayRecordingState says whether the screen a session views is being
1120
+ * recorded now. It describes the job or sandbox, not the viewer: every
1121
+ * session of the same screen has the same state. The first that holds is
1122
+ * the state, in this order.
1123
+ *
1124
+ * @generated from enum toshi.workspace.v1.DisplayRecordingState
1125
+ */
1126
+ export declare enum DisplayRecordingState {
1127
+ /**
1128
+ * Never sent.
1129
+ *
1130
+ * @generated from enum value: DISPLAY_RECORDING_STATE_UNSPECIFIED = 0;
1131
+ */
1132
+ UNSPECIFIED = 0,
1133
+ /**
1134
+ * Nothing is recorded: the recording policy is off, the workspace
1135
+ * switched recording off, or the host boots no desktop for it.
1136
+ *
1137
+ * @generated from enum value: DISPLAY_RECORDING_STATE_OFF = 1;
1138
+ */
1139
+ OFF = 1,
1140
+ /**
1141
+ * A recording cap holds the recording back; recording_stopped_reason
1142
+ * says which.
1143
+ *
1144
+ * @generated from enum value: DISPLAY_RECORDING_STATE_QUOTA_REACHED = 2;
1145
+ */
1146
+ QUOTA_REACHED = 2,
1147
+ /**
1148
+ * A person controls the screen and is not recorded: the workspace
1149
+ * keeps no screenshots of a person's control, the person paused it, or
1150
+ * the pause reached its limit and the control has not ended yet.
1151
+ *
1152
+ * @generated from enum value: DISPLAY_RECORDING_STATE_PRIVATE = 3;
1153
+ */
1154
+ PRIVATE = 3,
1155
+ /**
1156
+ * Any other time: a strip is capturing, or the next one is still to
1157
+ * start.
1158
+ *
1159
+ * @generated from enum value: DISPLAY_RECORDING_STATE_RECORDING = 4;
1160
+ */
1161
+ RECORDING = 4
1162
+ }
1163
+ /**
1164
+ * DisplayRecordingState says whether the screen a session views is being
1165
+ * recorded now. It describes the job or sandbox, not the viewer: every
1166
+ * session of the same screen has the same state. The first that holds is
1167
+ * the state, in this order.
1168
+ *
1169
+ * @generated from enum toshi.workspace.v1.DisplayRecordingState
1170
+ */
1171
+ export type DisplayRecordingStateJson = "DISPLAY_RECORDING_STATE_UNSPECIFIED" | "DISPLAY_RECORDING_STATE_OFF" | "DISPLAY_RECORDING_STATE_QUOTA_REACHED" | "DISPLAY_RECORDING_STATE_PRIVATE" | "DISPLAY_RECORDING_STATE_RECORDING";
1172
+ /**
1173
+ * Describes the enum toshi.workspace.v1.DisplayRecordingState.
1174
+ */
1175
+ export declare const DisplayRecordingStateSchema: GenEnum<DisplayRecordingState, DisplayRecordingStateJson>;
1008
1176
  /**
1009
1177
  * DisplayOpener is how a session was opened.
1010
1178
  *
@@ -1062,7 +1230,19 @@ export declare const DisplayService: GenService<{
1062
1230
  * OpenDisplaySession opens a session on a running job and returns its
1063
1231
  * URL and token. A job that is not running, or one beyond the plan's
1064
1232
  * viewers, or a second session with input on a job, fails with
1065
- * FAILED_PRECONDITION. A session ends when it is closed, when no bytes
1233
+ * FAILED_PRECONDITION. A session with input on a Windows VM whose host's
1234
+ * pool does not set display_input fails with FAILED_PRECONDITION and the
1235
+ * reason DISPLAY_INPUT_NOT_ENABLED. A job on a cloud pool's Windows opens
1236
+ * no session of either mode: FAILED_PRECONDITION with the reason
1237
+ * TOSHI_LICENSED_WINDOWS. On a host whose pool has licence = "toshi" only
1238
+ * a person who holds a live desktop seat in the workspace opens one (a
1239
+ * sign-in, or that person's own access token); anyone else fails with
1240
+ * FAILED_PRECONDITION and the reason DESKTOP_SEAT_PERSON_REQUIRED for a
1241
+ * caller that is not a person (a workspace token, a product token, a
1242
+ * workload) or DESKTOP_SEAT_REQUIRED for a person without a seat. An
1243
+ * input or screenshot call there by anyone but the session's opener is
1244
+ * checked the same way.
1245
+ * A session ends when it is closed, when no bytes
1066
1246
  * of the screen's protocol go either way for its idle close, when its
1067
1247
  * token expires before it attaches, when its job stops running on the
1068
1248
  * VM it was opened on, or when the workspace is suspended.
@@ -1116,7 +1296,8 @@ export declare const DisplayService: GenService<{
1116
1296
  };
1117
1297
  /**
1118
1298
  * SendDisplayKeys presses and releases keys on the screen. A view-only
1119
- * session refuses it with FAILED_PRECONDITION.
1299
+ * session refuses it with FAILED_PRECONDITION, with the reason
1300
+ * DISPLAY_INPUT_NOT_ENABLED on a Windows VM that takes no input.
1120
1301
  *
1121
1302
  * @generated from rpc toshi.workspace.v1.DisplayService.SendDisplayKeys
1122
1303
  */
@@ -1127,7 +1308,9 @@ export declare const DisplayService: GenService<{
1127
1308
  };
1128
1309
  /**
1129
1310
  * SendDisplayPointer moves the pointer and presses or releases its
1130
- * buttons. A view-only session refuses it with FAILED_PRECONDITION.
1311
+ * buttons. A view-only session refuses it with FAILED_PRECONDITION, with
1312
+ * the reason DISPLAY_INPUT_NOT_ENABLED on a Windows VM that takes no
1313
+ * input.
1131
1314
  *
1132
1315
  * @generated from rpc toshi.workspace.v1.DisplayService.SendDisplayPointer
1133
1316
  */
@@ -7,7 +7,7 @@ import { file_toshi_permission } from "../../permission_pb.js";
7
7
  /**
8
8
  * Describes the file toshi/workspace/v1/display.proto.
9
9
  */
10
- export const file_toshi_workspace_v1_display = /*@__PURE__*/ fileDesc("CiB0b3NoaS93b3Jrc3BhY2UvdjEvZGlzcGxheS5wcm90bxISdG9zaGkud29ya3NwYWNlLnYxIqAECg5EaXNwbGF5U2Vzc2lvbhIKCgJpZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSLQoEbW9kZRgDIAEoDjIfLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5TW9kZRIWCg5hbGxvd190YWtlb3ZlchgEIAEoCBItCgppZGxlX2Nsb3NlGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjYKBXN0YXRlGAYgASgOMicudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uU3RhdGUSNAoJb3BlbmVkX2J5GAcgASgOMiEudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlPcGVuZXISLQoJb3BlbmVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglhdHRhY2hfYnkYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2F0dGFjaGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCgljbG9zZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhQKDGNsb3NlX3JlYXNvbhgMIAEoCRIRCglvcGVuZXJfaWQYDSABKAkSDgoGb3JpZ2luGA4gASgJEhcKD2F0dGFjaF90b2tlbl9pZBgPIAEoCSLZAQoZT3BlbkRpc3BsYXlTZXNzaW9uUmVxdWVzdBIQCgZqb2JfaWQYASABKAlIABIVCgt3b3JrbG9hZF9pZBgCIAEoCUgAEi0KBG1vZGUYAyABKA4yHy50b3NoaS53b3Jrc3BhY2UudjEuRGlzcGxheU1vZGUSLQoKaWRsZV9jbG9zZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIWCg5hbGxvd190YWtlb3ZlchgFIAEoCBITCgtyZXF1ZXN0X2tleRgGIAEoCUIICgZ0YXJnZXQifwoaT3BlbkRpc3BsYXlTZXNzaW9uUmVzcG9uc2USMwoHc2Vzc2lvbhgBIAEoCzIiLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5U2Vzc2lvbhILCgN1cmwYAiABKAkSDQoFdG9rZW4YAyABKAkSEAoIcmVwbGF5ZWQYBCABKAgiLgoYR2V0RGlzcGxheVNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiUAoZR2V0RGlzcGxheVNlc3Npb25SZXNwb25zZRIzCgdzZXNzaW9uGAEgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uImYKGkxpc3REaXNwbGF5U2Vzc2lvbnNSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCRIRCglvcGVuX29ubHkYAiABKAgSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkibAobTGlzdERpc3BsYXlTZXNzaW9uc1Jlc3BvbnNlEjQKCHNlc3Npb25zGAEgAygLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSIwChpDbG9zZURpc3BsYXlTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJIlIKG0Nsb3NlRGlzcGxheVNlc3Npb25SZXNwb25zZRIzCgdzZXNzaW9uGAEgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uInYKFlNlbmREaXNwbGF5S2V5c1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIOCgR0ZXh0GAIgASgJSAASLwoEa2V5cxgDIAEoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5S2V5c0gAQgcKBWlucHV0IhsKC0Rpc3BsYXlLZXlzEgwKBGtleXMYASADKAkiGQoXU2VuZERpc3BsYXlLZXlzUmVzcG9uc2UiaAoZU2VuZERpc3BsYXlQb2ludGVyUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjcKBmV2ZW50cxgCIAMoCzInLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5UG9pbnRlckV2ZW50IjwKE0Rpc3BsYXlQb2ludGVyRXZlbnQSCQoBeBgBIAEoBRIJCgF5GAIgASgFEg8KB2J1dHRvbnMYAyABKA0iHAoaU2VuZERpc3BsYXlQb2ludGVyUmVzcG9uc2UiPgoaU2V0RGlzcGxheUNsaXBib2FyZFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIMCgR0ZXh0GAIgASgJIh0KG1NldERpc3BsYXlDbGlwYm9hcmRSZXNwb25zZSIyChxUYWtlRGlzcGxheVNjcmVlbnNob3RSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkieQodVGFrZURpc3BsYXlTY3JlZW5zaG90UmVzcG9uc2USCwoDcG5nGAEgASgMEg0KBXdpZHRoGAIgASgFEg4KBmhlaWdodBgDIAEoBRIsCgh0YWtlbl9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqZAoLRGlzcGxheU1vZGUSHAoYRElTUExBWV9NT0RFX1VOU1BFQ0lGSUVEEAASGgoWRElTUExBWV9NT0RFX1ZJRVdfT05MWRABEhsKF0RJU1BMQVlfTU9ERV9XSVRIX0lOUFVUEAIqpQEKE0Rpc3BsYXlTZXNzaW9uU3RhdGUSJQohRElTUExBWV9TRVNTSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIQodRElTUExBWV9TRVNTSU9OX1NUQVRFX1dBSVRJTkcQARIiCh5ESVNQTEFZX1NFU1NJT05fU1RBVEVfQVRUQUNIRUQQAhIgChxESVNQTEFZX1NFU1NJT05fU1RBVEVfQ0xPU0VEEAMqZgoNRGlzcGxheU9wZW5lchIeChpESVNQTEFZX09QRU5FUl9VTlNQRUNJRklFRBAAEhkKFURJU1BMQVlfT1BFTkVSX1BFUlNPThABEhoKFkRJU1BMQVlfT1BFTkVSX1BST0dSQU0QAjLjCAoORGlzcGxheVNlcnZpY2UShwEKEk9wZW5EaXNwbGF5U2Vzc2lvbhItLnRvc2hpLndvcmtzcGFjZS52MS5PcGVuRGlzcGxheVNlc3Npb25SZXF1ZXN0Gi4udG9zaGkud29ya3NwYWNlLnYxLk9wZW5EaXNwbGF5U2Vzc2lvblJlc3BvbnNlIhLC8xgOZGlzcGxheXMud3JpdGUSgwEKEUdldERpc3BsYXlTZXNzaW9uEiwudG9zaGkud29ya3NwYWNlLnYxLkdldERpc3BsYXlTZXNzaW9uUmVxdWVzdBotLnRvc2hpLndvcmtzcGFjZS52MS5HZXREaXNwbGF5U2Vzc2lvblJlc3BvbnNlIhHC8xgNZGlzcGxheXMucmVhZBKJAQoTTGlzdERpc3BsYXlTZXNzaW9ucxIuLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0RGlzcGxheVNlc3Npb25zUmVxdWVzdBovLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0RGlzcGxheVNlc3Npb25zUmVzcG9uc2UiEcLzGA1kaXNwbGF5cy5yZWFkEooBChNDbG9zZURpc3BsYXlTZXNzaW9uEi4udG9zaGkud29ya3NwYWNlLnYxLkNsb3NlRGlzcGxheVNlc3Npb25SZXF1ZXN0Gi8udG9zaGkud29ya3NwYWNlLnYxLkNsb3NlRGlzcGxheVNlc3Npb25SZXNwb25zZSISwvMYDmRpc3BsYXlzLndyaXRlEn4KD1NlbmREaXNwbGF5S2V5cxIqLnRvc2hpLndvcmtzcGFjZS52MS5TZW5kRGlzcGxheUtleXNSZXF1ZXN0GisudG9zaGkud29ya3NwYWNlLnYxLlNlbmREaXNwbGF5S2V5c1Jlc3BvbnNlIhLC8xgOZGlzcGxheXMud3JpdGUShwEKElNlbmREaXNwbGF5UG9pbnRlchItLnRvc2hpLndvcmtzcGFjZS52MS5TZW5kRGlzcGxheVBvaW50ZXJSZXF1ZXN0Gi4udG9zaGkud29ya3NwYWNlLnYxLlNlbmREaXNwbGF5UG9pbnRlclJlc3BvbnNlIhLC8xgOZGlzcGxheXMud3JpdGUSigEKE1NldERpc3BsYXlDbGlwYm9hcmQSLi50b3NoaS53b3Jrc3BhY2UudjEuU2V0RGlzcGxheUNsaXBib2FyZFJlcXVlc3QaLy50b3NoaS53b3Jrc3BhY2UudjEuU2V0RGlzcGxheUNsaXBib2FyZFJlc3BvbnNlIhLC8xgOZGlzcGxheXMud3JpdGUSkAEKFVRha2VEaXNwbGF5U2NyZWVuc2hvdBIwLnRvc2hpLndvcmtzcGFjZS52MS5UYWtlRGlzcGxheVNjcmVlbnNob3RSZXF1ZXN0GjEudG9zaGkud29ya3NwYWNlLnYxLlRha2VEaXNwbGF5U2NyZWVuc2hvdFJlc3BvbnNlIhLC8xgOZGlzcGxheXMud3JpdGVCIlogZ28udG9zaGljbG91ZC5pby9hcGkvd29ya3NwYWNldjFiBnByb3RvMw", [file_google_protobuf_duration, file_google_protobuf_timestamp, file_toshi_permission]);
10
+ export const file_toshi_workspace_v1_display = /*@__PURE__*/ fileDesc("CiB0b3NoaS93b3Jrc3BhY2UvdjEvZGlzcGxheS5wcm90bxISdG9zaGkud29ya3NwYWNlLnYxIpgFCg5EaXNwbGF5U2Vzc2lvbhIKCgJpZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSLQoEbW9kZRgDIAEoDjIfLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5TW9kZRIWCg5hbGxvd190YWtlb3ZlchgEIAEoCBItCgppZGxlX2Nsb3NlGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjYKBXN0YXRlGAYgASgOMicudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uU3RhdGUSNAoJb3BlbmVkX2J5GAcgASgOMiEudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlPcGVuZXISLQoJb3BlbmVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglhdHRhY2hfYnkYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2F0dGFjaGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCgljbG9zZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhQKDGNsb3NlX3JlYXNvbhgMIAEoCRIRCglvcGVuZXJfaWQYDSABKAkSDgoGb3JpZ2luGA4gASgJEhcKD2F0dGFjaF90b2tlbl9pZBgPIAEoCRIQCghncmFudF9pZBgQIAEoCRJCCg9yZWNvcmRpbmdfc3RhdGUYESABKA4yKS50b3NoaS53b3Jrc3BhY2UudjEuRGlzcGxheVJlY29yZGluZ1N0YXRlEiAKGHJlY29yZGluZ19zdG9wcGVkX3JlYXNvbhgSIAEoCSLoAQoZT3BlbkRpc3BsYXlTZXNzaW9uUmVxdWVzdBIQCgZqb2JfaWQYASABKAlIABIVCgt3b3JrbG9hZF9pZBgCIAEoCUgAEi0KBG1vZGUYAyABKA4yHy50b3NoaS53b3Jrc3BhY2UudjEuRGlzcGxheU1vZGUSLQoKaWRsZV9jbG9zZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIWCg5hbGxvd190YWtlb3ZlchgFIAEoCBITCgtyZXF1ZXN0X2tleRgGIAEoCRINCgVncmFudBgHIAEoCUIICgZ0YXJnZXQifwoaT3BlbkRpc3BsYXlTZXNzaW9uUmVzcG9uc2USMwoHc2Vzc2lvbhgBIAEoCzIiLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5U2Vzc2lvbhILCgN1cmwYAiABKAkSDQoFdG9rZW4YAyABKAkSEAoIcmVwbGF5ZWQYBCABKAgiPQoYR2V0RGlzcGxheVNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDQoFZ3JhbnQYAiABKAkiUAoZR2V0RGlzcGxheVNlc3Npb25SZXNwb25zZRIzCgdzZXNzaW9uGAEgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uInUKGkxpc3REaXNwbGF5U2Vzc2lvbnNSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCRIRCglvcGVuX29ubHkYAiABKAgSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSDQoFZ3JhbnQYBSABKAkibAobTGlzdERpc3BsYXlTZXNzaW9uc1Jlc3BvbnNlEjQKCHNlc3Npb25zGAEgAygLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSI/ChpDbG9zZURpc3BsYXlTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg0KBWdyYW50GAIgASgJIlIKG0Nsb3NlRGlzcGxheVNlc3Npb25SZXNwb25zZRIzCgdzZXNzaW9uGAEgASgLMiIudG9zaGkud29ya3NwYWNlLnYxLkRpc3BsYXlTZXNzaW9uInYKFlNlbmREaXNwbGF5S2V5c1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIOCgR0ZXh0GAIgASgJSAASLwoEa2V5cxgDIAEoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5S2V5c0gAQgcKBWlucHV0IhsKC0Rpc3BsYXlLZXlzEgwKBGtleXMYASADKAkiGQoXU2VuZERpc3BsYXlLZXlzUmVzcG9uc2UiaAoZU2VuZERpc3BsYXlQb2ludGVyUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjcKBmV2ZW50cxgCIAMoCzInLnRvc2hpLndvcmtzcGFjZS52MS5EaXNwbGF5UG9pbnRlckV2ZW50IjwKE0Rpc3BsYXlQb2ludGVyRXZlbnQSCQoBeBgBIAEoBRIJCgF5GAIgASgFEg8KB2J1dHRvbnMYAyABKA0iHAoaU2VuZERpc3BsYXlQb2ludGVyUmVzcG9uc2UiPgoaU2V0RGlzcGxheUNsaXBib2FyZFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIMCgR0ZXh0GAIgASgJIh0KG1NldERpc3BsYXlDbGlwYm9hcmRSZXNwb25zZSIyChxUYWtlRGlzcGxheVNjcmVlbnNob3RSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkieQodVGFrZURpc3BsYXlTY3JlZW5zaG90UmVzcG9uc2USCwoDcG5nGAEgASgMEg0KBXdpZHRoGAIgASgFEg4KBmhlaWdodBgDIAEoBRIsCgh0YWtlbl9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqZAoLRGlzcGxheU1vZGUSHAoYRElTUExBWV9NT0RFX1VOU1BFQ0lGSUVEEAASGgoWRElTUExBWV9NT0RFX1ZJRVdfT05MWRABEhsKF0RJU1BMQVlfTU9ERV9XSVRIX0lOUFVUEAIqpQEKE0Rpc3BsYXlTZXNzaW9uU3RhdGUSJQohRElTUExBWV9TRVNTSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIQodRElTUExBWV9TRVNTSU9OX1NUQVRFX1dBSVRJTkcQARIiCh5ESVNQTEFZX1NFU1NJT05fU1RBVEVfQVRUQUNIRUQQAhIgChxESVNQTEFZX1NFU1NJT05fU1RBVEVfQ0xPU0VEEAMq2AEKFURpc3BsYXlSZWNvcmRpbmdTdGF0ZRInCiNESVNQTEFZX1JFQ09SRElOR19TVEFURV9VTlNQRUNJRklFRBAAEh8KG0RJU1BMQVlfUkVDT1JESU5HX1NUQVRFX09GRhABEikKJURJU1BMQVlfUkVDT1JESU5HX1NUQVRFX1FVT1RBX1JFQUNIRUQQAhIjCh9ESVNQTEFZX1JFQ09SRElOR19TVEFURV9QUklWQVRFEAMSJQohRElTUExBWV9SRUNPUkRJTkdfU1RBVEVfUkVDT1JESU5HEAQqZgoNRGlzcGxheU9wZW5lchIeChpESVNQTEFZX09QRU5FUl9VTlNQRUNJRklFRBAAEhkKFURJU1BMQVlfT1BFTkVSX1BFUlNPThABEhoKFkRJU1BMQVlfT1BFTkVSX1BST0dSQU0QAjK3CwoORGlzcGxheVNlcnZpY2USyAEKEk9wZW5EaXNwbGF5U2Vzc2lvbhItLnRvc2hpLndvcmtzcGFjZS52MS5PcGVuRGlzcGxheVNlc3Npb25SZXF1ZXN0Gi4udG9zaGkud29ya3NwYWNlLnYxLk9wZW5EaXNwbGF5U2Vzc2lvblJlc3BvbnNlIlPC8xgOZGlzcGxheXMud3JpdGXS8xg9ChZkaXNwbGF5LnNlc3Npb25fb3BlbmVkEiNkaXNwbGF5X3Nlc3Npb246cmVzcG9uc2Uuc2Vzc2lvbi5pZBKDAQoRR2V0RGlzcGxheVNlc3Npb24SLC50b3NoaS53b3Jrc3BhY2UudjEuR2V0RGlzcGxheVNlc3Npb25SZXF1ZXN0Gi0udG9zaGkud29ya3NwYWNlLnYxLkdldERpc3BsYXlTZXNzaW9uUmVzcG9uc2UiEcLzGA1kaXNwbGF5cy5yZWFkEokBChNMaXN0RGlzcGxheVNlc3Npb25zEi4udG9zaGkud29ya3NwYWNlLnYxLkxpc3REaXNwbGF5U2Vzc2lvbnNSZXF1ZXN0Gi8udG9zaGkud29ya3NwYWNlLnYxLkxpc3REaXNwbGF5U2Vzc2lvbnNSZXNwb25zZSIRwvMYDWRpc3BsYXlzLnJlYWQSwgEKE0Nsb3NlRGlzcGxheVNlc3Npb24SLi50b3NoaS53b3Jrc3BhY2UudjEuQ2xvc2VEaXNwbGF5U2Vzc2lvblJlcXVlc3QaLy50b3NoaS53b3Jrc3BhY2UudjEuQ2xvc2VEaXNwbGF5U2Vzc2lvblJlc3BvbnNlIkrC8xgOZGlzcGxheXMud3JpdGXS8xg0ChZkaXNwbGF5LnNlc3Npb25fY2xvc2VkEhpkaXNwbGF5X3Nlc3Npb246c2Vzc2lvbl9pZBKxAQoPU2VuZERpc3BsYXlLZXlzEioudG9zaGkud29ya3NwYWNlLnYxLlNlbmREaXNwbGF5S2V5c1JlcXVlc3QaKy50b3NoaS53b3Jrc3BhY2UudjEuU2VuZERpc3BsYXlLZXlzUmVzcG9uc2UiRcLzGA5kaXNwbGF5cy53cml0ZdLzGC8KEWRpc3BsYXkua2V5c19zZW50EhpkaXNwbGF5X3Nlc3Npb246c2Vzc2lvbl9pZBK9AQoSU2VuZERpc3BsYXlQb2ludGVyEi0udG9zaGkud29ya3NwYWNlLnYxLlNlbmREaXNwbGF5UG9pbnRlclJlcXVlc3QaLi50b3NoaS53b3Jrc3BhY2UudjEuU2VuZERpc3BsYXlQb2ludGVyUmVzcG9uc2UiSMLzGA5kaXNwbGF5cy53cml0ZdLzGDIKFGRpc3BsYXkucG9pbnRlcl9zZW50EhpkaXNwbGF5X3Nlc3Npb246c2Vzc2lvbl9pZBLBAQoTU2V0RGlzcGxheUNsaXBib2FyZBIuLnRvc2hpLndvcmtzcGFjZS52MS5TZXREaXNwbGF5Q2xpcGJvYXJkUmVxdWVzdBovLnRvc2hpLndvcmtzcGFjZS52MS5TZXREaXNwbGF5Q2xpcGJvYXJkUmVzcG9uc2UiScLzGA5kaXNwbGF5cy53cml0ZdLzGDMKFWRpc3BsYXkuY2xpcGJvYXJkX3NldBIaZGlzcGxheV9zZXNzaW9uOnNlc3Npb25faWQSygEKFVRha2VEaXNwbGF5U2NyZWVuc2hvdBIwLnRvc2hpLndvcmtzcGFjZS52MS5UYWtlRGlzcGxheVNjcmVlbnNob3RSZXF1ZXN0GjEudG9zaGkud29ya3NwYWNlLnYxLlRha2VEaXNwbGF5U2NyZWVuc2hvdFJlc3BvbnNlIkzC8xgOZGlzcGxheXMud3JpdGXS8xg2ChhkaXNwbGF5LnNjcmVlbnNob3RfdGFrZW4SGmRpc3BsYXlfc2Vzc2lvbjpzZXNzaW9uX2lkQiJaIGdvLnRvc2hpY2xvdWQuaW8vYXBpL3dvcmtzcGFjZXYxYgZwcm90bzM", [file_google_protobuf_duration, file_google_protobuf_timestamp, file_toshi_permission]);
11
11
  /**
12
12
  * Describes the message toshi.workspace.v1.DisplaySession.
13
13
  * Use `create(DisplaySessionSchema)` to create a new message.
@@ -165,6 +165,56 @@ export var DisplaySessionState;
165
165
  * Describes the enum toshi.workspace.v1.DisplaySessionState.
166
166
  */
167
167
  export const DisplaySessionStateSchema = /*@__PURE__*/ enumDesc(file_toshi_workspace_v1_display, 1);
168
+ /**
169
+ * DisplayRecordingState says whether the screen a session views is being
170
+ * recorded now. It describes the job or sandbox, not the viewer: every
171
+ * session of the same screen has the same state. The first that holds is
172
+ * the state, in this order.
173
+ *
174
+ * @generated from enum toshi.workspace.v1.DisplayRecordingState
175
+ */
176
+ export var DisplayRecordingState;
177
+ (function (DisplayRecordingState) {
178
+ /**
179
+ * Never sent.
180
+ *
181
+ * @generated from enum value: DISPLAY_RECORDING_STATE_UNSPECIFIED = 0;
182
+ */
183
+ DisplayRecordingState[DisplayRecordingState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
184
+ /**
185
+ * Nothing is recorded: the recording policy is off, the workspace
186
+ * switched recording off, or the host boots no desktop for it.
187
+ *
188
+ * @generated from enum value: DISPLAY_RECORDING_STATE_OFF = 1;
189
+ */
190
+ DisplayRecordingState[DisplayRecordingState["OFF"] = 1] = "OFF";
191
+ /**
192
+ * A recording cap holds the recording back; recording_stopped_reason
193
+ * says which.
194
+ *
195
+ * @generated from enum value: DISPLAY_RECORDING_STATE_QUOTA_REACHED = 2;
196
+ */
197
+ DisplayRecordingState[DisplayRecordingState["QUOTA_REACHED"] = 2] = "QUOTA_REACHED";
198
+ /**
199
+ * A person controls the screen and is not recorded: the workspace
200
+ * keeps no screenshots of a person's control, the person paused it, or
201
+ * the pause reached its limit and the control has not ended yet.
202
+ *
203
+ * @generated from enum value: DISPLAY_RECORDING_STATE_PRIVATE = 3;
204
+ */
205
+ DisplayRecordingState[DisplayRecordingState["PRIVATE"] = 3] = "PRIVATE";
206
+ /**
207
+ * Any other time: a strip is capturing, or the next one is still to
208
+ * start.
209
+ *
210
+ * @generated from enum value: DISPLAY_RECORDING_STATE_RECORDING = 4;
211
+ */
212
+ DisplayRecordingState[DisplayRecordingState["RECORDING"] = 4] = "RECORDING";
213
+ })(DisplayRecordingState || (DisplayRecordingState = {}));
214
+ /**
215
+ * Describes the enum toshi.workspace.v1.DisplayRecordingState.
216
+ */
217
+ export const DisplayRecordingStateSchema = /*@__PURE__*/ enumDesc(file_toshi_workspace_v1_display, 2);
168
218
  /**
169
219
  * DisplayOpener is how a session was opened.
170
220
  *
@@ -192,7 +242,7 @@ export var DisplayOpener;
192
242
  /**
193
243
  * Describes the enum toshi.workspace.v1.DisplayOpener.
194
244
  */
195
- export const DisplayOpenerSchema = /*@__PURE__*/ enumDesc(file_toshi_workspace_v1_display, 2);
245
+ export const DisplayOpenerSchema = /*@__PURE__*/ enumDesc(file_toshi_workspace_v1_display, 3);
196
246
  /**
197
247
  * DisplayService opens display sessions: one viewer's live view of the
198
248
  * screen of a VM that runs one of the workspace's CI jobs. The caller's