@toshicloud/sdk 0.4.0 → 0.5.1

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 (71) hide show
  1. package/README.md +102 -19
  2. package/dist/client.d.ts +40 -4
  3. package/dist/client.js +35 -4
  4. package/dist/errors.d.ts +99 -0
  5. package/dist/errors.js +208 -0
  6. package/dist/gen/toshi/permission_pb.d.ts +244 -0
  7. package/dist/gen/toshi/permission_pb.js +94 -0
  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 +10 -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 +12 -1
  14. package/dist/gen/toshi/workspace/v1/channels_pb.d.ts +1194 -21
  15. package/dist/gen/toshi/workspace/v1/channels_pb.js +186 -39
  16. package/dist/gen/toshi/workspace/v1/connections_pb.d.ts +1481 -0
  17. package/dist/gen/toshi/workspace/v1/connections_pb.js +208 -0
  18. package/dist/gen/toshi/workspace/v1/discovery_pb.d.ts +924 -0
  19. package/dist/gen/toshi/workspace/v1/discovery_pb.js +231 -0
  20. package/dist/gen/toshi/workspace/v1/display_pb.d.ts +198 -15
  21. package/dist/gen/toshi/workspace/v1/display_pb.js +53 -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 +2 -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 +315 -15
  29. package/dist/gen/toshi/workspace/v1/hostjobs_pb.js +11 -5
  30. package/dist/gen/toshi/workspace/v1/hosts_pb.d.ts +196 -7
  31. package/dist/gen/toshi/workspace/v1/hosts_pb.js +13 -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 +506 -0
  35. package/dist/gen/toshi/workspace/v1/products_pb.js +60 -0
  36. package/dist/gen/toshi/workspace/v1/projects_pb.d.ts +1474 -99
  37. package/dist/gen/toshi/workspace/v1/projects_pb.js +151 -33
  38. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +181 -14
  39. package/dist/gen/toshi/workspace/v1/recordings_pb.js +55 -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 +43 -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 +2 -1
  46. package/dist/gen/toshi/workspace/v1/tokens_pb.d.ts +434 -5
  47. package/dist/gen/toshi/workspace/v1/tokens_pb.js +66 -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 +170 -11
  52. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +66 -8
  53. package/dist/gen/toshi/workspace/v1/webhook_pb.js +5 -4
  54. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +2043 -54
  55. package/dist/gen/toshi/workspace/v1/workloads_pb.js +205 -54
  56. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +6292 -939
  57. package/dist/gen/toshi/workspace/v1/workspace_pb.js +801 -88
  58. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +2176 -630
  59. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +192 -74
  60. package/dist/index.d.ts +10 -1
  61. package/dist/index.js +10 -1
  62. package/dist/interceptors.d.ts +11 -1
  63. package/dist/interceptors.js +38 -4
  64. package/dist/retry.d.ts +18 -0
  65. package/dist/retry.js +228 -22
  66. package/dist/test/procedures.js +100 -5
  67. package/dist/version.d.ts +1 -1
  68. package/dist/version.js +1 -1
  69. package/dist/wait.d.ts +4 -0
  70. package/dist/wait.js +24 -1
  71. package/package.json +3 -2
@@ -0,0 +1,1297 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { FieldMask, FieldMaskJson, Timestamp, TimestampJson } from "@bufbuild/protobuf/wkt";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file toshi/workspace/v1/grants.proto.
6
+ */
7
+ export declare const file_toshi_workspace_v1_grants: GenFile;
8
+ /**
9
+ * Grant is one workspace's grant to another. Both sides read the same
10
+ * message.
11
+ *
12
+ * @generated from message toshi.workspace.v1.Grant
13
+ */
14
+ export type Grant = Message<"toshi.workspace.v1.Grant"> & {
15
+ /**
16
+ * Assigned by the server.
17
+ *
18
+ * @generated from field: string id = 1;
19
+ */
20
+ id: string;
21
+ /**
22
+ * The workspace that gave it.
23
+ *
24
+ * @generated from field: toshi.workspace.v1.GrantWorkspace owner = 2;
25
+ */
26
+ owner?: GrantWorkspace | undefined;
27
+ /**
28
+ * The workspace it was given to.
29
+ *
30
+ * @generated from field: toshi.workspace.v1.GrantWorkspace grantee = 3;
31
+ */
32
+ grantee?: GrantWorkspace | undefined;
33
+ /**
34
+ * What it covers, in the owner's workspace.
35
+ *
36
+ * @generated from oneof toshi.workspace.v1.Grant.target
37
+ */
38
+ target: {
39
+ /**
40
+ * Every sandbox of one environment.
41
+ *
42
+ * @generated from field: toshi.workspace.v1.GrantEnvironmentTarget environment = 4;
43
+ */
44
+ value: GrantEnvironmentTarget;
45
+ case: "environment";
46
+ } | {
47
+ /**
48
+ * One sandbox.
49
+ *
50
+ * @generated from field: toshi.workspace.v1.GrantSandboxTarget sandbox = 5;
51
+ */
52
+ value: GrantSandboxTarget;
53
+ case: "sandbox";
54
+ } | {
55
+ /**
56
+ * One preview of one sandbox, at VIEW only.
57
+ *
58
+ * @generated from field: toshi.workspace.v1.GrantPreviewTarget preview = 6;
59
+ */
60
+ value: GrantPreviewTarget;
61
+ case: "preview";
62
+ } | {
63
+ case: undefined;
64
+ value?: undefined;
65
+ };
66
+ /**
67
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 7;
68
+ */
69
+ level: GrantLevel;
70
+ /**
71
+ * @generated from field: toshi.workspace.v1.GrantState state = 8;
72
+ */
73
+ state: GrantState;
74
+ /**
75
+ * Who offered it, as the audit log names them.
76
+ *
77
+ * @generated from field: string offered_by = 9;
78
+ */
79
+ offeredBy: string;
80
+ /**
81
+ * @generated from field: google.protobuf.Timestamp offered_at = 10;
82
+ */
83
+ offeredAt?: Timestamp | undefined;
84
+ /**
85
+ * When an offer not answered lapses.
86
+ *
87
+ * @generated from field: google.protobuf.Timestamp lapses_at = 11;
88
+ */
89
+ lapsesAt?: Timestamp | undefined;
90
+ /**
91
+ * Unset until it is accepted.
92
+ *
93
+ * @generated from field: google.protobuf.Timestamp accepted_at = 12;
94
+ */
95
+ acceptedAt?: Timestamp | undefined;
96
+ /**
97
+ * Unset until something reaches the target through it.
98
+ *
99
+ * @generated from field: google.protobuf.Timestamp last_used_at = 13;
100
+ */
101
+ lastUsedAt?: Timestamp | undefined;
102
+ /**
103
+ * Unset when it has no expiry.
104
+ *
105
+ * @generated from field: google.protobuf.Timestamp expires_at = 14;
106
+ */
107
+ expiresAt?: Timestamp | undefined;
108
+ /**
109
+ * Unset while it is live.
110
+ *
111
+ * @generated from field: google.protobuf.Timestamp ended_at = 15;
112
+ */
113
+ endedAt?: Timestamp | undefined;
114
+ /**
115
+ * Who ended it: "owner", "grantee" or "system"; empty while it is live.
116
+ *
117
+ * @generated from field: string ended_by = 16;
118
+ */
119
+ endedBy: string;
120
+ };
121
+ /**
122
+ * Grant is one workspace's grant to another. Both sides read the same
123
+ * message.
124
+ *
125
+ * @generated from message toshi.workspace.v1.Grant
126
+ */
127
+ export type GrantJson = {
128
+ /**
129
+ * Assigned by the server.
130
+ *
131
+ * @generated from field: string id = 1;
132
+ */
133
+ id?: string;
134
+ /**
135
+ * The workspace that gave it.
136
+ *
137
+ * @generated from field: toshi.workspace.v1.GrantWorkspace owner = 2;
138
+ */
139
+ owner?: GrantWorkspaceJson;
140
+ /**
141
+ * The workspace it was given to.
142
+ *
143
+ * @generated from field: toshi.workspace.v1.GrantWorkspace grantee = 3;
144
+ */
145
+ grantee?: GrantWorkspaceJson;
146
+ /**
147
+ * Every sandbox of one environment.
148
+ *
149
+ * @generated from field: toshi.workspace.v1.GrantEnvironmentTarget environment = 4;
150
+ */
151
+ environment?: GrantEnvironmentTargetJson;
152
+ /**
153
+ * One sandbox.
154
+ *
155
+ * @generated from field: toshi.workspace.v1.GrantSandboxTarget sandbox = 5;
156
+ */
157
+ sandbox?: GrantSandboxTargetJson;
158
+ /**
159
+ * One preview of one sandbox, at VIEW only.
160
+ *
161
+ * @generated from field: toshi.workspace.v1.GrantPreviewTarget preview = 6;
162
+ */
163
+ preview?: GrantPreviewTargetJson;
164
+ /**
165
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 7;
166
+ */
167
+ level?: GrantLevelJson;
168
+ /**
169
+ * @generated from field: toshi.workspace.v1.GrantState state = 8;
170
+ */
171
+ state?: GrantStateJson;
172
+ /**
173
+ * Who offered it, as the audit log names them.
174
+ *
175
+ * @generated from field: string offered_by = 9;
176
+ */
177
+ offeredBy?: string;
178
+ /**
179
+ * @generated from field: google.protobuf.Timestamp offered_at = 10;
180
+ */
181
+ offeredAt?: TimestampJson;
182
+ /**
183
+ * When an offer not answered lapses.
184
+ *
185
+ * @generated from field: google.protobuf.Timestamp lapses_at = 11;
186
+ */
187
+ lapsesAt?: TimestampJson;
188
+ /**
189
+ * Unset until it is accepted.
190
+ *
191
+ * @generated from field: google.protobuf.Timestamp accepted_at = 12;
192
+ */
193
+ acceptedAt?: TimestampJson;
194
+ /**
195
+ * Unset until something reaches the target through it.
196
+ *
197
+ * @generated from field: google.protobuf.Timestamp last_used_at = 13;
198
+ */
199
+ lastUsedAt?: TimestampJson;
200
+ /**
201
+ * Unset when it has no expiry.
202
+ *
203
+ * @generated from field: google.protobuf.Timestamp expires_at = 14;
204
+ */
205
+ expiresAt?: TimestampJson;
206
+ /**
207
+ * Unset while it is live.
208
+ *
209
+ * @generated from field: google.protobuf.Timestamp ended_at = 15;
210
+ */
211
+ endedAt?: TimestampJson;
212
+ /**
213
+ * Who ended it: "owner", "grantee" or "system"; empty while it is live.
214
+ *
215
+ * @generated from field: string ended_by = 16;
216
+ */
217
+ endedBy?: string;
218
+ };
219
+ /**
220
+ * Describes the message toshi.workspace.v1.Grant.
221
+ * Use `create(GrantSchema)` to create a new message.
222
+ */
223
+ export declare const GrantSchema: GenMessage<Grant, {
224
+ jsonType: GrantJson;
225
+ }>;
226
+ /**
227
+ * SharedAccess is what a grant gives the grantee on one sandbox.
228
+ *
229
+ * @generated from message toshi.workspace.v1.SharedAccess
230
+ */
231
+ export type SharedAccess = Message<"toshi.workspace.v1.SharedAccess"> & {
232
+ /**
233
+ * The grant the sandbox was read through.
234
+ *
235
+ * @generated from field: string grant_id = 1;
236
+ */
237
+ grantId: string;
238
+ /**
239
+ * The grant's level.
240
+ *
241
+ * @generated from field: toshi.workspace.v1.GrantLevel grant_level = 2;
242
+ */
243
+ grantLevel: GrantLevel;
244
+ /**
245
+ * The level on this sandbox: the grant's, or VIEW for a sandbox with
246
+ * bindings or a state volume, or while the owner's workspace is
247
+ * suspended.
248
+ *
249
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 3;
250
+ */
251
+ level: GrantLevel;
252
+ /**
253
+ * The workspace that owns the sandbox.
254
+ *
255
+ * @generated from field: toshi.workspace.v1.GrantWorkspace owner = 4;
256
+ */
257
+ owner?: GrantWorkspace | undefined;
258
+ };
259
+ /**
260
+ * SharedAccess is what a grant gives the grantee on one sandbox.
261
+ *
262
+ * @generated from message toshi.workspace.v1.SharedAccess
263
+ */
264
+ export type SharedAccessJson = {
265
+ /**
266
+ * The grant the sandbox was read through.
267
+ *
268
+ * @generated from field: string grant_id = 1;
269
+ */
270
+ grantId?: string;
271
+ /**
272
+ * The grant's level.
273
+ *
274
+ * @generated from field: toshi.workspace.v1.GrantLevel grant_level = 2;
275
+ */
276
+ grantLevel?: GrantLevelJson;
277
+ /**
278
+ * The level on this sandbox: the grant's, or VIEW for a sandbox with
279
+ * bindings or a state volume, or while the owner's workspace is
280
+ * suspended.
281
+ *
282
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 3;
283
+ */
284
+ level?: GrantLevelJson;
285
+ /**
286
+ * The workspace that owns the sandbox.
287
+ *
288
+ * @generated from field: toshi.workspace.v1.GrantWorkspace owner = 4;
289
+ */
290
+ owner?: GrantWorkspaceJson;
291
+ };
292
+ /**
293
+ * Describes the message toshi.workspace.v1.SharedAccess.
294
+ * Use `create(SharedAccessSchema)` to create a new message.
295
+ */
296
+ export declare const SharedAccessSchema: GenMessage<SharedAccess, {
297
+ jsonType: SharedAccessJson;
298
+ }>;
299
+ /**
300
+ * GrantWorkspace is one side of a grant.
301
+ *
302
+ * @generated from message toshi.workspace.v1.GrantWorkspace
303
+ */
304
+ export type GrantWorkspace = Message<"toshi.workspace.v1.GrantWorkspace"> & {
305
+ /**
306
+ * @generated from field: string id = 1;
307
+ */
308
+ id: string;
309
+ /**
310
+ * Empty once the workspace is deleted.
311
+ *
312
+ * @generated from field: string name = 2;
313
+ */
314
+ name: string;
315
+ };
316
+ /**
317
+ * GrantWorkspace is one side of a grant.
318
+ *
319
+ * @generated from message toshi.workspace.v1.GrantWorkspace
320
+ */
321
+ export type GrantWorkspaceJson = {
322
+ /**
323
+ * @generated from field: string id = 1;
324
+ */
325
+ id?: string;
326
+ /**
327
+ * Empty once the workspace is deleted.
328
+ *
329
+ * @generated from field: string name = 2;
330
+ */
331
+ name?: string;
332
+ };
333
+ /**
334
+ * Describes the message toshi.workspace.v1.GrantWorkspace.
335
+ * Use `create(GrantWorkspaceSchema)` to create a new message.
336
+ */
337
+ export declare const GrantWorkspaceSchema: GenMessage<GrantWorkspace, {
338
+ jsonType: GrantWorkspaceJson;
339
+ }>;
340
+ /**
341
+ * GrantEnvironmentTarget covers every sandbox of one environment.
342
+ *
343
+ * @generated from message toshi.workspace.v1.GrantEnvironmentTarget
344
+ */
345
+ export type GrantEnvironmentTarget = Message<"toshi.workspace.v1.GrantEnvironmentTarget"> & {
346
+ /**
347
+ * @generated from field: string project = 1;
348
+ */
349
+ project: string;
350
+ /**
351
+ * @generated from field: string environment = 2;
352
+ */
353
+ environment: string;
354
+ };
355
+ /**
356
+ * GrantEnvironmentTarget covers every sandbox of one environment.
357
+ *
358
+ * @generated from message toshi.workspace.v1.GrantEnvironmentTarget
359
+ */
360
+ export type GrantEnvironmentTargetJson = {
361
+ /**
362
+ * @generated from field: string project = 1;
363
+ */
364
+ project?: string;
365
+ /**
366
+ * @generated from field: string environment = 2;
367
+ */
368
+ environment?: string;
369
+ };
370
+ /**
371
+ * Describes the message toshi.workspace.v1.GrantEnvironmentTarget.
372
+ * Use `create(GrantEnvironmentTargetSchema)` to create a new message.
373
+ */
374
+ export declare const GrantEnvironmentTargetSchema: GenMessage<GrantEnvironmentTarget, {
375
+ jsonType: GrantEnvironmentTargetJson;
376
+ }>;
377
+ /**
378
+ * GrantSandboxTarget covers one sandbox.
379
+ *
380
+ * @generated from message toshi.workspace.v1.GrantSandboxTarget
381
+ */
382
+ export type GrantSandboxTarget = Message<"toshi.workspace.v1.GrantSandboxTarget"> & {
383
+ /**
384
+ * @generated from field: string sandbox_id = 1;
385
+ */
386
+ sandboxId: string;
387
+ /**
388
+ * The sandbox's project and environment, set by the server.
389
+ *
390
+ * @generated from field: string project = 2;
391
+ */
392
+ project: string;
393
+ /**
394
+ * @generated from field: string environment = 3;
395
+ */
396
+ environment: string;
397
+ };
398
+ /**
399
+ * GrantSandboxTarget covers one sandbox.
400
+ *
401
+ * @generated from message toshi.workspace.v1.GrantSandboxTarget
402
+ */
403
+ export type GrantSandboxTargetJson = {
404
+ /**
405
+ * @generated from field: string sandbox_id = 1;
406
+ */
407
+ sandboxId?: string;
408
+ /**
409
+ * The sandbox's project and environment, set by the server.
410
+ *
411
+ * @generated from field: string project = 2;
412
+ */
413
+ project?: string;
414
+ /**
415
+ * @generated from field: string environment = 3;
416
+ */
417
+ environment?: string;
418
+ };
419
+ /**
420
+ * Describes the message toshi.workspace.v1.GrantSandboxTarget.
421
+ * Use `create(GrantSandboxTargetSchema)` to create a new message.
422
+ */
423
+ export declare const GrantSandboxTargetSchema: GenMessage<GrantSandboxTarget, {
424
+ jsonType: GrantSandboxTargetJson;
425
+ }>;
426
+ /**
427
+ * GrantPreviewTarget covers one preview of one sandbox.
428
+ *
429
+ * @generated from message toshi.workspace.v1.GrantPreviewTarget
430
+ */
431
+ export type GrantPreviewTarget = Message<"toshi.workspace.v1.GrantPreviewTarget"> & {
432
+ /**
433
+ * @generated from field: string sandbox_id = 1;
434
+ */
435
+ sandboxId: string;
436
+ /**
437
+ * The channel whose preview it covers: `preview` for the sandbox's own
438
+ * hostname, or another of its http channels.
439
+ *
440
+ * @generated from field: string channel = 2;
441
+ */
442
+ channel: string;
443
+ /**
444
+ * The sandbox's project and environment, set by the server.
445
+ *
446
+ * @generated from field: string project = 3;
447
+ */
448
+ project: string;
449
+ /**
450
+ * @generated from field: string environment = 4;
451
+ */
452
+ environment: string;
453
+ };
454
+ /**
455
+ * GrantPreviewTarget covers one preview of one sandbox.
456
+ *
457
+ * @generated from message toshi.workspace.v1.GrantPreviewTarget
458
+ */
459
+ export type GrantPreviewTargetJson = {
460
+ /**
461
+ * @generated from field: string sandbox_id = 1;
462
+ */
463
+ sandboxId?: string;
464
+ /**
465
+ * The channel whose preview it covers: `preview` for the sandbox's own
466
+ * hostname, or another of its http channels.
467
+ *
468
+ * @generated from field: string channel = 2;
469
+ */
470
+ channel?: string;
471
+ /**
472
+ * The sandbox's project and environment, set by the server.
473
+ *
474
+ * @generated from field: string project = 3;
475
+ */
476
+ project?: string;
477
+ /**
478
+ * @generated from field: string environment = 4;
479
+ */
480
+ environment?: string;
481
+ };
482
+ /**
483
+ * Describes the message toshi.workspace.v1.GrantPreviewTarget.
484
+ * Use `create(GrantPreviewTargetSchema)` to create a new message.
485
+ */
486
+ export declare const GrantPreviewTargetSchema: GenMessage<GrantPreviewTarget, {
487
+ jsonType: GrantPreviewTargetJson;
488
+ }>;
489
+ /**
490
+ * @generated from message toshi.workspace.v1.CreateGrantRequest
491
+ */
492
+ export type CreateGrantRequest = Message<"toshi.workspace.v1.CreateGrantRequest"> & {
493
+ /**
494
+ * The id of the workspace the grant is offered to.
495
+ *
496
+ * @generated from field: string grantee_workspace = 1;
497
+ */
498
+ granteeWorkspace: string;
499
+ /**
500
+ * What it covers, in the caller's workspace.
501
+ *
502
+ * @generated from oneof toshi.workspace.v1.CreateGrantRequest.target
503
+ */
504
+ target: {
505
+ /**
506
+ * @generated from field: toshi.workspace.v1.GrantEnvironmentTarget environment = 2;
507
+ */
508
+ value: GrantEnvironmentTarget;
509
+ case: "environment";
510
+ } | {
511
+ /**
512
+ * @generated from field: toshi.workspace.v1.GrantSandboxTarget sandbox = 3;
513
+ */
514
+ value: GrantSandboxTarget;
515
+ case: "sandbox";
516
+ } | {
517
+ /**
518
+ * @generated from field: toshi.workspace.v1.GrantPreviewTarget preview = 4;
519
+ */
520
+ value: GrantPreviewTarget;
521
+ case: "preview";
522
+ } | {
523
+ case: undefined;
524
+ value?: undefined;
525
+ };
526
+ /**
527
+ * VIEW for a preview.
528
+ *
529
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 5;
530
+ */
531
+ level: GrantLevel;
532
+ /**
533
+ * Unset for no expiry.
534
+ *
535
+ * @generated from field: google.protobuf.Timestamp expires_at = 6;
536
+ */
537
+ expiresAt?: Timestamp | undefined;
538
+ /**
539
+ * @generated from field: string request_key = 7;
540
+ */
541
+ requestKey: string;
542
+ };
543
+ /**
544
+ * @generated from message toshi.workspace.v1.CreateGrantRequest
545
+ */
546
+ export type CreateGrantRequestJson = {
547
+ /**
548
+ * The id of the workspace the grant is offered to.
549
+ *
550
+ * @generated from field: string grantee_workspace = 1;
551
+ */
552
+ granteeWorkspace?: string;
553
+ /**
554
+ * @generated from field: toshi.workspace.v1.GrantEnvironmentTarget environment = 2;
555
+ */
556
+ environment?: GrantEnvironmentTargetJson;
557
+ /**
558
+ * @generated from field: toshi.workspace.v1.GrantSandboxTarget sandbox = 3;
559
+ */
560
+ sandbox?: GrantSandboxTargetJson;
561
+ /**
562
+ * @generated from field: toshi.workspace.v1.GrantPreviewTarget preview = 4;
563
+ */
564
+ preview?: GrantPreviewTargetJson;
565
+ /**
566
+ * VIEW for a preview.
567
+ *
568
+ * @generated from field: toshi.workspace.v1.GrantLevel level = 5;
569
+ */
570
+ level?: GrantLevelJson;
571
+ /**
572
+ * Unset for no expiry.
573
+ *
574
+ * @generated from field: google.protobuf.Timestamp expires_at = 6;
575
+ */
576
+ expiresAt?: TimestampJson;
577
+ /**
578
+ * @generated from field: string request_key = 7;
579
+ */
580
+ requestKey?: string;
581
+ };
582
+ /**
583
+ * Describes the message toshi.workspace.v1.CreateGrantRequest.
584
+ * Use `create(CreateGrantRequestSchema)` to create a new message.
585
+ */
586
+ export declare const CreateGrantRequestSchema: GenMessage<CreateGrantRequest, {
587
+ jsonType: CreateGrantRequestJson;
588
+ }>;
589
+ /**
590
+ * @generated from message toshi.workspace.v1.CreateGrantResponse
591
+ */
592
+ export type CreateGrantResponse = Message<"toshi.workspace.v1.CreateGrantResponse"> & {
593
+ /**
594
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
595
+ */
596
+ grant?: Grant | undefined;
597
+ };
598
+ /**
599
+ * @generated from message toshi.workspace.v1.CreateGrantResponse
600
+ */
601
+ export type CreateGrantResponseJson = {
602
+ /**
603
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
604
+ */
605
+ grant?: GrantJson;
606
+ };
607
+ /**
608
+ * Describes the message toshi.workspace.v1.CreateGrantResponse.
609
+ * Use `create(CreateGrantResponseSchema)` to create a new message.
610
+ */
611
+ export declare const CreateGrantResponseSchema: GenMessage<CreateGrantResponse, {
612
+ jsonType: CreateGrantResponseJson;
613
+ }>;
614
+ /**
615
+ * @generated from message toshi.workspace.v1.GetGrantRequest
616
+ */
617
+ export type GetGrantRequest = Message<"toshi.workspace.v1.GetGrantRequest"> & {
618
+ /**
619
+ * @generated from field: string id = 1;
620
+ */
621
+ id: string;
622
+ };
623
+ /**
624
+ * @generated from message toshi.workspace.v1.GetGrantRequest
625
+ */
626
+ export type GetGrantRequestJson = {
627
+ /**
628
+ * @generated from field: string id = 1;
629
+ */
630
+ id?: string;
631
+ };
632
+ /**
633
+ * Describes the message toshi.workspace.v1.GetGrantRequest.
634
+ * Use `create(GetGrantRequestSchema)` to create a new message.
635
+ */
636
+ export declare const GetGrantRequestSchema: GenMessage<GetGrantRequest, {
637
+ jsonType: GetGrantRequestJson;
638
+ }>;
639
+ /**
640
+ * @generated from message toshi.workspace.v1.GetGrantResponse
641
+ */
642
+ export type GetGrantResponse = Message<"toshi.workspace.v1.GetGrantResponse"> & {
643
+ /**
644
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
645
+ */
646
+ grant?: Grant | undefined;
647
+ };
648
+ /**
649
+ * @generated from message toshi.workspace.v1.GetGrantResponse
650
+ */
651
+ export type GetGrantResponseJson = {
652
+ /**
653
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
654
+ */
655
+ grant?: GrantJson;
656
+ };
657
+ /**
658
+ * Describes the message toshi.workspace.v1.GetGrantResponse.
659
+ * Use `create(GetGrantResponseSchema)` to create a new message.
660
+ */
661
+ export declare const GetGrantResponseSchema: GenMessage<GetGrantResponse, {
662
+ jsonType: GetGrantResponseJson;
663
+ }>;
664
+ /**
665
+ * @generated from message toshi.workspace.v1.ListGrantsRequest
666
+ */
667
+ export type ListGrantsRequest = Message<"toshi.workspace.v1.ListGrantsRequest"> & {
668
+ /**
669
+ * @generated from field: toshi.workspace.v1.GrantSide side = 1;
670
+ */
671
+ side: GrantSide;
672
+ /**
673
+ * The states to list; empty lists every state.
674
+ *
675
+ * @generated from field: repeated toshi.workspace.v1.GrantState states = 2;
676
+ */
677
+ states: GrantState[];
678
+ /**
679
+ * The most grants in one page; zero lets the server choose.
680
+ *
681
+ * @generated from field: int32 page_size = 3;
682
+ */
683
+ pageSize: number;
684
+ /**
685
+ * From an earlier response's next_page_token; empty for the first page.
686
+ *
687
+ * @generated from field: string page_token = 4;
688
+ */
689
+ pageToken: string;
690
+ };
691
+ /**
692
+ * @generated from message toshi.workspace.v1.ListGrantsRequest
693
+ */
694
+ export type ListGrantsRequestJson = {
695
+ /**
696
+ * @generated from field: toshi.workspace.v1.GrantSide side = 1;
697
+ */
698
+ side?: GrantSideJson;
699
+ /**
700
+ * The states to list; empty lists every state.
701
+ *
702
+ * @generated from field: repeated toshi.workspace.v1.GrantState states = 2;
703
+ */
704
+ states?: GrantStateJson[];
705
+ /**
706
+ * The most grants in one page; zero lets the server choose.
707
+ *
708
+ * @generated from field: int32 page_size = 3;
709
+ */
710
+ pageSize?: number;
711
+ /**
712
+ * From an earlier response's next_page_token; empty for the first page.
713
+ *
714
+ * @generated from field: string page_token = 4;
715
+ */
716
+ pageToken?: string;
717
+ };
718
+ /**
719
+ * Describes the message toshi.workspace.v1.ListGrantsRequest.
720
+ * Use `create(ListGrantsRequestSchema)` to create a new message.
721
+ */
722
+ export declare const ListGrantsRequestSchema: GenMessage<ListGrantsRequest, {
723
+ jsonType: ListGrantsRequestJson;
724
+ }>;
725
+ /**
726
+ * @generated from message toshi.workspace.v1.ListGrantsResponse
727
+ */
728
+ export type ListGrantsResponse = Message<"toshi.workspace.v1.ListGrantsResponse"> & {
729
+ /**
730
+ * @generated from field: repeated toshi.workspace.v1.Grant grants = 1;
731
+ */
732
+ grants: Grant[];
733
+ /**
734
+ * Empty on the last page.
735
+ *
736
+ * @generated from field: string next_page_token = 2;
737
+ */
738
+ nextPageToken: string;
739
+ };
740
+ /**
741
+ * @generated from message toshi.workspace.v1.ListGrantsResponse
742
+ */
743
+ export type ListGrantsResponseJson = {
744
+ /**
745
+ * @generated from field: repeated toshi.workspace.v1.Grant grants = 1;
746
+ */
747
+ grants?: GrantJson[];
748
+ /**
749
+ * Empty on the last page.
750
+ *
751
+ * @generated from field: string next_page_token = 2;
752
+ */
753
+ nextPageToken?: string;
754
+ };
755
+ /**
756
+ * Describes the message toshi.workspace.v1.ListGrantsResponse.
757
+ * Use `create(ListGrantsResponseSchema)` to create a new message.
758
+ */
759
+ export declare const ListGrantsResponseSchema: GenMessage<ListGrantsResponse, {
760
+ jsonType: ListGrantsResponseJson;
761
+ }>;
762
+ /**
763
+ * @generated from message toshi.workspace.v1.AcceptGrantRequest
764
+ */
765
+ export type AcceptGrantRequest = Message<"toshi.workspace.v1.AcceptGrantRequest"> & {
766
+ /**
767
+ * @generated from field: string id = 1;
768
+ */
769
+ id: string;
770
+ };
771
+ /**
772
+ * @generated from message toshi.workspace.v1.AcceptGrantRequest
773
+ */
774
+ export type AcceptGrantRequestJson = {
775
+ /**
776
+ * @generated from field: string id = 1;
777
+ */
778
+ id?: string;
779
+ };
780
+ /**
781
+ * Describes the message toshi.workspace.v1.AcceptGrantRequest.
782
+ * Use `create(AcceptGrantRequestSchema)` to create a new message.
783
+ */
784
+ export declare const AcceptGrantRequestSchema: GenMessage<AcceptGrantRequest, {
785
+ jsonType: AcceptGrantRequestJson;
786
+ }>;
787
+ /**
788
+ * @generated from message toshi.workspace.v1.AcceptGrantResponse
789
+ */
790
+ export type AcceptGrantResponse = Message<"toshi.workspace.v1.AcceptGrantResponse"> & {
791
+ /**
792
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
793
+ */
794
+ grant?: Grant | undefined;
795
+ };
796
+ /**
797
+ * @generated from message toshi.workspace.v1.AcceptGrantResponse
798
+ */
799
+ export type AcceptGrantResponseJson = {
800
+ /**
801
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
802
+ */
803
+ grant?: GrantJson;
804
+ };
805
+ /**
806
+ * Describes the message toshi.workspace.v1.AcceptGrantResponse.
807
+ * Use `create(AcceptGrantResponseSchema)` to create a new message.
808
+ */
809
+ export declare const AcceptGrantResponseSchema: GenMessage<AcceptGrantResponse, {
810
+ jsonType: AcceptGrantResponseJson;
811
+ }>;
812
+ /**
813
+ * @generated from message toshi.workspace.v1.DeclineGrantRequest
814
+ */
815
+ export type DeclineGrantRequest = Message<"toshi.workspace.v1.DeclineGrantRequest"> & {
816
+ /**
817
+ * @generated from field: string id = 1;
818
+ */
819
+ id: string;
820
+ };
821
+ /**
822
+ * @generated from message toshi.workspace.v1.DeclineGrantRequest
823
+ */
824
+ export type DeclineGrantRequestJson = {
825
+ /**
826
+ * @generated from field: string id = 1;
827
+ */
828
+ id?: string;
829
+ };
830
+ /**
831
+ * Describes the message toshi.workspace.v1.DeclineGrantRequest.
832
+ * Use `create(DeclineGrantRequestSchema)` to create a new message.
833
+ */
834
+ export declare const DeclineGrantRequestSchema: GenMessage<DeclineGrantRequest, {
835
+ jsonType: DeclineGrantRequestJson;
836
+ }>;
837
+ /**
838
+ * @generated from message toshi.workspace.v1.DeclineGrantResponse
839
+ */
840
+ export type DeclineGrantResponse = Message<"toshi.workspace.v1.DeclineGrantResponse"> & {
841
+ /**
842
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
843
+ */
844
+ grant?: Grant | undefined;
845
+ };
846
+ /**
847
+ * @generated from message toshi.workspace.v1.DeclineGrantResponse
848
+ */
849
+ export type DeclineGrantResponseJson = {
850
+ /**
851
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
852
+ */
853
+ grant?: GrantJson;
854
+ };
855
+ /**
856
+ * Describes the message toshi.workspace.v1.DeclineGrantResponse.
857
+ * Use `create(DeclineGrantResponseSchema)` to create a new message.
858
+ */
859
+ export declare const DeclineGrantResponseSchema: GenMessage<DeclineGrantResponse, {
860
+ jsonType: DeclineGrantResponseJson;
861
+ }>;
862
+ /**
863
+ * @generated from message toshi.workspace.v1.UpdateGrantRequest
864
+ */
865
+ export type UpdateGrantRequest = Message<"toshi.workspace.v1.UpdateGrantRequest"> & {
866
+ /**
867
+ * id names the grant; expires_at is the one field set.
868
+ *
869
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
870
+ */
871
+ grant?: Grant | undefined;
872
+ /**
873
+ * @generated from field: google.protobuf.FieldMask update_mask = 2;
874
+ */
875
+ updateMask?: FieldMask | undefined;
876
+ };
877
+ /**
878
+ * @generated from message toshi.workspace.v1.UpdateGrantRequest
879
+ */
880
+ export type UpdateGrantRequestJson = {
881
+ /**
882
+ * id names the grant; expires_at is the one field set.
883
+ *
884
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
885
+ */
886
+ grant?: GrantJson;
887
+ /**
888
+ * @generated from field: google.protobuf.FieldMask update_mask = 2;
889
+ */
890
+ updateMask?: FieldMaskJson;
891
+ };
892
+ /**
893
+ * Describes the message toshi.workspace.v1.UpdateGrantRequest.
894
+ * Use `create(UpdateGrantRequestSchema)` to create a new message.
895
+ */
896
+ export declare const UpdateGrantRequestSchema: GenMessage<UpdateGrantRequest, {
897
+ jsonType: UpdateGrantRequestJson;
898
+ }>;
899
+ /**
900
+ * @generated from message toshi.workspace.v1.UpdateGrantResponse
901
+ */
902
+ export type UpdateGrantResponse = Message<"toshi.workspace.v1.UpdateGrantResponse"> & {
903
+ /**
904
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
905
+ */
906
+ grant?: Grant | undefined;
907
+ };
908
+ /**
909
+ * @generated from message toshi.workspace.v1.UpdateGrantResponse
910
+ */
911
+ export type UpdateGrantResponseJson = {
912
+ /**
913
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
914
+ */
915
+ grant?: GrantJson;
916
+ };
917
+ /**
918
+ * Describes the message toshi.workspace.v1.UpdateGrantResponse.
919
+ * Use `create(UpdateGrantResponseSchema)` to create a new message.
920
+ */
921
+ export declare const UpdateGrantResponseSchema: GenMessage<UpdateGrantResponse, {
922
+ jsonType: UpdateGrantResponseJson;
923
+ }>;
924
+ /**
925
+ * @generated from message toshi.workspace.v1.RevokeGrantRequest
926
+ */
927
+ export type RevokeGrantRequest = Message<"toshi.workspace.v1.RevokeGrantRequest"> & {
928
+ /**
929
+ * @generated from field: string id = 1;
930
+ */
931
+ id: string;
932
+ };
933
+ /**
934
+ * @generated from message toshi.workspace.v1.RevokeGrantRequest
935
+ */
936
+ export type RevokeGrantRequestJson = {
937
+ /**
938
+ * @generated from field: string id = 1;
939
+ */
940
+ id?: string;
941
+ };
942
+ /**
943
+ * Describes the message toshi.workspace.v1.RevokeGrantRequest.
944
+ * Use `create(RevokeGrantRequestSchema)` to create a new message.
945
+ */
946
+ export declare const RevokeGrantRequestSchema: GenMessage<RevokeGrantRequest, {
947
+ jsonType: RevokeGrantRequestJson;
948
+ }>;
949
+ /**
950
+ * @generated from message toshi.workspace.v1.RevokeGrantResponse
951
+ */
952
+ export type RevokeGrantResponse = Message<"toshi.workspace.v1.RevokeGrantResponse"> & {
953
+ /**
954
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
955
+ */
956
+ grant?: Grant | undefined;
957
+ };
958
+ /**
959
+ * @generated from message toshi.workspace.v1.RevokeGrantResponse
960
+ */
961
+ export type RevokeGrantResponseJson = {
962
+ /**
963
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
964
+ */
965
+ grant?: GrantJson;
966
+ };
967
+ /**
968
+ * Describes the message toshi.workspace.v1.RevokeGrantResponse.
969
+ * Use `create(RevokeGrantResponseSchema)` to create a new message.
970
+ */
971
+ export declare const RevokeGrantResponseSchema: GenMessage<RevokeGrantResponse, {
972
+ jsonType: RevokeGrantResponseJson;
973
+ }>;
974
+ /**
975
+ * @generated from message toshi.workspace.v1.LeaveGrantRequest
976
+ */
977
+ export type LeaveGrantRequest = Message<"toshi.workspace.v1.LeaveGrantRequest"> & {
978
+ /**
979
+ * @generated from field: string id = 1;
980
+ */
981
+ id: string;
982
+ };
983
+ /**
984
+ * @generated from message toshi.workspace.v1.LeaveGrantRequest
985
+ */
986
+ export type LeaveGrantRequestJson = {
987
+ /**
988
+ * @generated from field: string id = 1;
989
+ */
990
+ id?: string;
991
+ };
992
+ /**
993
+ * Describes the message toshi.workspace.v1.LeaveGrantRequest.
994
+ * Use `create(LeaveGrantRequestSchema)` to create a new message.
995
+ */
996
+ export declare const LeaveGrantRequestSchema: GenMessage<LeaveGrantRequest, {
997
+ jsonType: LeaveGrantRequestJson;
998
+ }>;
999
+ /**
1000
+ * @generated from message toshi.workspace.v1.LeaveGrantResponse
1001
+ */
1002
+ export type LeaveGrantResponse = Message<"toshi.workspace.v1.LeaveGrantResponse"> & {
1003
+ /**
1004
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
1005
+ */
1006
+ grant?: Grant | undefined;
1007
+ };
1008
+ /**
1009
+ * @generated from message toshi.workspace.v1.LeaveGrantResponse
1010
+ */
1011
+ export type LeaveGrantResponseJson = {
1012
+ /**
1013
+ * @generated from field: toshi.workspace.v1.Grant grant = 1;
1014
+ */
1015
+ grant?: GrantJson;
1016
+ };
1017
+ /**
1018
+ * Describes the message toshi.workspace.v1.LeaveGrantResponse.
1019
+ * Use `create(LeaveGrantResponseSchema)` to create a new message.
1020
+ */
1021
+ export declare const LeaveGrantResponseSchema: GenMessage<LeaveGrantResponse, {
1022
+ jsonType: LeaveGrantResponseJson;
1023
+ }>;
1024
+ /**
1025
+ * GrantLevel is what a grant lets the grantee do; each level includes the
1026
+ * one before.
1027
+ *
1028
+ * @generated from enum toshi.workspace.v1.GrantLevel
1029
+ */
1030
+ export declare enum GrantLevel {
1031
+ /**
1032
+ * @generated from enum value: GRANT_LEVEL_UNSPECIFIED = 0;
1033
+ */
1034
+ UNSPECIFIED = 0,
1035
+ /**
1036
+ * List, get and watch the sandboxes the grant covers; sign in to their
1037
+ * previews.
1038
+ *
1039
+ * @generated from enum value: GRANT_LEVEL_VIEW = 1;
1040
+ */
1041
+ VIEW = 1,
1042
+ /**
1043
+ * Also connect to their channels, open forwards and display sessions.
1044
+ *
1045
+ * @generated from enum value: GRANT_LEVEL_CONNECT = 2;
1046
+ */
1047
+ CONNECT = 2,
1048
+ /**
1049
+ * Also run and cancel executions, raise a sandbox's cap within the
1050
+ * owner's plan, and expose channels and delete the ones it exposed.
1051
+ *
1052
+ * @generated from enum value: GRANT_LEVEL_OPERATE = 3;
1053
+ */
1054
+ OPERATE = 3
1055
+ }
1056
+ /**
1057
+ * GrantLevel is what a grant lets the grantee do; each level includes the
1058
+ * one before.
1059
+ *
1060
+ * @generated from enum toshi.workspace.v1.GrantLevel
1061
+ */
1062
+ export type GrantLevelJson = "GRANT_LEVEL_UNSPECIFIED" | "GRANT_LEVEL_VIEW" | "GRANT_LEVEL_CONNECT" | "GRANT_LEVEL_OPERATE";
1063
+ /**
1064
+ * Describes the enum toshi.workspace.v1.GrantLevel.
1065
+ */
1066
+ export declare const GrantLevelSchema: GenEnum<GrantLevel, GrantLevelJson>;
1067
+ /**
1068
+ * GrantState is where a grant is in its life. OFFERED and ACTIVE are
1069
+ * live; every other state is final.
1070
+ *
1071
+ * @generated from enum toshi.workspace.v1.GrantState
1072
+ */
1073
+ export declare enum GrantState {
1074
+ /**
1075
+ * @generated from enum value: GRANT_STATE_UNSPECIFIED = 0;
1076
+ */
1077
+ UNSPECIFIED = 0,
1078
+ /**
1079
+ * Offered and not yet answered.
1080
+ *
1081
+ * @generated from enum value: GRANT_STATE_OFFERED = 1;
1082
+ */
1083
+ OFFERED = 1,
1084
+ /**
1085
+ * Accepted: the grantee reaches the target.
1086
+ *
1087
+ * @generated from enum value: GRANT_STATE_ACTIVE = 2;
1088
+ */
1089
+ ACTIVE = 2,
1090
+ /**
1091
+ * The grantee declined the offer.
1092
+ *
1093
+ * @generated from enum value: GRANT_STATE_DECLINED = 3;
1094
+ */
1095
+ DECLINED = 3,
1096
+ /**
1097
+ * The offer was not answered in time, or a side stopped being active
1098
+ * while it was open.
1099
+ *
1100
+ * @generated from enum value: GRANT_STATE_LAPSED = 4;
1101
+ */
1102
+ LAPSED = 4,
1103
+ /**
1104
+ * The owner revoked it, or the grantee left it.
1105
+ *
1106
+ * @generated from enum value: GRANT_STATE_REVOKED = 5;
1107
+ */
1108
+ REVOKED = 5,
1109
+ /**
1110
+ * Its expiry passed.
1111
+ *
1112
+ * @generated from enum value: GRANT_STATE_EXPIRED = 6;
1113
+ */
1114
+ EXPIRED = 6,
1115
+ /**
1116
+ * One of the two workspaces was deleted.
1117
+ *
1118
+ * @generated from enum value: GRANT_STATE_ENDED = 7;
1119
+ */
1120
+ ENDED = 7
1121
+ }
1122
+ /**
1123
+ * GrantState is where a grant is in its life. OFFERED and ACTIVE are
1124
+ * live; every other state is final.
1125
+ *
1126
+ * @generated from enum toshi.workspace.v1.GrantState
1127
+ */
1128
+ export type GrantStateJson = "GRANT_STATE_UNSPECIFIED" | "GRANT_STATE_OFFERED" | "GRANT_STATE_ACTIVE" | "GRANT_STATE_DECLINED" | "GRANT_STATE_LAPSED" | "GRANT_STATE_REVOKED" | "GRANT_STATE_EXPIRED" | "GRANT_STATE_ENDED";
1129
+ /**
1130
+ * Describes the enum toshi.workspace.v1.GrantState.
1131
+ */
1132
+ export declare const GrantStateSchema: GenEnum<GrantState, GrantStateJson>;
1133
+ /**
1134
+ * GrantSide is which of a workspace's grants a list returns.
1135
+ *
1136
+ * @generated from enum toshi.workspace.v1.GrantSide
1137
+ */
1138
+ export declare enum GrantSide {
1139
+ /**
1140
+ * Both the grants it gave and those it received.
1141
+ *
1142
+ * @generated from enum value: GRANT_SIDE_UNSPECIFIED = 0;
1143
+ */
1144
+ UNSPECIFIED = 0,
1145
+ /**
1146
+ * The grants it gave, as the owner.
1147
+ *
1148
+ * @generated from enum value: GRANT_SIDE_GIVEN = 1;
1149
+ */
1150
+ GIVEN = 1,
1151
+ /**
1152
+ * The grants it received, as the grantee.
1153
+ *
1154
+ * @generated from enum value: GRANT_SIDE_RECEIVED = 2;
1155
+ */
1156
+ RECEIVED = 2
1157
+ }
1158
+ /**
1159
+ * GrantSide is which of a workspace's grants a list returns.
1160
+ *
1161
+ * @generated from enum toshi.workspace.v1.GrantSide
1162
+ */
1163
+ export type GrantSideJson = "GRANT_SIDE_UNSPECIFIED" | "GRANT_SIDE_GIVEN" | "GRANT_SIDE_RECEIVED";
1164
+ /**
1165
+ * Describes the enum toshi.workspace.v1.GrantSide.
1166
+ */
1167
+ export declare const GrantSideSchema: GenEnum<GrantSide, GrantSideJson>;
1168
+ /**
1169
+ * GrantService keeps the grants between workspaces: one workspace, the
1170
+ * owner, lets another, the grantee, reach one of its environments,
1171
+ * sandboxes or previews at a level. The owner offers a grant to the
1172
+ * grantee's workspace id, and nothing is shared until a person of the
1173
+ * grantee accepts it. Either side ends it at once: the owner revokes it,
1174
+ * the grantee leaves it. An offer not answered lapses, and a grant with
1175
+ * an expiry expires when it passes.
1176
+ *
1177
+ * The caller's credential names the workspace, as for WorkloadService.
1178
+ * Each call answers for the caller's side only: a grant the workspace
1179
+ * neither gave nor received, or one the call does not act on from the
1180
+ * caller's side, is NOT_FOUND. Offering, accepting, declining and
1181
+ * changing the expiry take a person's session: an API token is refused
1182
+ * with PERMISSION_DENIED, as only a person may open a workspace to
1183
+ * another. A workspace that is not active can neither offer nor be
1184
+ * offered a grant (FAILED_PRECONDITION).
1185
+ *
1186
+ * Every change writes an audit event into both workspaces' logs, with the
1187
+ * same request id; each names the other workspace in its details.
1188
+ *
1189
+ * @generated from service toshi.workspace.v1.GrantService
1190
+ */
1191
+ export declare const GrantService: GenService<{
1192
+ /**
1193
+ * CreateGrant offers a grant on the caller's workspace to the workspace
1194
+ * grantee_workspace names, and returns it in the state OFFERED. A
1195
+ * sandbox with bindings or a state volume is offered at VIEW only:
1196
+ * CONNECT or OPERATE for it is FAILED_PRECONDITION. A grantee that is
1197
+ * the caller's own workspace is INVALID_ARGUMENT, an environment or
1198
+ * sandbox the workspace does not have NOT_FOUND, and an offer on a plan
1199
+ * with no grants, or past the plan's grants at once or offers a day,
1200
+ * RESOURCE_EXHAUSTED.
1201
+ *
1202
+ * @generated from rpc toshi.workspace.v1.GrantService.CreateGrant
1203
+ */
1204
+ createGrant: {
1205
+ methodKind: "unary";
1206
+ input: typeof CreateGrantRequestSchema;
1207
+ output: typeof CreateGrantResponseSchema;
1208
+ };
1209
+ /**
1210
+ * GetGrant returns one grant the workspace gave or received.
1211
+ *
1212
+ * @generated from rpc toshi.workspace.v1.GrantService.GetGrant
1213
+ */
1214
+ getGrant: {
1215
+ methodKind: "unary";
1216
+ input: typeof GetGrantRequestSchema;
1217
+ output: typeof GetGrantResponseSchema;
1218
+ };
1219
+ /**
1220
+ * ListGrants returns the grants the workspace gave, received, or both,
1221
+ * newest offered first, in the states the request names (all when it
1222
+ * names none).
1223
+ *
1224
+ * A page holds 100 grants when page_size is zero, and 1000 at most.
1225
+ *
1226
+ * @generated from rpc toshi.workspace.v1.GrantService.ListGrants
1227
+ */
1228
+ listGrants: {
1229
+ methodKind: "unary";
1230
+ input: typeof ListGrantsRequestSchema;
1231
+ output: typeof ListGrantsResponseSchema;
1232
+ };
1233
+ /**
1234
+ * AcceptGrant accepts an offer the workspace received: the grant becomes
1235
+ * ACTIVE. An offer no longer OFFERED is FAILED_PRECONDITION.
1236
+ *
1237
+ * @generated from rpc toshi.workspace.v1.GrantService.AcceptGrant
1238
+ */
1239
+ acceptGrant: {
1240
+ methodKind: "unary";
1241
+ input: typeof AcceptGrantRequestSchema;
1242
+ output: typeof AcceptGrantResponseSchema;
1243
+ };
1244
+ /**
1245
+ * DeclineGrant declines an offer the workspace received: the grant
1246
+ * becomes DECLINED. An offer no longer OFFERED is FAILED_PRECONDITION.
1247
+ *
1248
+ * @generated from rpc toshi.workspace.v1.GrantService.DeclineGrant
1249
+ */
1250
+ declineGrant: {
1251
+ methodKind: "unary";
1252
+ input: typeof DeclineGrantRequestSchema;
1253
+ output: typeof DeclineGrantResponseSchema;
1254
+ };
1255
+ /**
1256
+ * UpdateGrant sets the fields of grant.id's grant that update_mask
1257
+ * names, on a grant the workspace gave that is OFFERED or ACTIVE. The
1258
+ * one field it sets is expires_at: a time in the future, or unset for
1259
+ * no expiry. An unset update_mask names the fields grant carries. An
1260
+ * empty one, an unset one with no expires_at, "*" and a path of another
1261
+ * field are INVALID_ARGUMENT. A grant that has ended is FAILED_PRECONDITION.
1262
+ *
1263
+ * @generated from rpc toshi.workspace.v1.GrantService.UpdateGrant
1264
+ */
1265
+ updateGrant: {
1266
+ methodKind: "unary";
1267
+ input: typeof UpdateGrantRequestSchema;
1268
+ output: typeof UpdateGrantResponseSchema;
1269
+ };
1270
+ /**
1271
+ * RevokeGrant ends a grant the workspace gave, OFFERED or ACTIVE: it
1272
+ * becomes REVOKED, and nothing reaches the target through it again. A
1273
+ * token limited to a project or an environment may revoke a grant whose
1274
+ * target lies inside its limit. A grant that has ended is returned as it
1275
+ * is.
1276
+ *
1277
+ * @generated from rpc toshi.workspace.v1.GrantService.RevokeGrant
1278
+ */
1279
+ revokeGrant: {
1280
+ methodKind: "unary";
1281
+ input: typeof RevokeGrantRequestSchema;
1282
+ output: typeof RevokeGrantResponseSchema;
1283
+ };
1284
+ /**
1285
+ * LeaveGrant ends a grant the workspace received and accepted: it
1286
+ * becomes REVOKED, recorded as ended by the grantee. A grant that has
1287
+ * ended is returned as it is; an offer is declined, not left
1288
+ * (FAILED_PRECONDITION).
1289
+ *
1290
+ * @generated from rpc toshi.workspace.v1.GrantService.LeaveGrant
1291
+ */
1292
+ leaveGrant: {
1293
+ methodKind: "unary";
1294
+ input: typeof LeaveGrantRequestSchema;
1295
+ output: typeof LeaveGrantResponseSchema;
1296
+ };
1297
+ }>;