@toshicloud/sdk 0.0.0-stage → 0.2.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 (39) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +201 -2
  3. package/dist/client.d.ts +78 -0
  4. package/dist/client.js +42 -0
  5. package/dist/errors.d.ts +20 -0
  6. package/dist/errors.js +55 -0
  7. package/dist/execute.d.ts +6 -0
  8. package/dist/execute.js +380 -0
  9. package/dist/gen/toshi/workspace/v1/artifacts_pb.d.ts +841 -0
  10. package/dist/gen/toshi/workspace/v1/artifacts_pb.js +96 -0
  11. package/dist/gen/toshi/workspace/v1/display_pb.d.ts +1142 -0
  12. package/dist/gen/toshi/workspace/v1/display_pb.js +214 -0
  13. package/dist/gen/toshi/workspace/v1/projects_pb.d.ts +1386 -0
  14. package/dist/gen/toshi/workspace/v1/projects_pb.js +207 -0
  15. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +948 -0
  16. package/dist/gen/toshi/workspace/v1/recordings_pb.js +201 -0
  17. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +1062 -0
  18. package/dist/gen/toshi/workspace/v1/secrets_pb.js +182 -0
  19. package/dist/gen/toshi/workspace/v1/volumes_pb.d.ts +406 -0
  20. package/dist/gen/toshi/workspace/v1/volumes_pb.js +107 -0
  21. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +974 -0
  22. package/dist/gen/toshi/workspace/v1/webhook_pb.js +153 -0
  23. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +6133 -0
  24. package/dist/gen/toshi/workspace/v1/workspace_pb.js +892 -0
  25. package/dist/index.d.ts +10 -0
  26. package/dist/index.js +9 -0
  27. package/dist/interceptors.d.ts +10 -0
  28. package/dist/interceptors.js +159 -0
  29. package/dist/output.d.ts +6 -0
  30. package/dist/output.js +77 -0
  31. package/dist/retry.d.ts +42 -0
  32. package/dist/retry.js +213 -0
  33. package/dist/stream.d.ts +21 -0
  34. package/dist/stream.js +84 -0
  35. package/dist/wait.d.ts +8 -0
  36. package/dist/wait.js +29 -0
  37. package/dist/watch.d.ts +8 -0
  38. package/dist/watch.js +224 -0
  39. package/package.json +47 -4
@@ -0,0 +1,1142 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Duration, DurationJson, Timestamp, TimestampJson } from "@bufbuild/protobuf/wkt";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file toshi/workspace/v1/display.proto.
6
+ */
7
+ export declare const file_toshi_workspace_v1_display: GenFile;
8
+ /**
9
+ * @generated from message toshi.workspace.v1.DisplaySession
10
+ */
11
+ export type DisplaySession = Message<"toshi.workspace.v1.DisplaySession"> & {
12
+ /**
13
+ * Assigned by the server; unique within the workspace.
14
+ *
15
+ * @generated from field: string id = 1;
16
+ */
17
+ id: string;
18
+ /**
19
+ * The job the session views: its ID as the jobs API and `toshi jobs`
20
+ * show it.
21
+ *
22
+ * @generated from field: string job_id = 2;
23
+ */
24
+ jobId: string;
25
+ /**
26
+ * @generated from field: toshi.workspace.v1.DisplayMode mode = 3;
27
+ */
28
+ mode: DisplayMode;
29
+ /**
30
+ * For an agent's run: whether a person may take the input from the
31
+ * agent. Recorded; takeover itself is not served yet.
32
+ *
33
+ * @generated from field: bool allow_takeover = 4;
34
+ */
35
+ allowTakeover: boolean;
36
+ /**
37
+ * The session ends once no bytes of the screen's protocol have gone
38
+ * either way for this long.
39
+ *
40
+ * @generated from field: google.protobuf.Duration idle_close = 5;
41
+ */
42
+ idleClose?: Duration | undefined;
43
+ /**
44
+ * @generated from field: toshi.workspace.v1.DisplaySessionState state = 6;
45
+ */
46
+ state: DisplaySessionState;
47
+ /**
48
+ * @generated from field: toshi.workspace.v1.DisplayOpener opened_by = 7;
49
+ */
50
+ openedBy: DisplayOpener;
51
+ /**
52
+ * @generated from field: google.protobuf.Timestamp opened_at = 8;
53
+ */
54
+ openedAt?: Timestamp | undefined;
55
+ /**
56
+ * When the token expires: a session not attached by then closes.
57
+ *
58
+ * @generated from field: google.protobuf.Timestamp attach_by = 9;
59
+ */
60
+ attachBy?: Timestamp | undefined;
61
+ /**
62
+ * Unset until the viewer attaches.
63
+ *
64
+ * @generated from field: google.protobuf.Timestamp attached_at = 10;
65
+ */
66
+ attachedAt?: Timestamp | undefined;
67
+ /**
68
+ * Unset while the session is open.
69
+ *
70
+ * @generated from field: google.protobuf.Timestamp closed_at = 11;
71
+ */
72
+ closedAt?: Timestamp | undefined;
73
+ /**
74
+ * Why it closed: closed, idle, expired, suspended, ended (its job
75
+ * stopped running where the session was opened), protocol_error (the
76
+ * 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
+ *
80
+ * @generated from field: string close_reason = 12;
81
+ */
82
+ closeReason: string;
83
+ /**
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
86
+ * DISPLAY_OPENER_PROGRAM.
87
+ *
88
+ * @generated from field: string opener_id = 13;
89
+ */
90
+ openerId: string;
91
+ /**
92
+ * The web origin of the call that opened it, for example
93
+ * "https://toshi.example.com"; empty for a call that sent none.
94
+ *
95
+ * @generated from field: string origin = 14;
96
+ */
97
+ origin: string;
98
+ /**
99
+ * The id (jti) of the one token that attaches the session: an id, never
100
+ * the token.
101
+ *
102
+ * @generated from field: string attach_token_id = 15;
103
+ */
104
+ attachTokenId: string;
105
+ };
106
+ /**
107
+ * @generated from message toshi.workspace.v1.DisplaySession
108
+ */
109
+ export type DisplaySessionJson = {
110
+ /**
111
+ * Assigned by the server; unique within the workspace.
112
+ *
113
+ * @generated from field: string id = 1;
114
+ */
115
+ id?: string;
116
+ /**
117
+ * The job the session views: its ID as the jobs API and `toshi jobs`
118
+ * show it.
119
+ *
120
+ * @generated from field: string job_id = 2;
121
+ */
122
+ jobId?: string;
123
+ /**
124
+ * @generated from field: toshi.workspace.v1.DisplayMode mode = 3;
125
+ */
126
+ mode?: DisplayModeJson;
127
+ /**
128
+ * For an agent's run: whether a person may take the input from the
129
+ * agent. Recorded; takeover itself is not served yet.
130
+ *
131
+ * @generated from field: bool allow_takeover = 4;
132
+ */
133
+ allowTakeover?: boolean;
134
+ /**
135
+ * The session ends once no bytes of the screen's protocol have gone
136
+ * either way for this long.
137
+ *
138
+ * @generated from field: google.protobuf.Duration idle_close = 5;
139
+ */
140
+ idleClose?: DurationJson;
141
+ /**
142
+ * @generated from field: toshi.workspace.v1.DisplaySessionState state = 6;
143
+ */
144
+ state?: DisplaySessionStateJson;
145
+ /**
146
+ * @generated from field: toshi.workspace.v1.DisplayOpener opened_by = 7;
147
+ */
148
+ openedBy?: DisplayOpenerJson;
149
+ /**
150
+ * @generated from field: google.protobuf.Timestamp opened_at = 8;
151
+ */
152
+ openedAt?: TimestampJson;
153
+ /**
154
+ * When the token expires: a session not attached by then closes.
155
+ *
156
+ * @generated from field: google.protobuf.Timestamp attach_by = 9;
157
+ */
158
+ attachBy?: TimestampJson;
159
+ /**
160
+ * Unset until the viewer attaches.
161
+ *
162
+ * @generated from field: google.protobuf.Timestamp attached_at = 10;
163
+ */
164
+ attachedAt?: TimestampJson;
165
+ /**
166
+ * Unset while the session is open.
167
+ *
168
+ * @generated from field: google.protobuf.Timestamp closed_at = 11;
169
+ */
170
+ closedAt?: TimestampJson;
171
+ /**
172
+ * Why it closed: closed, idle, expired, suspended, ended (its job
173
+ * stopped running where the session was opened), protocol_error (the
174
+ * 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.
177
+ *
178
+ * @generated from field: string close_reason = 12;
179
+ */
180
+ closeReason?: string;
181
+ /**
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
184
+ * DISPLAY_OPENER_PROGRAM.
185
+ *
186
+ * @generated from field: string opener_id = 13;
187
+ */
188
+ openerId?: string;
189
+ /**
190
+ * The web origin of the call that opened it, for example
191
+ * "https://toshi.example.com"; empty for a call that sent none.
192
+ *
193
+ * @generated from field: string origin = 14;
194
+ */
195
+ origin?: string;
196
+ /**
197
+ * The id (jti) of the one token that attaches the session: an id, never
198
+ * the token.
199
+ *
200
+ * @generated from field: string attach_token_id = 15;
201
+ */
202
+ attachTokenId?: string;
203
+ };
204
+ /**
205
+ * Describes the message toshi.workspace.v1.DisplaySession.
206
+ * Use `create(DisplaySessionSchema)` to create a new message.
207
+ */
208
+ export declare const DisplaySessionSchema: GenMessage<DisplaySession, {
209
+ jsonType: DisplaySessionJson;
210
+ }>;
211
+ /**
212
+ * @generated from message toshi.workspace.v1.OpenDisplaySessionRequest
213
+ */
214
+ export type OpenDisplaySessionRequest = Message<"toshi.workspace.v1.OpenDisplaySessionRequest"> & {
215
+ /**
216
+ * What to view. A job runs on a host and has a screen; a workload of
217
+ * WorkspaceService has none yet and fails with FAILED_PRECONDITION.
218
+ *
219
+ * @generated from oneof toshi.workspace.v1.OpenDisplaySessionRequest.target
220
+ */
221
+ target: {
222
+ /**
223
+ * @generated from field: string job_id = 1;
224
+ */
225
+ value: string;
226
+ case: "jobId";
227
+ } | {
228
+ /**
229
+ * @generated from field: string workload_id = 2;
230
+ */
231
+ value: string;
232
+ case: "workloadId";
233
+ } | {
234
+ case: undefined;
235
+ value?: undefined;
236
+ };
237
+ /**
238
+ * @generated from field: toshi.workspace.v1.DisplayMode mode = 3;
239
+ */
240
+ mode: DisplayMode;
241
+ /**
242
+ * The idle close, at most the plan's; unset is the plan's.
243
+ *
244
+ * @generated from field: google.protobuf.Duration idle_close = 4;
245
+ */
246
+ idleClose?: Duration | undefined;
247
+ /**
248
+ * @generated from field: bool allow_takeover = 5;
249
+ */
250
+ allowTakeover: boolean;
251
+ /**
252
+ * @generated from field: string request_key = 6;
253
+ */
254
+ requestKey: string;
255
+ };
256
+ /**
257
+ * @generated from message toshi.workspace.v1.OpenDisplaySessionRequest
258
+ */
259
+ export type OpenDisplaySessionRequestJson = {
260
+ /**
261
+ * @generated from field: string job_id = 1;
262
+ */
263
+ jobId?: string;
264
+ /**
265
+ * @generated from field: string workload_id = 2;
266
+ */
267
+ workloadId?: string;
268
+ /**
269
+ * @generated from field: toshi.workspace.v1.DisplayMode mode = 3;
270
+ */
271
+ mode?: DisplayModeJson;
272
+ /**
273
+ * The idle close, at most the plan's; unset is the plan's.
274
+ *
275
+ * @generated from field: google.protobuf.Duration idle_close = 4;
276
+ */
277
+ idleClose?: DurationJson;
278
+ /**
279
+ * @generated from field: bool allow_takeover = 5;
280
+ */
281
+ allowTakeover?: boolean;
282
+ /**
283
+ * @generated from field: string request_key = 6;
284
+ */
285
+ requestKey?: string;
286
+ };
287
+ /**
288
+ * Describes the message toshi.workspace.v1.OpenDisplaySessionRequest.
289
+ * Use `create(OpenDisplaySessionRequestSchema)` to create a new message.
290
+ */
291
+ export declare const OpenDisplaySessionRequestSchema: GenMessage<OpenDisplaySessionRequest, {
292
+ jsonType: OpenDisplaySessionRequestJson;
293
+ }>;
294
+ /**
295
+ * @generated from message toshi.workspace.v1.OpenDisplaySessionResponse
296
+ */
297
+ export type OpenDisplaySessionResponse = Message<"toshi.workspace.v1.OpenDisplaySessionResponse"> & {
298
+ /**
299
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
300
+ */
301
+ session?: DisplaySession | undefined;
302
+ /**
303
+ * The session's WebSocket URL path, on the control plane's address:
304
+ * /display/<id>.
305
+ *
306
+ * @generated from field: string url = 2;
307
+ */
308
+ url: string;
309
+ /**
310
+ * The token that attaches the session, once, before
311
+ * session.attach_by. The viewer sends it as a WebSocket subprotocol,
312
+ * toshi.display.<token>, beside the subprotocol binary. Empty on a
313
+ * retry.
314
+ *
315
+ * @generated from field: string token = 3;
316
+ */
317
+ token: string;
318
+ /**
319
+ * Set when this answers a retry of the call that opened the session:
320
+ * nothing was opened and no token is returned.
321
+ *
322
+ * @generated from field: bool replayed = 4;
323
+ */
324
+ replayed: boolean;
325
+ };
326
+ /**
327
+ * @generated from message toshi.workspace.v1.OpenDisplaySessionResponse
328
+ */
329
+ export type OpenDisplaySessionResponseJson = {
330
+ /**
331
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
332
+ */
333
+ session?: DisplaySessionJson;
334
+ /**
335
+ * The session's WebSocket URL path, on the control plane's address:
336
+ * /display/<id>.
337
+ *
338
+ * @generated from field: string url = 2;
339
+ */
340
+ url?: string;
341
+ /**
342
+ * The token that attaches the session, once, before
343
+ * session.attach_by. The viewer sends it as a WebSocket subprotocol,
344
+ * toshi.display.<token>, beside the subprotocol binary. Empty on a
345
+ * retry.
346
+ *
347
+ * @generated from field: string token = 3;
348
+ */
349
+ token?: string;
350
+ /**
351
+ * Set when this answers a retry of the call that opened the session:
352
+ * nothing was opened and no token is returned.
353
+ *
354
+ * @generated from field: bool replayed = 4;
355
+ */
356
+ replayed?: boolean;
357
+ };
358
+ /**
359
+ * Describes the message toshi.workspace.v1.OpenDisplaySessionResponse.
360
+ * Use `create(OpenDisplaySessionResponseSchema)` to create a new message.
361
+ */
362
+ export declare const OpenDisplaySessionResponseSchema: GenMessage<OpenDisplaySessionResponse, {
363
+ jsonType: OpenDisplaySessionResponseJson;
364
+ }>;
365
+ /**
366
+ * @generated from message toshi.workspace.v1.GetDisplaySessionRequest
367
+ */
368
+ export type GetDisplaySessionRequest = Message<"toshi.workspace.v1.GetDisplaySessionRequest"> & {
369
+ /**
370
+ * @generated from field: string session_id = 1;
371
+ */
372
+ sessionId: string;
373
+ };
374
+ /**
375
+ * @generated from message toshi.workspace.v1.GetDisplaySessionRequest
376
+ */
377
+ export type GetDisplaySessionRequestJson = {
378
+ /**
379
+ * @generated from field: string session_id = 1;
380
+ */
381
+ sessionId?: string;
382
+ };
383
+ /**
384
+ * Describes the message toshi.workspace.v1.GetDisplaySessionRequest.
385
+ * Use `create(GetDisplaySessionRequestSchema)` to create a new message.
386
+ */
387
+ export declare const GetDisplaySessionRequestSchema: GenMessage<GetDisplaySessionRequest, {
388
+ jsonType: GetDisplaySessionRequestJson;
389
+ }>;
390
+ /**
391
+ * @generated from message toshi.workspace.v1.GetDisplaySessionResponse
392
+ */
393
+ export type GetDisplaySessionResponse = Message<"toshi.workspace.v1.GetDisplaySessionResponse"> & {
394
+ /**
395
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
396
+ */
397
+ session?: DisplaySession | undefined;
398
+ };
399
+ /**
400
+ * @generated from message toshi.workspace.v1.GetDisplaySessionResponse
401
+ */
402
+ export type GetDisplaySessionResponseJson = {
403
+ /**
404
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
405
+ */
406
+ session?: DisplaySessionJson;
407
+ };
408
+ /**
409
+ * Describes the message toshi.workspace.v1.GetDisplaySessionResponse.
410
+ * Use `create(GetDisplaySessionResponseSchema)` to create a new message.
411
+ */
412
+ export declare const GetDisplaySessionResponseSchema: GenMessage<GetDisplaySessionResponse, {
413
+ jsonType: GetDisplaySessionResponseJson;
414
+ }>;
415
+ /**
416
+ * @generated from message toshi.workspace.v1.ListDisplaySessionsRequest
417
+ */
418
+ export type ListDisplaySessionsRequest = Message<"toshi.workspace.v1.ListDisplaySessionsRequest"> & {
419
+ /**
420
+ * Only this job's sessions; empty lists every job's.
421
+ *
422
+ * @generated from field: string job_id = 1;
423
+ */
424
+ jobId: string;
425
+ /**
426
+ * Only the sessions that have not closed.
427
+ *
428
+ * @generated from field: bool open_only = 2;
429
+ */
430
+ openOnly: boolean;
431
+ /**
432
+ * The most sessions returned, the newest first; zero is 50, at most
433
+ * 200.
434
+ *
435
+ * @generated from field: int32 page_size = 3;
436
+ */
437
+ pageSize: number;
438
+ };
439
+ /**
440
+ * @generated from message toshi.workspace.v1.ListDisplaySessionsRequest
441
+ */
442
+ export type ListDisplaySessionsRequestJson = {
443
+ /**
444
+ * Only this job's sessions; empty lists every job's.
445
+ *
446
+ * @generated from field: string job_id = 1;
447
+ */
448
+ jobId?: string;
449
+ /**
450
+ * Only the sessions that have not closed.
451
+ *
452
+ * @generated from field: bool open_only = 2;
453
+ */
454
+ openOnly?: boolean;
455
+ /**
456
+ * The most sessions returned, the newest first; zero is 50, at most
457
+ * 200.
458
+ *
459
+ * @generated from field: int32 page_size = 3;
460
+ */
461
+ pageSize?: number;
462
+ };
463
+ /**
464
+ * Describes the message toshi.workspace.v1.ListDisplaySessionsRequest.
465
+ * Use `create(ListDisplaySessionsRequestSchema)` to create a new message.
466
+ */
467
+ export declare const ListDisplaySessionsRequestSchema: GenMessage<ListDisplaySessionsRequest, {
468
+ jsonType: ListDisplaySessionsRequestJson;
469
+ }>;
470
+ /**
471
+ * @generated from message toshi.workspace.v1.ListDisplaySessionsResponse
472
+ */
473
+ export type ListDisplaySessionsResponse = Message<"toshi.workspace.v1.ListDisplaySessionsResponse"> & {
474
+ /**
475
+ * @generated from field: repeated toshi.workspace.v1.DisplaySession sessions = 1;
476
+ */
477
+ sessions: DisplaySession[];
478
+ };
479
+ /**
480
+ * @generated from message toshi.workspace.v1.ListDisplaySessionsResponse
481
+ */
482
+ export type ListDisplaySessionsResponseJson = {
483
+ /**
484
+ * @generated from field: repeated toshi.workspace.v1.DisplaySession sessions = 1;
485
+ */
486
+ sessions?: DisplaySessionJson[];
487
+ };
488
+ /**
489
+ * Describes the message toshi.workspace.v1.ListDisplaySessionsResponse.
490
+ * Use `create(ListDisplaySessionsResponseSchema)` to create a new message.
491
+ */
492
+ export declare const ListDisplaySessionsResponseSchema: GenMessage<ListDisplaySessionsResponse, {
493
+ jsonType: ListDisplaySessionsResponseJson;
494
+ }>;
495
+ /**
496
+ * @generated from message toshi.workspace.v1.CloseDisplaySessionRequest
497
+ */
498
+ export type CloseDisplaySessionRequest = Message<"toshi.workspace.v1.CloseDisplaySessionRequest"> & {
499
+ /**
500
+ * @generated from field: string session_id = 1;
501
+ */
502
+ sessionId: string;
503
+ };
504
+ /**
505
+ * @generated from message toshi.workspace.v1.CloseDisplaySessionRequest
506
+ */
507
+ export type CloseDisplaySessionRequestJson = {
508
+ /**
509
+ * @generated from field: string session_id = 1;
510
+ */
511
+ sessionId?: string;
512
+ };
513
+ /**
514
+ * Describes the message toshi.workspace.v1.CloseDisplaySessionRequest.
515
+ * Use `create(CloseDisplaySessionRequestSchema)` to create a new message.
516
+ */
517
+ export declare const CloseDisplaySessionRequestSchema: GenMessage<CloseDisplaySessionRequest, {
518
+ jsonType: CloseDisplaySessionRequestJson;
519
+ }>;
520
+ /**
521
+ * @generated from message toshi.workspace.v1.CloseDisplaySessionResponse
522
+ */
523
+ export type CloseDisplaySessionResponse = Message<"toshi.workspace.v1.CloseDisplaySessionResponse"> & {
524
+ /**
525
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
526
+ */
527
+ session?: DisplaySession | undefined;
528
+ };
529
+ /**
530
+ * @generated from message toshi.workspace.v1.CloseDisplaySessionResponse
531
+ */
532
+ export type CloseDisplaySessionResponseJson = {
533
+ /**
534
+ * @generated from field: toshi.workspace.v1.DisplaySession session = 1;
535
+ */
536
+ session?: DisplaySessionJson;
537
+ };
538
+ /**
539
+ * Describes the message toshi.workspace.v1.CloseDisplaySessionResponse.
540
+ * Use `create(CloseDisplaySessionResponseSchema)` to create a new message.
541
+ */
542
+ export declare const CloseDisplaySessionResponseSchema: GenMessage<CloseDisplaySessionResponse, {
543
+ jsonType: CloseDisplaySessionResponseJson;
544
+ }>;
545
+ /**
546
+ * @generated from message toshi.workspace.v1.SendDisplayKeysRequest
547
+ */
548
+ export type SendDisplayKeysRequest = Message<"toshi.workspace.v1.SendDisplayKeysRequest"> & {
549
+ /**
550
+ * @generated from field: string session_id = 1;
551
+ */
552
+ sessionId: string;
553
+ /**
554
+ * @generated from oneof toshi.workspace.v1.SendDisplayKeysRequest.input
555
+ */
556
+ input: {
557
+ /**
558
+ * Text typed one character at a time, at most 4096 characters of
559
+ * printable ASCII, newlines ("\n") and tabs; any other character fails
560
+ * the call with INVALID_ARGUMENT before any key is sent. A character
561
+ * that needs Shift on a US keyboard is typed with it; a newline is
562
+ * Return.
563
+ *
564
+ * @generated from field: string text = 2;
565
+ */
566
+ value: string;
567
+ case: "text";
568
+ } | {
569
+ /**
570
+ * Keys pressed in order, at most 256, each a key or a chord such as
571
+ * "Return", "ctrl+c", "ctrl+alt+t" or "shift+Tab": modifiers (ctrl,
572
+ * shift, alt, super) go down in order, then the key goes down and up,
573
+ * then the modifiers go up. A key is one character or an X11 keysym
574
+ * name: Return, Tab, Escape, BackSpace, Delete, Insert, Home, End,
575
+ * Page_Up, Page_Down, Left, Up, Right, Down, space, F1 to F12. An
576
+ * unknown key fails the call with INVALID_ARGUMENT before any key is
577
+ * sent.
578
+ *
579
+ * @generated from field: toshi.workspace.v1.DisplayKeys keys = 3;
580
+ */
581
+ value: DisplayKeys;
582
+ case: "keys";
583
+ } | {
584
+ case: undefined;
585
+ value?: undefined;
586
+ };
587
+ };
588
+ /**
589
+ * @generated from message toshi.workspace.v1.SendDisplayKeysRequest
590
+ */
591
+ export type SendDisplayKeysRequestJson = {
592
+ /**
593
+ * @generated from field: string session_id = 1;
594
+ */
595
+ sessionId?: string;
596
+ /**
597
+ * Text typed one character at a time, at most 4096 characters of
598
+ * printable ASCII, newlines ("\n") and tabs; any other character fails
599
+ * the call with INVALID_ARGUMENT before any key is sent. A character
600
+ * that needs Shift on a US keyboard is typed with it; a newline is
601
+ * Return.
602
+ *
603
+ * @generated from field: string text = 2;
604
+ */
605
+ text?: string;
606
+ /**
607
+ * Keys pressed in order, at most 256, each a key or a chord such as
608
+ * "Return", "ctrl+c", "ctrl+alt+t" or "shift+Tab": modifiers (ctrl,
609
+ * shift, alt, super) go down in order, then the key goes down and up,
610
+ * then the modifiers go up. A key is one character or an X11 keysym
611
+ * name: Return, Tab, Escape, BackSpace, Delete, Insert, Home, End,
612
+ * Page_Up, Page_Down, Left, Up, Right, Down, space, F1 to F12. An
613
+ * unknown key fails the call with INVALID_ARGUMENT before any key is
614
+ * sent.
615
+ *
616
+ * @generated from field: toshi.workspace.v1.DisplayKeys keys = 3;
617
+ */
618
+ keys?: DisplayKeysJson;
619
+ };
620
+ /**
621
+ * Describes the message toshi.workspace.v1.SendDisplayKeysRequest.
622
+ * Use `create(SendDisplayKeysRequestSchema)` to create a new message.
623
+ */
624
+ export declare const SendDisplayKeysRequestSchema: GenMessage<SendDisplayKeysRequest, {
625
+ jsonType: SendDisplayKeysRequestJson;
626
+ }>;
627
+ /**
628
+ * DisplayKeys is a list of keys and chords.
629
+ *
630
+ * @generated from message toshi.workspace.v1.DisplayKeys
631
+ */
632
+ export type DisplayKeys = Message<"toshi.workspace.v1.DisplayKeys"> & {
633
+ /**
634
+ * @generated from field: repeated string keys = 1;
635
+ */
636
+ keys: string[];
637
+ };
638
+ /**
639
+ * DisplayKeys is a list of keys and chords.
640
+ *
641
+ * @generated from message toshi.workspace.v1.DisplayKeys
642
+ */
643
+ export type DisplayKeysJson = {
644
+ /**
645
+ * @generated from field: repeated string keys = 1;
646
+ */
647
+ keys?: string[];
648
+ };
649
+ /**
650
+ * Describes the message toshi.workspace.v1.DisplayKeys.
651
+ * Use `create(DisplayKeysSchema)` to create a new message.
652
+ */
653
+ export declare const DisplayKeysSchema: GenMessage<DisplayKeys, {
654
+ jsonType: DisplayKeysJson;
655
+ }>;
656
+ /**
657
+ * @generated from message toshi.workspace.v1.SendDisplayKeysResponse
658
+ */
659
+ export type SendDisplayKeysResponse = Message<"toshi.workspace.v1.SendDisplayKeysResponse"> & {};
660
+ /**
661
+ * @generated from message toshi.workspace.v1.SendDisplayKeysResponse
662
+ */
663
+ export type SendDisplayKeysResponseJson = {};
664
+ /**
665
+ * Describes the message toshi.workspace.v1.SendDisplayKeysResponse.
666
+ * Use `create(SendDisplayKeysResponseSchema)` to create a new message.
667
+ */
668
+ export declare const SendDisplayKeysResponseSchema: GenMessage<SendDisplayKeysResponse, {
669
+ jsonType: SendDisplayKeysResponseJson;
670
+ }>;
671
+ /**
672
+ * @generated from message toshi.workspace.v1.SendDisplayPointerRequest
673
+ */
674
+ export type SendDisplayPointerRequest = Message<"toshi.workspace.v1.SendDisplayPointerRequest"> & {
675
+ /**
676
+ * @generated from field: string session_id = 1;
677
+ */
678
+ sessionId: string;
679
+ /**
680
+ * Pointer states sent in order, at most 256.
681
+ *
682
+ * @generated from field: repeated toshi.workspace.v1.DisplayPointerEvent events = 2;
683
+ */
684
+ events: DisplayPointerEvent[];
685
+ };
686
+ /**
687
+ * @generated from message toshi.workspace.v1.SendDisplayPointerRequest
688
+ */
689
+ export type SendDisplayPointerRequestJson = {
690
+ /**
691
+ * @generated from field: string session_id = 1;
692
+ */
693
+ sessionId?: string;
694
+ /**
695
+ * Pointer states sent in order, at most 256.
696
+ *
697
+ * @generated from field: repeated toshi.workspace.v1.DisplayPointerEvent events = 2;
698
+ */
699
+ events?: DisplayPointerEventJson[];
700
+ };
701
+ /**
702
+ * Describes the message toshi.workspace.v1.SendDisplayPointerRequest.
703
+ * Use `create(SendDisplayPointerRequestSchema)` to create a new message.
704
+ */
705
+ export declare const SendDisplayPointerRequestSchema: GenMessage<SendDisplayPointerRequest, {
706
+ jsonType: SendDisplayPointerRequestJson;
707
+ }>;
708
+ /**
709
+ * DisplayPointerEvent is where the pointer is and which buttons are down.
710
+ *
711
+ * @generated from message toshi.workspace.v1.DisplayPointerEvent
712
+ */
713
+ export type DisplayPointerEvent = Message<"toshi.workspace.v1.DisplayPointerEvent"> & {
714
+ /**
715
+ * Pixels from the screen's left and top edges, inside the screen as
716
+ * TakeDisplayScreenshot sees it; a point outside fails the call with
717
+ * INVALID_ARGUMENT before any event is sent.
718
+ *
719
+ * @generated from field: int32 x = 1;
720
+ */
721
+ x: number;
722
+ /**
723
+ * @generated from field: int32 y = 2;
724
+ */
725
+ y: number;
726
+ /**
727
+ * The buttons held down: 1 left, 2 middle, 4 right, 8 wheel up, 16
728
+ * wheel down. A click is an event with the button and one without; a
729
+ * wheel step is an event with 8 or 16 and one without.
730
+ *
731
+ * @generated from field: uint32 buttons = 3;
732
+ */
733
+ buttons: number;
734
+ };
735
+ /**
736
+ * DisplayPointerEvent is where the pointer is and which buttons are down.
737
+ *
738
+ * @generated from message toshi.workspace.v1.DisplayPointerEvent
739
+ */
740
+ export type DisplayPointerEventJson = {
741
+ /**
742
+ * Pixels from the screen's left and top edges, inside the screen as
743
+ * TakeDisplayScreenshot sees it; a point outside fails the call with
744
+ * INVALID_ARGUMENT before any event is sent.
745
+ *
746
+ * @generated from field: int32 x = 1;
747
+ */
748
+ x?: number;
749
+ /**
750
+ * @generated from field: int32 y = 2;
751
+ */
752
+ y?: number;
753
+ /**
754
+ * The buttons held down: 1 left, 2 middle, 4 right, 8 wheel up, 16
755
+ * wheel down. A click is an event with the button and one without; a
756
+ * wheel step is an event with 8 or 16 and one without.
757
+ *
758
+ * @generated from field: uint32 buttons = 3;
759
+ */
760
+ buttons?: number;
761
+ };
762
+ /**
763
+ * Describes the message toshi.workspace.v1.DisplayPointerEvent.
764
+ * Use `create(DisplayPointerEventSchema)` to create a new message.
765
+ */
766
+ export declare const DisplayPointerEventSchema: GenMessage<DisplayPointerEvent, {
767
+ jsonType: DisplayPointerEventJson;
768
+ }>;
769
+ /**
770
+ * @generated from message toshi.workspace.v1.SendDisplayPointerResponse
771
+ */
772
+ export type SendDisplayPointerResponse = Message<"toshi.workspace.v1.SendDisplayPointerResponse"> & {};
773
+ /**
774
+ * @generated from message toshi.workspace.v1.SendDisplayPointerResponse
775
+ */
776
+ export type SendDisplayPointerResponseJson = {};
777
+ /**
778
+ * Describes the message toshi.workspace.v1.SendDisplayPointerResponse.
779
+ * Use `create(SendDisplayPointerResponseSchema)` to create a new message.
780
+ */
781
+ export declare const SendDisplayPointerResponseSchema: GenMessage<SendDisplayPointerResponse, {
782
+ jsonType: SendDisplayPointerResponseJson;
783
+ }>;
784
+ /**
785
+ * @generated from message toshi.workspace.v1.SetDisplayClipboardRequest
786
+ */
787
+ export type SetDisplayClipboardRequest = Message<"toshi.workspace.v1.SetDisplayClipboardRequest"> & {
788
+ /**
789
+ * @generated from field: string session_id = 1;
790
+ */
791
+ sessionId: string;
792
+ /**
793
+ * At most 256 KiB, in Latin-1 (the RFB protocol's clipboard); other
794
+ * text fails the call with INVALID_ARGUMENT.
795
+ *
796
+ * @generated from field: string text = 2;
797
+ */
798
+ text: string;
799
+ };
800
+ /**
801
+ * @generated from message toshi.workspace.v1.SetDisplayClipboardRequest
802
+ */
803
+ export type SetDisplayClipboardRequestJson = {
804
+ /**
805
+ * @generated from field: string session_id = 1;
806
+ */
807
+ sessionId?: string;
808
+ /**
809
+ * At most 256 KiB, in Latin-1 (the RFB protocol's clipboard); other
810
+ * text fails the call with INVALID_ARGUMENT.
811
+ *
812
+ * @generated from field: string text = 2;
813
+ */
814
+ text?: string;
815
+ };
816
+ /**
817
+ * Describes the message toshi.workspace.v1.SetDisplayClipboardRequest.
818
+ * Use `create(SetDisplayClipboardRequestSchema)` to create a new message.
819
+ */
820
+ export declare const SetDisplayClipboardRequestSchema: GenMessage<SetDisplayClipboardRequest, {
821
+ jsonType: SetDisplayClipboardRequestJson;
822
+ }>;
823
+ /**
824
+ * @generated from message toshi.workspace.v1.SetDisplayClipboardResponse
825
+ */
826
+ export type SetDisplayClipboardResponse = Message<"toshi.workspace.v1.SetDisplayClipboardResponse"> & {};
827
+ /**
828
+ * @generated from message toshi.workspace.v1.SetDisplayClipboardResponse
829
+ */
830
+ export type SetDisplayClipboardResponseJson = {};
831
+ /**
832
+ * Describes the message toshi.workspace.v1.SetDisplayClipboardResponse.
833
+ * Use `create(SetDisplayClipboardResponseSchema)` to create a new message.
834
+ */
835
+ export declare const SetDisplayClipboardResponseSchema: GenMessage<SetDisplayClipboardResponse, {
836
+ jsonType: SetDisplayClipboardResponseJson;
837
+ }>;
838
+ /**
839
+ * @generated from message toshi.workspace.v1.TakeDisplayScreenshotRequest
840
+ */
841
+ export type TakeDisplayScreenshotRequest = Message<"toshi.workspace.v1.TakeDisplayScreenshotRequest"> & {
842
+ /**
843
+ * @generated from field: string session_id = 1;
844
+ */
845
+ sessionId: string;
846
+ };
847
+ /**
848
+ * @generated from message toshi.workspace.v1.TakeDisplayScreenshotRequest
849
+ */
850
+ export type TakeDisplayScreenshotRequestJson = {
851
+ /**
852
+ * @generated from field: string session_id = 1;
853
+ */
854
+ sessionId?: string;
855
+ };
856
+ /**
857
+ * Describes the message toshi.workspace.v1.TakeDisplayScreenshotRequest.
858
+ * Use `create(TakeDisplayScreenshotRequestSchema)` to create a new message.
859
+ */
860
+ export declare const TakeDisplayScreenshotRequestSchema: GenMessage<TakeDisplayScreenshotRequest, {
861
+ jsonType: TakeDisplayScreenshotRequestJson;
862
+ }>;
863
+ /**
864
+ * @generated from message toshi.workspace.v1.TakeDisplayScreenshotResponse
865
+ */
866
+ export type TakeDisplayScreenshotResponse = Message<"toshi.workspace.v1.TakeDisplayScreenshotResponse"> & {
867
+ /**
868
+ * The screen as a PNG image.
869
+ *
870
+ * @generated from field: bytes png = 1;
871
+ */
872
+ png: Uint8Array;
873
+ /**
874
+ * @generated from field: int32 width = 2;
875
+ */
876
+ width: number;
877
+ /**
878
+ * @generated from field: int32 height = 3;
879
+ */
880
+ height: number;
881
+ /**
882
+ * @generated from field: google.protobuf.Timestamp taken_at = 4;
883
+ */
884
+ takenAt?: Timestamp | undefined;
885
+ };
886
+ /**
887
+ * @generated from message toshi.workspace.v1.TakeDisplayScreenshotResponse
888
+ */
889
+ export type TakeDisplayScreenshotResponseJson = {
890
+ /**
891
+ * The screen as a PNG image.
892
+ *
893
+ * @generated from field: bytes png = 1;
894
+ */
895
+ png?: string;
896
+ /**
897
+ * @generated from field: int32 width = 2;
898
+ */
899
+ width?: number;
900
+ /**
901
+ * @generated from field: int32 height = 3;
902
+ */
903
+ height?: number;
904
+ /**
905
+ * @generated from field: google.protobuf.Timestamp taken_at = 4;
906
+ */
907
+ takenAt?: TimestampJson;
908
+ };
909
+ /**
910
+ * Describes the message toshi.workspace.v1.TakeDisplayScreenshotResponse.
911
+ * Use `create(TakeDisplayScreenshotResponseSchema)` to create a new message.
912
+ */
913
+ export declare const TakeDisplayScreenshotResponseSchema: GenMessage<TakeDisplayScreenshotResponse, {
914
+ jsonType: TakeDisplayScreenshotResponseJson;
915
+ }>;
916
+ /**
917
+ * DisplayMode is what a session's viewer may do.
918
+ *
919
+ * @generated from enum toshi.workspace.v1.DisplayMode
920
+ */
921
+ export declare enum DisplayMode {
922
+ /**
923
+ * View only.
924
+ *
925
+ * @generated from enum value: DISPLAY_MODE_UNSPECIFIED = 0;
926
+ */
927
+ UNSPECIFIED = 0,
928
+ /**
929
+ * The viewer sees the screen; the relay drops its keys, pointer and
930
+ * clipboard.
931
+ *
932
+ * @generated from enum value: DISPLAY_MODE_VIEW_ONLY = 1;
933
+ */
934
+ VIEW_ONLY = 1,
935
+ /**
936
+ * The viewer sees the screen and sends keys, pointer and clipboard. One
937
+ * open session of a job has input at a time.
938
+ *
939
+ * @generated from enum value: DISPLAY_MODE_WITH_INPUT = 2;
940
+ */
941
+ WITH_INPUT = 2
942
+ }
943
+ /**
944
+ * DisplayMode is what a session's viewer may do.
945
+ *
946
+ * @generated from enum toshi.workspace.v1.DisplayMode
947
+ */
948
+ export type DisplayModeJson = "DISPLAY_MODE_UNSPECIFIED" | "DISPLAY_MODE_VIEW_ONLY" | "DISPLAY_MODE_WITH_INPUT";
949
+ /**
950
+ * Describes the enum toshi.workspace.v1.DisplayMode.
951
+ */
952
+ export declare const DisplayModeSchema: GenEnum<DisplayMode, DisplayModeJson>;
953
+ /**
954
+ * @generated from enum toshi.workspace.v1.DisplaySessionState
955
+ */
956
+ export declare enum DisplaySessionState {
957
+ /**
958
+ * @generated from enum value: DISPLAY_SESSION_STATE_UNSPECIFIED = 0;
959
+ */
960
+ UNSPECIFIED = 0,
961
+ /**
962
+ * Opened; its viewer has not presented the token yet.
963
+ *
964
+ * @generated from enum value: DISPLAY_SESSION_STATE_WAITING = 1;
965
+ */
966
+ WAITING = 1,
967
+ /**
968
+ * Its viewer is attached.
969
+ *
970
+ * @generated from enum value: DISPLAY_SESSION_STATE_ATTACHED = 2;
971
+ */
972
+ ATTACHED = 2,
973
+ /**
974
+ * @generated from enum value: DISPLAY_SESSION_STATE_CLOSED = 3;
975
+ */
976
+ CLOSED = 3
977
+ }
978
+ /**
979
+ * @generated from enum toshi.workspace.v1.DisplaySessionState
980
+ */
981
+ export type DisplaySessionStateJson = "DISPLAY_SESSION_STATE_UNSPECIFIED" | "DISPLAY_SESSION_STATE_WAITING" | "DISPLAY_SESSION_STATE_ATTACHED" | "DISPLAY_SESSION_STATE_CLOSED";
982
+ /**
983
+ * Describes the enum toshi.workspace.v1.DisplaySessionState.
984
+ */
985
+ export declare const DisplaySessionStateSchema: GenEnum<DisplaySessionState, DisplaySessionStateJson>;
986
+ /**
987
+ * DisplayOpener is how a session was opened.
988
+ *
989
+ * @generated from enum toshi.workspace.v1.DisplayOpener
990
+ */
991
+ export declare enum DisplayOpener {
992
+ /**
993
+ * @generated from enum value: DISPLAY_OPENER_UNSPECIFIED = 0;
994
+ */
995
+ UNSPECIFIED = 0,
996
+ /**
997
+ * A person, signed in to the dashboard.
998
+ *
999
+ * @generated from enum value: DISPLAY_OPENER_PERSON = 1;
1000
+ */
1001
+ PERSON = 1,
1002
+ /**
1003
+ * A program, with an API token.
1004
+ *
1005
+ * @generated from enum value: DISPLAY_OPENER_PROGRAM = 2;
1006
+ */
1007
+ PROGRAM = 2
1008
+ }
1009
+ /**
1010
+ * DisplayOpener is how a session was opened.
1011
+ *
1012
+ * @generated from enum toshi.workspace.v1.DisplayOpener
1013
+ */
1014
+ export type DisplayOpenerJson = "DISPLAY_OPENER_UNSPECIFIED" | "DISPLAY_OPENER_PERSON" | "DISPLAY_OPENER_PROGRAM";
1015
+ /**
1016
+ * Describes the enum toshi.workspace.v1.DisplayOpener.
1017
+ */
1018
+ export declare const DisplayOpenerSchema: GenEnum<DisplayOpener, DisplayOpenerJson>;
1019
+ /**
1020
+ * DisplayService opens display sessions: one viewer's live view of the
1021
+ * screen of a VM that runs one of the workspace's CI jobs. The caller's
1022
+ * credential names the workspace, as for WorkspaceService; a session or a job
1023
+ * of another workspace is NOT_FOUND.
1024
+ *
1025
+ * A session carries the screen as the RFB protocol (RFC 6143) over a
1026
+ * WebSocket at the session's URL, the framing noVNC speaks. Its token,
1027
+ * in the answer to OpenDisplaySession and in no other, attaches it once:
1028
+ * the viewer presents it before the token expires, and a closed, attached
1029
+ * or expired session refuses it.
1030
+ *
1031
+ * The plan sets how many sessions one job may have at once, attached or
1032
+ * waiting for their viewer, and the longest idle close; a plan without
1033
+ * displays refuses every open with FAILED_PRECONDITION. A suspended
1034
+ * workspace opens none, and its open sessions close.
1035
+ *
1036
+ * @generated from service toshi.workspace.v1.DisplayService
1037
+ */
1038
+ export declare const DisplayService: GenService<{
1039
+ /**
1040
+ * OpenDisplaySession opens a session on a running job and returns its
1041
+ * URL and token. A job that is not running, or one beyond the plan's
1042
+ * viewers, or a second session with input on a job, fails with
1043
+ * FAILED_PRECONDITION. A session ends when it is closed, when no bytes
1044
+ * of the screen's protocol go either way for its idle close, when its
1045
+ * token expires before it attaches, when its job stops running on the
1046
+ * VM it was opened on, or when the workspace is suspended.
1047
+ *
1048
+ * request_key works as WorkspaceService's, except that a retry never
1049
+ * returns the token: it returns the session the first call opened, with
1050
+ * replayed set and no token, and opens nothing. Open another session for
1051
+ * a new token.
1052
+ *
1053
+ * @generated from rpc toshi.workspace.v1.DisplayService.OpenDisplaySession
1054
+ */
1055
+ openDisplaySession: {
1056
+ methodKind: "unary";
1057
+ input: typeof OpenDisplaySessionRequestSchema;
1058
+ output: typeof OpenDisplaySessionResponseSchema;
1059
+ };
1060
+ /**
1061
+ * GetDisplaySession returns one session. An unknown ID fails with
1062
+ * NOT_FOUND.
1063
+ *
1064
+ * @generated from rpc toshi.workspace.v1.DisplayService.GetDisplaySession
1065
+ */
1066
+ getDisplaySession: {
1067
+ methodKind: "unary";
1068
+ input: typeof GetDisplaySessionRequestSchema;
1069
+ output: typeof GetDisplaySessionResponseSchema;
1070
+ };
1071
+ /**
1072
+ * ListDisplaySessions returns the workspace's sessions, the newest
1073
+ * first.
1074
+ *
1075
+ * @generated from rpc toshi.workspace.v1.DisplayService.ListDisplaySessions
1076
+ */
1077
+ listDisplaySessions: {
1078
+ methodKind: "unary";
1079
+ input: typeof ListDisplaySessionsRequestSchema;
1080
+ output: typeof ListDisplaySessionsResponseSchema;
1081
+ };
1082
+ /**
1083
+ * CloseDisplaySession closes a session and ends its viewer's connection.
1084
+ * Closing a closed session changes nothing.
1085
+ *
1086
+ * @generated from rpc toshi.workspace.v1.DisplayService.CloseDisplaySession
1087
+ */
1088
+ closeDisplaySession: {
1089
+ methodKind: "unary";
1090
+ input: typeof CloseDisplaySessionRequestSchema;
1091
+ output: typeof CloseDisplaySessionResponseSchema;
1092
+ };
1093
+ /**
1094
+ * SendDisplayKeys presses and releases keys on the screen. A view-only
1095
+ * session refuses it with FAILED_PRECONDITION.
1096
+ *
1097
+ * @generated from rpc toshi.workspace.v1.DisplayService.SendDisplayKeys
1098
+ */
1099
+ sendDisplayKeys: {
1100
+ methodKind: "unary";
1101
+ input: typeof SendDisplayKeysRequestSchema;
1102
+ output: typeof SendDisplayKeysResponseSchema;
1103
+ };
1104
+ /**
1105
+ * SendDisplayPointer moves the pointer and presses or releases its
1106
+ * buttons. A view-only session refuses it with FAILED_PRECONDITION.
1107
+ *
1108
+ * @generated from rpc toshi.workspace.v1.DisplayService.SendDisplayPointer
1109
+ */
1110
+ sendDisplayPointer: {
1111
+ methodKind: "unary";
1112
+ input: typeof SendDisplayPointerRequestSchema;
1113
+ output: typeof SendDisplayPointerResponseSchema;
1114
+ };
1115
+ /**
1116
+ * SetDisplayClipboard sets the screen's clipboard. It reaches the
1117
+ * guest's own clipboard only where the guest image runs a clipboard
1118
+ * agent. A view-only session refuses it with FAILED_PRECONDITION.
1119
+ *
1120
+ * @generated from rpc toshi.workspace.v1.DisplayService.SetDisplayClipboard
1121
+ */
1122
+ setDisplayClipboard: {
1123
+ methodKind: "unary";
1124
+ input: typeof SetDisplayClipboardRequestSchema;
1125
+ output: typeof SetDisplayClipboardResponseSchema;
1126
+ };
1127
+ /**
1128
+ * TakeDisplayScreenshot returns the whole screen as it is now, as a
1129
+ * PNG, once every pixel of a new frame has arrived: within the call's
1130
+ * deadline and at most 10 s, or DEADLINE_EXCEEDED. A screen larger
1131
+ * than 3840 x 2160 fails with FAILED_PRECONDITION; the control plane's
1132
+ * memory for frames, shared by its sessions, with RESOURCE_EXHAUSTED. A
1133
+ * view-only session takes them too.
1134
+ *
1135
+ * @generated from rpc toshi.workspace.v1.DisplayService.TakeDisplayScreenshot
1136
+ */
1137
+ takeDisplayScreenshot: {
1138
+ methodKind: "unary";
1139
+ input: typeof TakeDisplayScreenshotRequestSchema;
1140
+ output: typeof TakeDisplayScreenshotResponseSchema;
1141
+ };
1142
+ }>;