@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
@@ -1,14 +1,16 @@
1
1
  // @generated by protoc-gen-es v2.16.0 with parameter "target=ts,json_types=true,import_extension=js"
2
2
  // @generated from file toshi/workspace/v1/workspace_service.proto (package toshi.workspace.v1, syntax proto3)
3
3
  /* eslint-disable */
4
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
- import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import { file_google_protobuf_field_mask, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
6
6
  import { file_toshi_permission } from "../../permission_pb.js";
7
+ import { file_toshi_workspace_v1_discovery } from "./discovery_pb.js";
7
8
  import { file_toshi_workspace_v1_hosts } from "./hosts_pb.js";
9
+ import { file_toshi_workspace_v1_roles } from "./roles_pb.js";
8
10
  /**
9
11
  * Describes the file toshi/workspace/v1/workspace_service.proto.
10
12
  */
11
- export const file_toshi_workspace_v1_workspace_service = /*@__PURE__*/ fileDesc("Cip0b3NoaS93b3Jrc3BhY2UvdjEvd29ya3NwYWNlX3NlcnZpY2UucHJvdG8SEnRvc2hpLndvcmtzcGFjZS52MSIVChNHZXRXb3Jrc3BhY2VSZXF1ZXN0IkgKFEdldFdvcmtzcGFjZVJlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiPgoVTGlzdFdvcmtzcGFjZXNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJImQKFkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2USMQoKd29ya3NwYWNlcxgBIAMoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2USFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIlQKIFNldFdvcmtzcGFjZU93bkhvc3RzT25seVJlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiVQohU2V0V29ya3NwYWNlQWxsb3dPdmVyZmxvd1Jlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiVgoiU2V0V29ya3NwYWNlQWxsb3dDYWNoZVdhcm1SZXNwb25zZRIwCgl3b3Jrc3BhY2UYASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlIloKJlNldFdvcmtzcGFjZUNhbmNlbFJ1bk9uVm1EZWF0aFJlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiUwofU2V0V29ya3NwYWNlU3BlbmRMaW1pdHNSZXNwb25zZRIwCgl3b3Jrc3BhY2UYASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlIiwKGkdldFdvcmtzcGFjZUJpbGxpbmdSZXF1ZXN0Eg4KBm1vbnRocxgBIAEoBSJUChtHZXRXb3Jrc3BhY2VCaWxsaW5nUmVzcG9uc2USNQoHYmlsbGluZxgBIAEoCzIkLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2VCaWxsaW5nIjoKHEdldFdvcmtzcGFjZVN0YXRlbWVudFJlcXVlc3QSDQoFbW9udGgYASABKAkSCwoDY3N2GAIgASgIImcKHUdldFdvcmtzcGFjZVN0YXRlbWVudFJlc3BvbnNlEjkKCXN0YXRlbWVudBgBIAEoCzImLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2VTdGF0ZW1lbnQSCwoDY3N2GAIgASgJIjkKH1NldFdvcmtzcGFjZU93bkhvc3RzT25seVJlcXVlc3QSFgoOb3duX2hvc3RzX29ubHkYASABKAgiOgogU2V0V29ya3NwYWNlQWxsb3dPdmVyZmxvd1JlcXVlc3QSFgoOYWxsb3dfb3ZlcmZsb3cYASABKAgiPQohU2V0V29ya3NwYWNlQWxsb3dDYWNoZVdhcm1SZXF1ZXN0EhgKEGFsbG93X2NhY2hlX3dhcm0YASABKAgiRwolU2V0V29ya3NwYWNlQ2FuY2VsUnVuT25WbURlYXRoUmVxdWVzdBIeChZjYW5jZWxfcnVuX29uX3ZtX2RlYXRoGAEgASgIIogBCh5TZXRXb3Jrc3BhY2VTcGVuZExpbWl0c1JlcXVlc3QSHAoPc3BlbmRfY2FwX2NlbnRzGAEgASgDSACIAQESHgoRbWF4X2pvYnNfcGVyX2hvdXIYAiABKAVIAYgBAUISChBfc3BlbmRfY2FwX2NlbnRzQhQKEl9tYXhfam9ic19wZXJfaG91ciI9ChRMaXN0RWdyZXNzSVBzUmVxdWVzdBIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCSJ+ChVMaXN0RWdyZXNzSVBzUmVzcG9uc2USCwoDaXBzGAEgAygJEi0KBWhvc3RzGAIgAygLMh4udG9zaGkud29ya3NwYWNlLnYxLkVncmVzc0hvc3QSEAoIY29tcGxldGUYAyABKAgSFwoPbmV4dF9wYWdlX3Rva2VuGAQgASgJImMKD0dldFVzYWdlUmVxdWVzdBIoCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0bxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKEEdldFVzYWdlUmVzcG9uc2USKgoEcm93cxgBIAMoCzIcLnRvc2hpLndvcmtzcGFjZS52MS5Vc2FnZVJvdxIoCgRmcm9tGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0bxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoGZmlsbGVyGAQgASgLMh8udG9zaGkud29ya3NwYWNlLnYxLkZpbGxlclVzYWdlImgKFEdldFF1ZXVlVGltZXNSZXF1ZXN0EigKBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLoAQoVR2V0UXVldWVUaW1lc1Jlc3BvbnNlEgwKBGpvYnMYASABKAMSDgoGcDUwX21zGAIgASgDEg4KBnA5MF9tcxgDIAEoAxIOCgZtYXhfbXMYBCABKAMSEgoKd2FybV9zaGFyZRgFIAEoARIoCgRmcm9tGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0bxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoEaGVsZBgIIAMoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Ib2xkVGltZXMiawoXR2V0V29ya2Zsb3dVc2FnZVJlcXVlc3QSKAoEZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIqABChhHZXRXb3JrZmxvd1VzYWdlUmVzcG9uc2USMgoEcm93cxgBIAMoCzIkLnRvc2hpLndvcmtzcGFjZS52MS5Xb3JrZmxvd1VzYWdlUm93EigKBGZyb20YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnRvGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI5ChBMaXN0UGxhbnNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJIlUKEUxpc3RQbGFuc1Jlc3BvbnNlEicKBXBsYW5zGAEgAygLMhgudG9zaGkud29ya3NwYWNlLnYxLlBsYW4SFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIiwKHENyZWF0ZUNoZWNrb3V0U2Vzc2lvblJlcXVlc3QSDAoEcGxhbhgBIAEoCSIsCh1DcmVhdGVDaGVja291dFNlc3Npb25SZXNwb25zZRILCgN1cmwYASABKAkiIwohQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb25SZXF1ZXN0IjEKIkNyZWF0ZUJpbGxpbmdQb3J0YWxTZXNzaW9uUmVzcG9uc2USCwoDdXJsGAEgASgJIhMKEUdldFZlcnNpb25SZXF1ZXN0ImIKEkdldFZlcnNpb25SZXNwb25zZRIPCgd2ZXJzaW9uGAEgASgJEg4KBmNvbW1pdBgCIAEoCRIMCgRkYXRlGAMgASgJEh0KFW1pbmltdW1fYWdlbnRfdmVyc2lvbhgEIAEoCSLFCAoJV29ya3NwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSHAoPY29uY3VycmVuY3lfY2FwGAMgASgFSACIAQESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDAoEcGxhbhgFIAEoCRIdChVlZmZlY3RpdmVfY29uY3VycmVuY3kYBiABKAUSDgoGc3RhdHVzGAcgASgJEhYKDm93bl9ob3N0c19vbmx5GAggASgIEhcKD3NwZW5kX2NhcF9jZW50cxgJIAEoAxIZChFtYXhfam9ic19wZXJfaG91chgKIAEoBRIjChtlZmZlY3RpdmVfbWF4X2pvYnNfcGVyX2hvdXIYCyABKAUSHAoUc3RhcnRlcl9jcmVkaXRfY2VudHMYDCABKAMSPQoZc3RhcnRlcl9jcmVkaXRfZ3JhbnRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOYWxsb3dfb3ZlcmZsb3cYDiABKAgSGAoQYWxsb3dfY2FjaGVfd2FybRgPIAEoCBI1CgxyZXNlcnZhdGlvbnMYECADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuUmVzZXJ2YXRpb24SDQoFc3RhdGUYESABKAkSFAoMc3RhdGVfcmVhc29uGBIgASgJEi8KC3N0YXRlX3NpbmNlGBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtwdXJnZV9hZnRlchgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoMaGlzdG9yeV9kYXlzGBUgASgFSAGIAQESHgoWaGlzdG9yeV9kYXlzX2VmZmVjdGl2ZRgWIAEoBRIeChZjYW5jZWxfcnVuX29uX3ZtX2RlYXRoGBcgASgIEhwKD3NlY3JldF9tYXhfc2V0cxgYIAEoBUgCiAEBEhwKD3NlY3JldF9tYXhfa2V5cxgZIAEoBUgDiAEBEhsKDnNlY3JldF9tYXhfa2liGBogASgDSASIAQESHgoRcHJldmlld19tYXhfcG9ydHMYGyABKAVIBYgBARIhChlzZWNyZXRfbWF4X3NldHNfZWZmZWN0aXZlGBwgASgFEiEKGXNlY3JldF9tYXhfa2V5c19lZmZlY3RpdmUYHSABKAUSIAoYc2VjcmV0X21heF9raWJfZWZmZWN0aXZlGB4gASgDEiMKG3ByZXZpZXdfbWF4X3BvcnRzX2VmZmVjdGl2ZRgfIAEoBUISChBfY29uY3VycmVuY3lfY2FwQg8KDV9oaXN0b3J5X2RheXNCEgoQX3NlY3JldF9tYXhfc2V0c0ISChBfc2VjcmV0X21heF9rZXlzQhEKD19zZWNyZXRfbWF4X2tpYkIUChJfcHJldmlld19tYXhfcG9ydHMiSAoLUmVzZXJ2YXRpb24SDAoEc2l6ZRgBIAEoCRINCgVzbG90cxgCIAEoBRIMCgR3YXJtGAMgASgFEg4KBnNvdXJjZRgEIAEoCSKDBwoQV29ya3NwYWNlQmlsbGluZxITCgtjdXN0b21lcl9pZBgBIAEoCRIXCg9zdWJzY3JpcHRpb25faWQYAiABKAkSNgoSYmlsbGluZ19zdGFydGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIbChNzdWJzY3JpcHRpb25fc3RhdHVzGAQgASgJEj0KGXN1YnNjcmlwdGlvbl9zdGF0dXNfc2luY2UYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKBnRvdGFscxgGIAMoCzIhLnRvc2hpLndvcmtzcGFjZS52MS5CaWxsaW5nVG90YWxzEj4KDWZhaWxlZF9ldmVudHMYByADKAsyJy50b3NoaS53b3Jrc3BhY2UudjEuQmlsbGluZ0V2ZW50RmFpbHVyZRIaChJtaW51dGVzX3RoaXNfbW9udGgYCCABKAMSHgoWZnJlZV9taW51dGVzX3Blcl9tb250aBgJIAEoAxIVCg1jYXJkX3ZlcmlmaWVkGAogASgIEjQKEGNhcmRfdmVyaWZpZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NwZW5kX2NhcF9jZW50cxgMIAEoAxITCgtzcGVuZF9jZW50cxgNIAEoAxITCgtzcGVuZF9sZXZlbBgOIAEoBRIQCghjdXJyZW5jeRgPIAEoCRITCgtzcGVuZF9rbm93bhgQIAEoCBIcChRzdGFydGVyX2NyZWRpdF9jZW50cxgRIAEoAxIhChlzdGFydGVyX2NyZWRpdF9sZWZ0X2NlbnRzGBIgASgDEj0KGXN0YXJ0ZXJfY3JlZGl0X2FwcGxpZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2JpbGxpbmdfZW5hYmxlZBgUIAEoCBI/CghoZWxkX25vdxgVIAMoCzItLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2VCaWxsaW5nLkhlbGRKb2JzEhgKEGNvbmN1cnJlbmN5X3VzZWQYFiABKAMaUwoISGVsZEpvYnMSDgoGcmVhc29uGBcgASgJEgwKBGpvYnMYGCABKAMSKQoFc2luY2UYGSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrcBCg1CaWxsaW5nVG90YWxzEg0KBW1vbnRoGAEgASgJEgwKBHNpemUYAiABKAkSEwoLc2VudF9ldmVudHMYAyABKAMSFAoMc2VudF9taW51dGVzGAQgASgDEhYKDnBlbmRpbmdfZXZlbnRzGAUgASgDEhcKD3BlbmRpbmdfbWludXRlcxgGIAEoAxIVCg1mYWlsZWRfZXZlbnRzGAcgASgDEhYKDmZhaWxlZF9taW51dGVzGAggASgDIt4BChNCaWxsaW5nRXZlbnRGYWlsdXJlEg4KBmpvYl9pZBgBIAEoCRIMCgRzaXplGAIgASgJEhIKCmV2ZW50X25hbWUYAyABKAkSDwoHbWludXRlcxgEIAEoAxIvCgtvY2N1cnJlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJZmFpbGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghhdHRlbXB0cxgHIAEoBRISCgpsYXN0X2Vycm9yGAggASgJItEFChJXb3Jrc3BhY2VTdGF0ZW1lbnQSDQoFbW9udGgYASABKAkSKAoEZnJvbRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHBsYW4YBCABKAkSMQoFdXNhZ2UYBSADKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVtZW50VXNhZ2USMQoFdG90YWwYBiABKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVtZW50VXNhZ2USNAoHY2hhcmdlcxgHIAMoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TdGF0ZW1lbnRDaGFyZ2USFwoPZXN0aW1hdGVkX2NlbnRzGAggASgDEhAKCGN1cnJlbmN5GAkgASgJEhYKDmVzdGltYXRlX2tub3duGAogASgIEiQKHHN0YXJ0ZXJfY3JlZGl0X2FwcGxpZWRfY2VudHMYCyABKAMSPQoZc3RhcnRlcl9jcmVkaXRfYXBwbGllZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoEaGVsZBgNIAMoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Ib2xkVGltZXMSHQoVY3VycmVudF9wcmljZV9taW51dGVzGA4gASgDEi8KBmZpbGxlchgPIAEoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5GaWxsZXJVc2FnZRIXCg9iaWxsaW5nX2VuYWJsZWQYECABKAgSOAoUc3BlbmRfY2FwX3JlYWNoZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh8KF3NwZW5kX2NhcF9yZWFjaGVkX2NlbnRzGBIgASgDEhcKD3NwZW5kX2NhcF9jZW50cxgTIAEoAyLCAQoOU3RhdGVtZW50VXNhZ2USDAoEc2l6ZRgBIAEoCRIKCgJvcxgCIAEoCRIMCgRqb2JzGAMgASgDEg8KB21pbnV0ZXMYBCABKAMSGAoQb3duX2hvc3RfbWludXRlcxgFIAEoAxIVCg1kZWJ1Z19taW51dGVzGAYgASgDEhgKEG92ZXJmbG93X21pbnV0ZXMYByABKAMSGwoTcmVzZXJ2ZWRfc2xvdF9ob3VycxgIIAEoAxIPCgdvdXRjb21lGAkgASgJIkkKD1N0YXRlbWVudENoYXJnZRIMCgRzaXplGAEgASgJEg8KB21pbnV0ZXMYAiABKAMSFwoPZXN0aW1hdGVkX2NlbnRzGAMgASgDIpwBCglIb2xkVGltZXMSDgoGcmVhc29uGAEgASgJEgwKBGpvYnMYAiABKAMSDgoGcDUwX21zGAMgASgDEg4KBnA5MF9tcxgEIAEoAxIOCgZtYXhfbXMYBSABKAMSEQoJb3Blbl9qb2JzGAYgASgDEi4KCm9wZW5fc2luY2UYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIiwKC0ZpbGxlclVzYWdlEgwKBGpvYnMYASABKAMSDwoHbWludXRlcxgCIAEoAyLRAQoIVXNhZ2VSb3cSCwoDZGF5GAEgASgJEhIKCmNvbmNsdXNpb24YAiABKAkSDAoEam9icxgDIAEoAxIPCgdtaW51dGVzGAQgASgDEhgKEG93bl9ob3N0X21pbnV0ZXMYBSABKAMSFQoNZGVidWdfbWludXRlcxgGIAEoAxIYChBvdmVyZmxvd19taW51dGVzGAcgASgDEhsKE3Jlc2VydmVkX3Nsb3RfaG91cnMYCCABKAMSDwoHb3V0Y29tZRgJIAEoCRIMCgRraW5kGAogASgJIsQBChBXb3JrZmxvd1VzYWdlUm93EhIKCnJlcG9zaXRvcnkYASABKAkSEAoId29ya2Zsb3cYAiABKAkSDAoEam9icxgDIAEoAxIPCgdtaW51dGVzGAQgASgDEhgKEG93bl9ob3N0X21pbnV0ZXMYBSABKAMSEwoLZmFpbGVkX2pvYnMYBiABKAMSEgoKdGltZWRfam9icxgHIAEoAxITCgtwNTBfc2Vjb25kcxgIIAEoAxITCgtwOTVfc2Vjb25kcxgJIAEoAyKYAwoEUGxhbhIMCgRuYW1lGAEgASgJEhMKC2NvbmN1cnJlbmN5GAIgASgFEhcKD21heF9qb2JfbWludXRlcxgDIAEoBRISCgppc19kZWZhdWx0GAQgASgIEhIKCnNlbGZfc2VydmUYBSABKAgSEgoKYWxsb3dlZF9vcxgGIAMoCRIQCghtYXhfc2l6ZRgHIAEoCRIQCghtYXhfdmNwdRgIIAEoBRIeChZmcmVlX21pbnV0ZXNfcGVyX21vbnRoGAkgASgFEg0KBXNpemVzGAogAygJEhkKEWNhcmRfcmVxdWlyZWRfZm9yGAsgAygJEhkKEW1heF9qb2JzX3Blcl9ob3VyGAwgASgFEhgKEGJ1cnN0X2d1YXJkX2pvYnMYDSABKAUSHAoUc3RhcnRlcl9jcmVkaXRfY2VudHMYDiABKAMSFAoMaGlzdG9yeV9kYXlzGA8gASgFEhUKDWRlYnVnX21pbnV0ZXMYECABKAUSFQoNbWF4X293bl9ob3N0cxgRIAEoBRITCgtvcGVuX3NvdXJjZRgSIAEoCCK3AQoKRWdyZXNzSG9zdBIPCgdob3N0X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc2hhcmVkGAMgASgIEi4KBmVncmVzcxgEIAEoCzIeLnRvc2hpLndvcmtzcGFjZS52MS5Ib3N0RWdyZXNzEhIKCnJlY2VudF9pcHMYBSADKAkSDQoFY2xvdWQYBiABKAkSFAoMY2xvdWRfZWdyZXNzGAcgASgJEhEKCWNvbmZpcm1lZBgIIAEoCDK8EgoQV29ya3NwYWNlU2VydmljZRJ1CgxHZXRXb3Jrc3BhY2USJy50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlUmVxdWVzdBooLnRvc2hpLndvcmtzcGFjZS52MS5HZXRXb3Jrc3BhY2VSZXNwb25zZSISwvMYDndvcmtzcGFjZS5yZWFkEnsKDkxpc3RXb3Jrc3BhY2VzEikudG9zaGkud29ya3NwYWNlLnYxLkxpc3RXb3Jrc3BhY2VzUmVxdWVzdBoqLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIhLC8xgOd29ya3NwYWNlLnJlYWQSiAEKE0dldFdvcmtzcGFjZUJpbGxpbmcSLi50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlQmlsbGluZ1JlcXVlc3QaLy50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlQmlsbGluZ1Jlc3BvbnNlIhDC8xgMYmlsbGluZy5yZWFkEo4BChVHZXRXb3Jrc3BhY2VTdGF0ZW1lbnQSMC50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlU3RhdGVtZW50UmVxdWVzdBoxLnRvc2hpLndvcmtzcGFjZS52MS5HZXRXb3Jrc3BhY2VTdGF0ZW1lbnRSZXNwb25zZSIQwvMYDGJpbGxpbmcucmVhZBKaAQoYU2V0V29ya3NwYWNlT3duSG9zdHNPbmx5EjMudG9zaGkud29ya3NwYWNlLnYxLlNldFdvcmtzcGFjZU93bkhvc3RzT25seVJlcXVlc3QaNC50b3NoaS53b3Jrc3BhY2UudjEuU2V0V29ya3NwYWNlT3duSG9zdHNPbmx5UmVzcG9uc2UiE8LzGA93b3Jrc3BhY2Uud3JpdGUSnQEKGVNldFdvcmtzcGFjZUFsbG93T3ZlcmZsb3cSNC50b3NoaS53b3Jrc3BhY2UudjEuU2V0V29ya3NwYWNlQWxsb3dPdmVyZmxvd1JlcXVlc3QaNS50b3NoaS53b3Jrc3BhY2UudjEuU2V0V29ya3NwYWNlQWxsb3dPdmVyZmxvd1Jlc3BvbnNlIhPC8xgPd29ya3NwYWNlLndyaXRlEqABChpTZXRXb3Jrc3BhY2VBbGxvd0NhY2hlV2FybRI1LnRvc2hpLndvcmtzcGFjZS52MS5TZXRXb3Jrc3BhY2VBbGxvd0NhY2hlV2FybVJlcXVlc3QaNi50b3NoaS53b3Jrc3BhY2UudjEuU2V0V29ya3NwYWNlQWxsb3dDYWNoZVdhcm1SZXNwb25zZSITwvMYD3dvcmtzcGFjZS53cml0ZRKsAQoeU2V0V29ya3NwYWNlQ2FuY2VsUnVuT25WbURlYXRoEjkudG9zaGkud29ya3NwYWNlLnYxLlNldFdvcmtzcGFjZUNhbmNlbFJ1bk9uVm1EZWF0aFJlcXVlc3QaOi50b3NoaS53b3Jrc3BhY2UudjEuU2V0V29ya3NwYWNlQ2FuY2VsUnVuT25WbURlYXRoUmVzcG9uc2UiE8LzGA93b3Jrc3BhY2Uud3JpdGUSlQEKF1NldFdvcmtzcGFjZVNwZW5kTGltaXRzEjIudG9zaGkud29ya3NwYWNlLnYxLlNldFdvcmtzcGFjZVNwZW5kTGltaXRzUmVxdWVzdBozLnRvc2hpLndvcmtzcGFjZS52MS5TZXRXb3Jrc3BhY2VTcGVuZExpbWl0c1Jlc3BvbnNlIhHC8xgNYmlsbGluZy53cml0ZRJ4Cg1MaXN0RWdyZXNzSVBzEigudG9zaGkud29ya3NwYWNlLnYxLkxpc3RFZ3Jlc3NJUHNSZXF1ZXN0GikudG9zaGkud29ya3NwYWNlLnYxLkxpc3RFZ3Jlc3NJUHNSZXNwb25zZSISwvMYDndvcmtzcGFjZS5yZWFkEmkKCEdldFVzYWdlEiMudG9zaGkud29ya3NwYWNlLnYxLkdldFVzYWdlUmVxdWVzdBokLnRvc2hpLndvcmtzcGFjZS52MS5HZXRVc2FnZVJlc3BvbnNlIhLC8xgOd29ya3NwYWNlLnJlYWQSeAoNR2V0UXVldWVUaW1lcxIoLnRvc2hpLndvcmtzcGFjZS52MS5HZXRRdWV1ZVRpbWVzUmVxdWVzdBopLnRvc2hpLndvcmtzcGFjZS52MS5HZXRRdWV1ZVRpbWVzUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZBKBAQoQR2V0V29ya2Zsb3dVc2FnZRIrLnRvc2hpLndvcmtzcGFjZS52MS5HZXRXb3JrZmxvd1VzYWdlUmVxdWVzdBosLnRvc2hpLndvcmtzcGFjZS52MS5HZXRXb3JrZmxvd1VzYWdlUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZBJqCglMaXN0UGxhbnMSJC50b3NoaS53b3Jrc3BhY2UudjEuTGlzdFBsYW5zUmVxdWVzdBolLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0UGxhbnNSZXNwb25zZSIQwvMYDGJpbGxpbmcucmVhZBKPAQoVQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uEjAudG9zaGkud29ya3NwYWNlLnYxLkNyZWF0ZUNoZWNrb3V0U2Vzc2lvblJlcXVlc3QaMS50b3NoaS53b3Jrc3BhY2UudjEuQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2UiEcLzGA1iaWxsaW5nLndyaXRlEp4BChpDcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvbhI1LnRvc2hpLndvcmtzcGFjZS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlcXVlc3QaNi50b3NoaS53b3Jrc3BhY2UudjEuQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb25SZXNwb25zZSIRwvMYDWJpbGxpbmcud3JpdGUSbwoKR2V0VmVyc2lvbhIlLnRvc2hpLndvcmtzcGFjZS52MS5HZXRWZXJzaW9uUmVxdWVzdBomLnRvc2hpLndvcmtzcGFjZS52MS5HZXRWZXJzaW9uUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZEIiWiBnby50b3NoaWNsb3VkLmlvL2FwaS93b3Jrc3BhY2V2MWIGcHJvdG8z", [file_google_protobuf_timestamp, file_toshi_permission, file_toshi_workspace_v1_hosts]);
13
+ export const file_toshi_workspace_v1_workspace_service = /*@__PURE__*/ fileDesc("Cip0b3NoaS93b3Jrc3BhY2UvdjEvd29ya3NwYWNlX3NlcnZpY2UucHJvdG8SEnRvc2hpLndvcmtzcGFjZS52MSIVChNHZXRXb3Jrc3BhY2VSZXF1ZXN0IkgKFEdldFdvcmtzcGFjZVJlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiOQoWRGVsZXRlV29ya3NwYWNlUmVxdWVzdBIPCgdjb25maXJtGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJLChdEZWxldGVXb3Jrc3BhY2VSZXNwb25zZRIwCgl3b3Jrc3BhY2UYASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlIiAKHkNhbmNlbFdvcmtzcGFjZURlbGV0aW9uUmVxdWVzdCJTCh9DYW5jZWxXb3Jrc3BhY2VEZWxldGlvblJlc3BvbnNlEjAKCXdvcmtzcGFjZRgBIAEoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2UiewoWVXBkYXRlV29ya3NwYWNlUmVxdWVzdBIwCgl3b3Jrc3BhY2UYASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlEi8KC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJLChdVcGRhdGVXb3Jrc3BhY2VSZXNwb25zZRIwCgl3b3Jrc3BhY2UYASABKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlIj4KFUxpc3RXb3Jrc3BhY2VzUmVxdWVzdBIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCSJkChZMaXN0V29ya3NwYWNlc1Jlc3BvbnNlEjEKCndvcmtzcGFjZXMYASADKAsyHS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSIsChpHZXRXb3Jrc3BhY2VCaWxsaW5nUmVxdWVzdBIOCgZtb250aHMYASABKAUiVAobR2V0V29ya3NwYWNlQmlsbGluZ1Jlc3BvbnNlEjUKB2JpbGxpbmcYASABKAsyJC50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlQmlsbGluZyI6ChxHZXRXb3Jrc3BhY2VTdGF0ZW1lbnRSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJEgsKA2NzdhgCIAEoCCJnCh1HZXRXb3Jrc3BhY2VTdGF0ZW1lbnRSZXNwb25zZRI5CglzdGF0ZW1lbnQYASABKAsyJi50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlU3RhdGVtZW50EgsKA2NzdhgCIAEoCSIkCiJHZXRXb3Jrc3BhY2VVcGNvbWluZ0ludm9pY2VSZXF1ZXN0ItsBCiNHZXRXb3Jrc3BhY2VVcGNvbWluZ0ludm9pY2VSZXNwb25zZRI0CgdpbnZvaWNlGAEgASgLMiMudG9zaGkud29ya3NwYWNlLnYxLlVwY29taW5nSW52b2ljZRIxCghwcm9qZWN0cxgCIAMoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5Qcm9qZWN0Q29zdBIaChJtb250aF9zb19mYXJfY2VudHMYAyABKAMSHQoVZXN0aW1hdGVkX21vbnRoX2NlbnRzGAQgASgDEhAKCGN1cnJlbmN5GAUgASgJIuIBCg9VcGNvbWluZ0ludm9pY2USFAoMYW1vdW50X2NlbnRzGAEgASgDEhAKCGN1cnJlbmN5GAIgASgJEjAKDHBlcmlvZF9zdGFydBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKcGVyaW9kX2VuZBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoObWV0ZXJzX3JlYWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCWF2YWlsYWJsZRgGIAEoCCJyCgtQcm9qZWN0Q29zdBISCgpwcm9qZWN0X2lkGAEgASgJEhQKDHByb2plY3RfbmFtZRgCIAEoCRIaChJtb250aF9zb19mYXJfY2VudHMYAyABKAMSHQoVZXN0aW1hdGVkX21vbnRoX2NlbnRzGAQgASgDIpECCgRTZWF0EgoKAmlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSLwoLYXNzaWduZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKC2Fzc2lnbmVkX2J5GAQgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlN1YmplY3QSLgoKcmVtb3ZlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoKcmVtb3ZlZF9ieRgGIAEoCzIbLnRvc2hpLndvcmtzcGFjZS52MS5TdWJqZWN0EhAKCHJlcGxhY2VzGAcgASgJEhYKDnJlcGxhY2VfcmVhc29uGAggASgJIiEKEExpc3RTZWF0c1JlcXVlc3QSDQoFbW9udGgYASABKAkiPAoRTGlzdFNlYXRzUmVzcG9uc2USJwoFc2VhdHMYASADKAsyGC50b3NoaS53b3Jrc3BhY2UudjEuU2VhdCIkChFBc3NpZ25TZWF0UmVxdWVzdBIPCgd1c2VyX2lkGAEgASgJIjwKEkFzc2lnblNlYXRSZXNwb25zZRImCgRzZWF0GAEgASgLMhgudG9zaGkud29ya3NwYWNlLnYxLlNlYXQiJAoRUmVtb3ZlU2VhdFJlcXVlc3QSDwoHc2VhdF9pZBgBIAEoCSI8ChJSZW1vdmVTZWF0UmVzcG9uc2USJgoEc2VhdBgBIAEoCzIYLnRvc2hpLndvcmtzcGFjZS52MS5TZWF0Ij0KFExpc3RFZ3Jlc3NJUHNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJIn4KFUxpc3RFZ3Jlc3NJUHNSZXNwb25zZRILCgNpcHMYASADKAkSLQoFaG9zdHMYAiADKAsyHi50b3NoaS53b3Jrc3BhY2UudjEuRWdyZXNzSG9zdBIQCghjb21wbGV0ZRgDIAEoCBIXCg9uZXh0X3BhZ2VfdG9rZW4YBCABKAkiYwoPR2V0VXNhZ2VSZXF1ZXN0EigKBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL3AQoQR2V0VXNhZ2VSZXNwb25zZRIqCgRyb3dzGAEgAygLMhwudG9zaGkud29ya3NwYWNlLnYxLlVzYWdlUm93EigKBGZyb20YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnRvGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgZmaWxsZXIYBCABKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuRmlsbGVyVXNhZ2USNAoHc3RvcmFnZRgFIAMoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TdG9yYWdlVXNhZ2VSb3ciaAoUR2V0UXVldWVUaW1lc1JlcXVlc3QSKAoEZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIugBChVHZXRRdWV1ZVRpbWVzUmVzcG9uc2USDAoEam9icxgBIAEoAxIOCgZwNTBfbXMYAiABKAMSDgoGcDkwX21zGAMgASgDEg4KBm1heF9tcxgEIAEoAxISCgp3YXJtX3NoYXJlGAUgASgBEigKBGZyb20YBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnRvGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgRoZWxkGAggAygLMh0udG9zaGkud29ya3NwYWNlLnYxLkhvbGRUaW1lcyJrChdHZXRXb3JrZmxvd1VzYWdlUmVxdWVzdBIoCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0bxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAEKGEdldFdvcmtmbG93VXNhZ2VSZXNwb25zZRIyCgRyb3dzGAEgAygLMiQudG9zaGkud29ya3NwYWNlLnYxLldvcmtmbG93VXNhZ2VSb3cSKAoEZnJvbRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjkKEExpc3RQbGFuc1JlcXVlc3QSEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkiVQoRTGlzdFBsYW5zUmVzcG9uc2USJwoFcGxhbnMYASADKAsyGC50b3NoaS53b3Jrc3BhY2UudjEuUGxhbhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiQAocQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVxdWVzdBIMCgRwbGFuGAEgASgJEhIKCnJldHVybl91cmwYAiABKAkiLAodQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uUmVzcG9uc2USCwoDdXJsGAEgASgJIjcKIUNyZWF0ZUJpbGxpbmdQb3J0YWxTZXNzaW9uUmVxdWVzdBISCgpyZXR1cm5fdXJsGAEgASgJIjEKIkNyZWF0ZUJpbGxpbmdQb3J0YWxTZXNzaW9uUmVzcG9uc2USCwoDdXJsGAEgASgJIhMKEUdldFZlcnNpb25SZXF1ZXN0ImIKEkdldFZlcnNpb25SZXNwb25zZRIPCgd2ZXJzaW9uGAEgASgJEg4KBmNvbW1pdBgCIAEoCRIMCgRkYXRlGAMgASgJEh0KFW1pbmltdW1fYWdlbnRfdmVyc2lvbhgEIAEoCSKIDAoJV29ya3NwYWNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSHAoPY29uY3VycmVuY3lfY2FwGAMgASgFSACIAQESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDAoEcGxhbhgFIAEoCRIdChVlZmZlY3RpdmVfY29uY3VycmVuY3kYBiABKAUSDgoGc3RhdHVzGAcgASgJEiMKG2VmZmVjdGl2ZV9tYXhfam9ic19wZXJfaG91chgLIAEoBRIcChRzdGFydGVyX2NyZWRpdF9jZW50cxgMIAEoAxI9ChlzdGFydGVyX2NyZWRpdF9ncmFudGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxyZXNlcnZhdGlvbnMYECADKAsyHy50b3NoaS53b3Jrc3BhY2UudjEuUmVzZXJ2YXRpb24SDQoFc3RhdGUYESABKAkSFAoMc3RhdGVfcmVhc29uGBIgASgJEi8KC3N0YXRlX3NpbmNlGBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtwdXJnZV9hZnRlchgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZGVsZXRpb25fYnkYJyABKAkSHgoWaGlzdG9yeV9kYXlzX2VmZmVjdGl2ZRgWIAEoBRIcCg9zZWNyZXRfbWF4X3NldHMYGCABKAVIAYgBARIcCg9zZWNyZXRfbWF4X2tleXMYGSABKAVIAogBARIbCg5zZWNyZXRfbWF4X2tpYhgaIAEoA0gDiAEBEh4KEXByZXZpZXdfbWF4X3BvcnRzGBsgASgFSASIAQESIQoZc2VjcmV0X21heF9zZXRzX2VmZmVjdGl2ZRgcIAEoBRIhChlzZWNyZXRfbWF4X2tleXNfZWZmZWN0aXZlGB0gASgFEiAKGHNlY3JldF9tYXhfa2liX2VmZmVjdGl2ZRgeIAEoAxIjChtwcmV2aWV3X21heF9wb3J0c19lZmZlY3RpdmUYHyABKAUSNwoIc2V0dGluZ3MYISABKAsyJS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlU2V0dGluZ3MSDAoEZXRhZxgiIAEoCRJDChNob3N0aW5nX2NlcnRpZmljYXRlGCMgASgLMiYudG9zaGkud29ya3NwYWNlLnYxLkhvc3RpbmdDZXJ0aWZpY2F0ZRIdChVrZWVwX3ZtX21heF9lZmZlY3RpdmUYJCABKAUSPQoSa2VlcF92bV9tYXhfc291cmNlGCkgASgOMiEudG9zaGkud29ya3NwYWNlLnYxLkZlYXR1cmVTb3VyY2USFQoNa2VlcF92bV9jb3VudBglIAEoBRIiChprZWVwX3ZtX3N0b3BwZWRfbG9uZ19jb3VudBgmIAEoBRJFChFyZWNvcmRpbmdfY2hhbmdlZBgoIAEoCzIqLnRvc2hpLndvcmtzcGFjZS52MS5Xb3Jrc3BhY2VTZXR0aW5nQ2hhbmdlElEKHXJlY29yZGluZ19odW1hbl9zcGFuc19jaGFuZ2VkGCogASgLMioudG9zaGkud29ya3NwYWNlLnYxLldvcmtzcGFjZVNldHRpbmdDaGFuZ2VCEgoQX2NvbmN1cnJlbmN5X2NhcEISChBfc2VjcmV0X21heF9zZXRzQhIKEF9zZWNyZXRfbWF4X2tleXNCEQoPX3NlY3JldF9tYXhfa2liQhQKEl9wcmV2aWV3X21heF9wb3J0c0oECAgQCUoECAkQCkoECAoQC0oECA4QD0oECA8QEEoECBUQFkoECBcQGEoECCAQIVIOb3duX2hvc3RzX29ubHlSD3NwZW5kX2NhcF9jZW50c1IRbWF4X2pvYnNfcGVyX2hvdXJSDmFsbG93X292ZXJmbG93UhBhbGxvd19jYWNoZV93YXJtUgxoaXN0b3J5X2RheXNSFmNhbmNlbF9ydW5fb25fdm1fZGVhdGhSC21lbWJlcl9qb2luIvgBChJIb3N0aW5nQ2VydGlmaWNhdGUSDAoEbmFtZRgBIAEoCRI6CgVzdGF0ZRgCIAEoDjIrLnRvc2hpLndvcmtzcGFjZS52MS5Ib3N0aW5nQ2VydGlmaWNhdGVTdGF0ZRItCglub3RfYWZ0ZXIYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCHJlbmV3X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghyZXRyeV9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFZXJyb3IYBiABKAki2QMKEVdvcmtzcGFjZVNldHRpbmdzEhMKC21lbWJlcl9qb2luGAEgASgJEkoKB3NpZ25faW4YAiABKAsyIy50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlU2lnbkluQhTa8xgQd29ya3NwYWNlLnNpZ25pbhIZCgxoaXN0b3J5X2RheXMYAyABKAVIAIgBARIWCg5vd25faG9zdHNfb25seRgEIAEoCBIWCg5hbGxvd19vdmVyZmxvdxgFIAEoCBIYChBhbGxvd19jYWNoZV93YXJtGAYgASgIEh4KFmNhbmNlbF9ydW5fb25fdm1fZGVhdGgYByABKAgSKgoPc3BlbmRfY2FwX2NlbnRzGAggASgDQhHa8xgNYmlsbGluZy53cml0ZRIsChFtYXhfam9ic19wZXJfaG91chgJIAEoBUIR2vMYDWJpbGxpbmcud3JpdGUSDwoHa2VlcF92bRgKIAEoCBIWCglyZWNvcmRpbmcYCyABKAhIAYgBARIiChVyZWNvcmRpbmdfaHVtYW5fc3BhbnMYDCABKAhIAogBAUIPCg1faGlzdG9yeV9kYXlzQgwKCl9yZWNvcmRpbmdCGAoWX3JlY29yZGluZ19odW1hbl9zcGFucyJ5ChZXb3Jrc3BhY2VTZXR0aW5nQ2hhbmdlEi8KCmNoYW5nZWRfYnkYASABKAsyGy50b3NoaS53b3Jrc3BhY2UudjEuU3ViamVjdBIuCgpjaGFuZ2VkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJvCg9Xb3Jrc3BhY2VTaWduSW4SEAoIcHJvdmlkZXIYASABKAkSDgoGaXNzdWVyGAIgASgJEg4KBnNldF9ieRgDIAEoCRIqCgZzZXRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkgKC1Jlc2VydmF0aW9uEgwKBHNpemUYASABKAkSDQoFc2xvdHMYAiABKAUSDAoEd2FybRgDIAEoBRIOCgZzb3VyY2UYBCABKAkixwcKEFdvcmtzcGFjZUJpbGxpbmcSEwoLY3VzdG9tZXJfaWQYASABKAkSFwoPc3Vic2NyaXB0aW9uX2lkGAIgASgJEjYKEmJpbGxpbmdfc3RhcnRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTc3Vic2NyaXB0aW9uX3N0YXR1cxgEIAEoCRI9ChlzdWJzY3JpcHRpb25fc3RhdHVzX3NpbmNlGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgZ0b3RhbHMYBiADKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuQmlsbGluZ1RvdGFscxI+Cg1mYWlsZWRfZXZlbnRzGAcgAygLMicudG9zaGkud29ya3NwYWNlLnYxLkJpbGxpbmdFdmVudEZhaWx1cmUSGgoSbWludXRlc190aGlzX21vbnRoGAggASgDEh4KFmZyZWVfbWludXRlc19wZXJfbW9udGgYCSABKAMSFQoNY2FyZF92ZXJpZmllZBgKIAEoCBI0ChBjYXJkX3ZlcmlmaWVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zcGVuZF9jYXBfY2VudHMYDCABKAMSEwoLc3BlbmRfY2VudHMYDSABKAMSEwoLc3BlbmRfbGV2ZWwYDiABKAUSEAoIY3VycmVuY3kYDyABKAkSEwoLc3BlbmRfa25vd24YECABKAgSHAoUc3RhcnRlcl9jcmVkaXRfY2VudHMYESABKAMSIQoZc3RhcnRlcl9jcmVkaXRfbGVmdF9jZW50cxgSIAEoAxI9ChlzdGFydGVyX2NyZWRpdF9hcHBsaWVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9iaWxsaW5nX2VuYWJsZWQYFCABKAgSPwoIaGVsZF9ub3cYFSADKAsyLS50b3NoaS53b3Jrc3BhY2UudjEuV29ya3NwYWNlQmlsbGluZy5IZWxkSm9icxIYChBjb25jdXJyZW5jeV91c2VkGBYgASgDEiUKGGRlc2t0b3Bfc2VhdF9wcmljZV9jZW50cxgaIAEoA0gAiAEBGlMKCEhlbGRKb2JzEg4KBnJlYXNvbhgXIAEoCRIMCgRqb2JzGBggASgDEikKBXNpbmNlGBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIbChlfZGVza3RvcF9zZWF0X3ByaWNlX2NlbnRzIrcBCg1CaWxsaW5nVG90YWxzEg0KBW1vbnRoGAEgASgJEgwKBHNpemUYAiABKAkSEwoLc2VudF9ldmVudHMYAyABKAMSFAoMc2VudF9taW51dGVzGAQgASgDEhYKDnBlbmRpbmdfZXZlbnRzGAUgASgDEhcKD3BlbmRpbmdfbWludXRlcxgGIAEoAxIVCg1mYWlsZWRfZXZlbnRzGAcgASgDEhYKDmZhaWxlZF9taW51dGVzGAggASgDIt4BChNCaWxsaW5nRXZlbnRGYWlsdXJlEg4KBmpvYl9pZBgBIAEoCRIMCgRzaXplGAIgASgJEhIKCmV2ZW50X25hbWUYAyABKAkSDwoHbWludXRlcxgEIAEoAxIvCgtvY2N1cnJlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJZmFpbGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghhdHRlbXB0cxgHIAEoBRISCgpsYXN0X2Vycm9yGAggASgJIpgHChJXb3Jrc3BhY2VTdGF0ZW1lbnQSDQoFbW9udGgYASABKAkSKAoEZnJvbRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHBsYW4YBCABKAkSMQoFdXNhZ2UYBSADKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVtZW50VXNhZ2USMQoFdG90YWwYBiABKAsyIi50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVtZW50VXNhZ2USNAoHY2hhcmdlcxgHIAMoCzIjLnRvc2hpLndvcmtzcGFjZS52MS5TdGF0ZW1lbnRDaGFyZ2USFwoPZXN0aW1hdGVkX2NlbnRzGAggASgDEhAKCGN1cnJlbmN5GAkgASgJEhYKDmVzdGltYXRlX2tub3duGAogASgIEiQKHHN0YXJ0ZXJfY3JlZGl0X2FwcGxpZWRfY2VudHMYCyABKAMSPQoZc3RhcnRlcl9jcmVkaXRfYXBwbGllZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoEaGVsZBgNIAMoCzIdLnRvc2hpLndvcmtzcGFjZS52MS5Ib2xkVGltZXMSHQoVY3VycmVudF9wcmljZV9taW51dGVzGA4gASgDEi8KBmZpbGxlchgPIAEoCzIfLnRvc2hpLndvcmtzcGFjZS52MS5GaWxsZXJVc2FnZRIXCg9iaWxsaW5nX2VuYWJsZWQYECABKAgSOAoUc3BlbmRfY2FwX3JlYWNoZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh8KF3NwZW5kX2NhcF9yZWFjaGVkX2NlbnRzGBIgASgDEhcKD3NwZW5kX2NhcF9jZW50cxgTIAEoAxI0Cgxvd25faG9zdF9mZWUYFCABKAsyHi50b3NoaS53b3Jrc3BhY2UudjEuT3duSG9zdEZlZRIoCgVhd2FrZRgVIAMoCzIZLnRvc2hpLndvcmtzcGFjZS52MS5Bd2FrZRIsCgdzdG9yYWdlGBYgASgLMhsudG9zaGkud29ya3NwYWNlLnYxLlN0b3JhZ2USNwoNZGVza3RvcF9zZWF0cxgXIAEoCzIgLnRvc2hpLndvcmtzcGFjZS52MS5EZXNrdG9wU2VhdHMimwEKDERlc2t0b3BTZWF0cxIUCgxiaWxsZWRfc2VhdHMYASABKAMSGAoQc2VhdF9wcmljZV9jZW50cxgCIAEoAxIQCgh1bnByaWNlZBgDIAEoCBIXCg9lc3RpbWF0ZWRfY2VudHMYBCABKAMSMAoFc2VhdHMYBSADKAsyIS50b3NoaS53b3Jrc3BhY2UudjEuU3RhdGVtZW50U2VhdCLCAQoNU3RhdGVtZW50U2VhdBIPCgdzZWF0X2lkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIvCgthc3NpZ25lZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKcmVtb3ZlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIcmVwbGFjZXMYBiABKAkSDgoGYmlsbGVkGAcgASgIImQKCk93bkhvc3RGZWUSDwoHc2Vjb25kcxgBIAEoARIUCgxmcmVlX3NlY29uZHMYAiABKAMSFgoOYmlsbGVkX3NlY29uZHMYAyABKAMSFwoPZXN0aW1hdGVkX2NlbnRzGAQgASgDInsKBUF3YWtlEgwKBHNpemUYASABKAkSDAoEcnVucxgCIAEoAxIPCgdzZWNvbmRzGAMgASgBEhQKDGlkbGVfc2Vjb25kcxgEIAEoARIWCg5iaWxsZWRfc2Vjb25kcxgFIAEoAxIXCg9lc3RpbWF0ZWRfY2VudHMYBiABKAMiqwEKB1N0b3JhZ2USLQoFa2luZHMYASADKAsyHi50b3NoaS53b3Jrc3BhY2UudjEuU3RvcmVkS2luZBITCgtpbmNsdWRlZF9nYhgCIAEoAxIQCghnYl9ob3VycxgDIAEoARIXCg9leGNlc3NfZ2JfaG91cnMYBCABKAESGAoQYmlsbGVkX2diX21vbnRocxgFIAEoARIXCg9lc3RpbWF0ZWRfY2VudHMYBiABKAMiOwoKU3RvcmVkS2luZBIMCgRraW5kGAEgASgJEg0KBWJ5dGVzGAIgASgDEhAKCGdiX2hvdXJzGAMgASgBIk0KD1N0b3JhZ2VVc2FnZVJvdxILCgNkYXkYASABKAkSDAoEa2luZBgCIAEoCRIQCghnYl9ob3VycxgDIAEoARINCgVieXRlcxgEIAEoAyLtAQoOU3RhdGVtZW50VXNhZ2USDAoEc2l6ZRgBIAEoCRIKCgJvcxgCIAEoCRIMCgRqb2JzGAMgASgDEg8KB21pbnV0ZXMYBCABKAMSGAoQb3duX2hvc3RfbWludXRlcxgFIAEoAxIVCg1kZWJ1Z19taW51dGVzGAYgASgDEhgKEG92ZXJmbG93X21pbnV0ZXMYByABKAMSGwoTcmVzZXJ2ZWRfc2xvdF9ob3VycxgIIAEoAxIPCgdvdXRjb21lGAkgASgJEg8KB3NlY29uZHMYCiABKAESGAoQb3duX2hvc3Rfc2Vjb25kcxgLIAEoASJJCg9TdGF0ZW1lbnRDaGFyZ2USDAoEc2l6ZRgBIAEoCRIPCgdtaW51dGVzGAIgASgDEhcKD2VzdGltYXRlZF9jZW50cxgDIAEoAyKcAQoJSG9sZFRpbWVzEg4KBnJlYXNvbhgBIAEoCRIMCgRqb2JzGAIgASgDEg4KBnA1MF9tcxgDIAEoAxIOCgZwOTBfbXMYBCABKAMSDgoGbWF4X21zGAUgASgDEhEKCW9wZW5fam9icxgGIAEoAxIuCgpvcGVuX3NpbmNlGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIsCgtGaWxsZXJVc2FnZRIMCgRqb2JzGAEgASgDEg8KB21pbnV0ZXMYAiABKAMiqQIKCFVzYWdlUm93EgsKA2RheRgBIAEoCRISCgpjb25jbHVzaW9uGAIgASgJEgwKBGpvYnMYAyABKAMSDwoHbWludXRlcxgEIAEoAxIYChBvd25faG9zdF9taW51dGVzGAUgASgDEhUKDWRlYnVnX21pbnV0ZXMYBiABKAMSGAoQb3ZlcmZsb3dfbWludXRlcxgHIAEoAxIbChNyZXNlcnZlZF9zbG90X2hvdXJzGAggASgDEg8KB291dGNvbWUYCSABKAkSDAoEa2luZBgKIAEoCRIPCgdzZWNvbmRzGAsgASgBEhgKEG93bl9ob3N0X3NlY29uZHMYDCABKAESFQoNYXdha2Vfc2Vjb25kcxgNIAEoARIUCgxpZGxlX3NlY29uZHMYDiABKAEixAEKEFdvcmtmbG93VXNhZ2VSb3cSEgoKcmVwb3NpdG9yeRgBIAEoCRIQCgh3b3JrZmxvdxgCIAEoCRIMCgRqb2JzGAMgASgDEg8KB21pbnV0ZXMYBCABKAMSGAoQb3duX2hvc3RfbWludXRlcxgFIAEoAxITCgtmYWlsZWRfam9icxgGIAEoAxISCgp0aW1lZF9qb2JzGAcgASgDEhMKC3A1MF9zZWNvbmRzGAggASgDEhMKC3A5NV9zZWNvbmRzGAkgASgDIpgDCgRQbGFuEgwKBG5hbWUYASABKAkSEwoLY29uY3VycmVuY3kYAiABKAUSFwoPbWF4X2pvYl9taW51dGVzGAMgASgFEhIKCmlzX2RlZmF1bHQYBCABKAgSEgoKc2VsZl9zZXJ2ZRgFIAEoCBISCgphbGxvd2VkX29zGAYgAygJEhAKCG1heF9zaXplGAcgASgJEhAKCG1heF92Y3B1GAggASgFEh4KFmZyZWVfbWludXRlc19wZXJfbW9udGgYCSABKAUSDQoFc2l6ZXMYCiADKAkSGQoRY2FyZF9yZXF1aXJlZF9mb3IYCyADKAkSGQoRbWF4X2pvYnNfcGVyX2hvdXIYDCABKAUSGAoQYnVyc3RfZ3VhcmRfam9icxgNIAEoBRIcChRzdGFydGVyX2NyZWRpdF9jZW50cxgOIAEoAxIUCgxoaXN0b3J5X2RheXMYDyABKAUSFQoNZGVidWdfbWludXRlcxgQIAEoBRIVCg1tYXhfb3duX2hvc3RzGBEgASgFEhMKC29wZW5fc291cmNlGBIgASgIIrcBCgpFZ3Jlc3NIb3N0Eg8KB2hvc3RfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzaGFyZWQYAyABKAgSLgoGZWdyZXNzGAQgASgLMh4udG9zaGkud29ya3NwYWNlLnYxLkhvc3RFZ3Jlc3MSEgoKcmVjZW50X2lwcxgFIAMoCRINCgVjbG91ZBgGIAEoCRIUCgxjbG91ZF9lZ3Jlc3MYByABKAkSEQoJY29uZmlybWVkGAggASgIKpYCChdIb3N0aW5nQ2VydGlmaWNhdGVTdGF0ZRIpCiVIT1NUSU5HX0NFUlRJRklDQVRFX1NUQVRFX1VOU1BFQ0lGSUVEEAASJQohSE9TVElOR19DRVJUSUZJQ0FURV9TVEFURV9JU1NVSU5HEAESKgomSE9TVElOR19DRVJUSUZJQ0FURV9TVEFURV9SQVRFX0xJTUlURUQQAhIjCh9IT1NUSU5HX0NFUlRJRklDQVRFX1NUQVRFX1ZBTElEEAMSLQopSE9TVElOR19DRVJUSUZJQ0FURV9TVEFURV9SRU5FV0FMX0ZBSUxJTkcQBBIpCiVIT1NUSU5HX0NFUlRJRklDQVRFX1NUQVRFX1NFTEZfU0lHTkVEEAUy+hQKEFdvcmtzcGFjZVNlcnZpY2USdQoMR2V0V29ya3NwYWNlEicudG9zaGkud29ya3NwYWNlLnYxLkdldFdvcmtzcGFjZVJlcXVlc3QaKC50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZBKDAQoPVXBkYXRlV29ya3NwYWNlEioudG9zaGkud29ya3NwYWNlLnYxLlVwZGF0ZVdvcmtzcGFjZVJlcXVlc3QaKy50b3NoaS53b3Jrc3BhY2UudjEuVXBkYXRlV29ya3NwYWNlUmVzcG9uc2UiF8LzGA93b3Jrc3BhY2Uud3JpdGXg8xgBEnsKDkxpc3RXb3Jrc3BhY2VzEikudG9zaGkud29ya3NwYWNlLnYxLkxpc3RXb3Jrc3BhY2VzUmVxdWVzdBoqLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIhLC8xgOd29ya3NwYWNlLnJlYWQSiAEKE0dldFdvcmtzcGFjZUJpbGxpbmcSLi50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlQmlsbGluZ1JlcXVlc3QaLy50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlQmlsbGluZ1Jlc3BvbnNlIhDC8xgMYmlsbGluZy5yZWFkEo4BChVHZXRXb3Jrc3BhY2VTdGF0ZW1lbnQSMC50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlU3RhdGVtZW50UmVxdWVzdBoxLnRvc2hpLndvcmtzcGFjZS52MS5HZXRXb3Jrc3BhY2VTdGF0ZW1lbnRSZXNwb25zZSIQwvMYDGJpbGxpbmcucmVhZBKgAQobR2V0V29ya3NwYWNlVXBjb21pbmdJbnZvaWNlEjYudG9zaGkud29ya3NwYWNlLnYxLkdldFdvcmtzcGFjZVVwY29taW5nSW52b2ljZVJlcXVlc3QaNy50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya3NwYWNlVXBjb21pbmdJbnZvaWNlUmVzcG9uc2UiEMLzGAxiaWxsaW5nLnJlYWQSaAoJTGlzdFNlYXRzEiQudG9zaGkud29ya3NwYWNlLnYxLkxpc3RTZWF0c1JlcXVlc3QaJS50b3NoaS53b3Jrc3BhY2UudjEuTGlzdFNlYXRzUmVzcG9uc2UiDsLzGApzZWF0cy5yZWFkEpYBCgpBc3NpZ25TZWF0EiUudG9zaGkud29ya3NwYWNlLnYxLkFzc2lnblNlYXRSZXF1ZXN0GiYudG9zaGkud29ya3NwYWNlLnYxLkFzc2lnblNlYXRSZXNwb25zZSI5wvMYC3NlYXRzLndyaXRl0vMYJgoNc2VhdC5hc3NpZ25lZBIVc2VhdDpyZXNwb25zZS5zZWF0LmlkEn4KClJlbW92ZVNlYXQSJS50b3NoaS53b3Jrc3BhY2UudjEuUmVtb3ZlU2VhdFJlcXVlc3QaJi50b3NoaS53b3Jrc3BhY2UudjEuUmVtb3ZlU2VhdFJlc3BvbnNlIiHC8xgLc2VhdHMud3JpdGXS8xgOCgxzZWF0LnJlbW92ZWQSeAoNTGlzdEVncmVzc0lQcxIoLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0RWdyZXNzSVBzUmVxdWVzdBopLnRvc2hpLndvcmtzcGFjZS52MS5MaXN0RWdyZXNzSVBzUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZBJpCghHZXRVc2FnZRIjLnRvc2hpLndvcmtzcGFjZS52MS5HZXRVc2FnZVJlcXVlc3QaJC50b3NoaS53b3Jrc3BhY2UudjEuR2V0VXNhZ2VSZXNwb25zZSISwvMYDndvcmtzcGFjZS5yZWFkEngKDUdldFF1ZXVlVGltZXMSKC50b3NoaS53b3Jrc3BhY2UudjEuR2V0UXVldWVUaW1lc1JlcXVlc3QaKS50b3NoaS53b3Jrc3BhY2UudjEuR2V0UXVldWVUaW1lc1Jlc3BvbnNlIhLC8xgOd29ya3NwYWNlLnJlYWQSgQEKEEdldFdvcmtmbG93VXNhZ2USKy50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya2Zsb3dVc2FnZVJlcXVlc3QaLC50b3NoaS53b3Jrc3BhY2UudjEuR2V0V29ya2Zsb3dVc2FnZVJlc3BvbnNlIhLC8xgOd29ya3NwYWNlLnJlYWQSagoJTGlzdFBsYW5zEiQudG9zaGkud29ya3NwYWNlLnYxLkxpc3RQbGFuc1JlcXVlc3QaJS50b3NoaS53b3Jrc3BhY2UudjEuTGlzdFBsYW5zUmVzcG9uc2UiEMLzGAxiaWxsaW5nLnJlYWQSwQEKFUNyZWF0ZUNoZWNrb3V0U2Vzc2lvbhIwLnRvc2hpLndvcmtzcGFjZS52MS5DcmVhdGVDaGVja291dFNlc3Npb25SZXF1ZXN0GjEudG9zaGkud29ya3NwYWNlLnYxLkNyZWF0ZUNoZWNrb3V0U2Vzc2lvblJlc3BvbnNlIkPC8xgNYmlsbGluZy53cml0ZdLzGC4KF2JpbGxpbmcuY2hlY2tvdXRfb3BlbmVkEhN3b3Jrc3BhY2U6d29ya3NwYWNlEs4BChpDcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvbhI1LnRvc2hpLndvcmtzcGFjZS52MS5DcmVhdGVCaWxsaW5nUG9ydGFsU2Vzc2lvblJlcXVlc3QaNi50b3NoaS53b3Jrc3BhY2UudjEuQ3JlYXRlQmlsbGluZ1BvcnRhbFNlc3Npb25SZXNwb25zZSJBwvMYDWJpbGxpbmcud3JpdGXS8xgsChViaWxsaW5nLnBvcnRhbF9vcGVuZWQSE3dvcmtzcGFjZTp3b3Jrc3BhY2USbwoKR2V0VmVyc2lvbhIlLnRvc2hpLndvcmtzcGFjZS52MS5HZXRWZXJzaW9uUmVxdWVzdBomLnRvc2hpLndvcmtzcGFjZS52MS5HZXRWZXJzaW9uUmVzcG9uc2UiEsLzGA53b3Jrc3BhY2UucmVhZBKiAQoPRGVsZXRlV29ya3NwYWNlEioudG9zaGkud29ya3NwYWNlLnYxLkRlbGV0ZVdvcmtzcGFjZVJlcXVlc3QaKy50b3NoaS53b3Jrc3BhY2UudjEuRGVsZXRlV29ya3NwYWNlUmVzcG9uc2UiNsLzGBB3b3Jrc3BhY2UuZGVsZXRl0vMYHgocd29ya3NwYWNlLmRlbGV0aW9uX3NjaGVkdWxlZBKvAQoXQ2FuY2VsV29ya3NwYWNlRGVsZXRpb24SMi50b3NoaS53b3Jrc3BhY2UudjEuQ2FuY2VsV29ya3NwYWNlRGVsZXRpb25SZXF1ZXN0GjMudG9zaGkud29ya3NwYWNlLnYxLkNhbmNlbFdvcmtzcGFjZURlbGV0aW9uUmVzcG9uc2UiK8LzGBB3b3Jrc3BhY2UuZGVsZXRl0vMYEwoRd29ya3NwYWNlLnJlc3VtZWRCIlogZ28udG9zaGljbG91ZC5pby9hcGkvd29ya3NwYWNldjFiBnByb3RvMw", [file_google_protobuf_field_mask, file_google_protobuf_timestamp, file_toshi_permission, file_toshi_workspace_v1_discovery, file_toshi_workspace_v1_hosts, file_toshi_workspace_v1_roles]);
12
14
  /**
13
15
  * Describes the message toshi.workspace.v1.GetWorkspaceRequest.
14
16
  * Use `create(GetWorkspaceRequestSchema)` to create a new message.
@@ -20,240 +22,375 @@ export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_wo
20
22
  */
21
23
  export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 1);
22
24
  /**
23
- * Describes the message toshi.workspace.v1.ListWorkspacesRequest.
24
- * Use `create(ListWorkspacesRequestSchema)` to create a new message.
25
+ * Describes the message toshi.workspace.v1.DeleteWorkspaceRequest.
26
+ * Use `create(DeleteWorkspaceRequestSchema)` to create a new message.
25
27
  */
26
- export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 2);
28
+ export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 2);
27
29
  /**
28
- * Describes the message toshi.workspace.v1.ListWorkspacesResponse.
29
- * Use `create(ListWorkspacesResponseSchema)` to create a new message.
30
+ * Describes the message toshi.workspace.v1.DeleteWorkspaceResponse.
31
+ * Use `create(DeleteWorkspaceResponseSchema)` to create a new message.
30
32
  */
31
- export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 3);
33
+ export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 3);
32
34
  /**
33
- * Describes the message toshi.workspace.v1.SetWorkspaceOwnHostsOnlyResponse.
34
- * Use `create(SetWorkspaceOwnHostsOnlyResponseSchema)` to create a new message.
35
+ * Describes the message toshi.workspace.v1.CancelWorkspaceDeletionRequest.
36
+ * Use `create(CancelWorkspaceDeletionRequestSchema)` to create a new message.
35
37
  */
36
- export const SetWorkspaceOwnHostsOnlyResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 4);
38
+ export const CancelWorkspaceDeletionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 4);
37
39
  /**
38
- * Describes the message toshi.workspace.v1.SetWorkspaceAllowOverflowResponse.
39
- * Use `create(SetWorkspaceAllowOverflowResponseSchema)` to create a new message.
40
+ * Describes the message toshi.workspace.v1.CancelWorkspaceDeletionResponse.
41
+ * Use `create(CancelWorkspaceDeletionResponseSchema)` to create a new message.
40
42
  */
41
- export const SetWorkspaceAllowOverflowResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 5);
43
+ export const CancelWorkspaceDeletionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 5);
42
44
  /**
43
- * Describes the message toshi.workspace.v1.SetWorkspaceAllowCacheWarmResponse.
44
- * Use `create(SetWorkspaceAllowCacheWarmResponseSchema)` to create a new message.
45
+ * Describes the message toshi.workspace.v1.UpdateWorkspaceRequest.
46
+ * Use `create(UpdateWorkspaceRequestSchema)` to create a new message.
45
47
  */
46
- export const SetWorkspaceAllowCacheWarmResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 6);
48
+ export const UpdateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 6);
47
49
  /**
48
- * Describes the message toshi.workspace.v1.SetWorkspaceCancelRunOnVmDeathResponse.
49
- * Use `create(SetWorkspaceCancelRunOnVmDeathResponseSchema)` to create a new message.
50
+ * Describes the message toshi.workspace.v1.UpdateWorkspaceResponse.
51
+ * Use `create(UpdateWorkspaceResponseSchema)` to create a new message.
50
52
  */
51
- export const SetWorkspaceCancelRunOnVmDeathResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 7);
53
+ export const UpdateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 7);
52
54
  /**
53
- * Describes the message toshi.workspace.v1.SetWorkspaceSpendLimitsResponse.
54
- * Use `create(SetWorkspaceSpendLimitsResponseSchema)` to create a new message.
55
+ * Describes the message toshi.workspace.v1.ListWorkspacesRequest.
56
+ * Use `create(ListWorkspacesRequestSchema)` to create a new message.
55
57
  */
56
- export const SetWorkspaceSpendLimitsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 8);
58
+ export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 8);
59
+ /**
60
+ * Describes the message toshi.workspace.v1.ListWorkspacesResponse.
61
+ * Use `create(ListWorkspacesResponseSchema)` to create a new message.
62
+ */
63
+ export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 9);
57
64
  /**
58
65
  * Describes the message toshi.workspace.v1.GetWorkspaceBillingRequest.
59
66
  * Use `create(GetWorkspaceBillingRequestSchema)` to create a new message.
60
67
  */
61
- export const GetWorkspaceBillingRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 9);
68
+ export const GetWorkspaceBillingRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 10);
62
69
  /**
63
70
  * Describes the message toshi.workspace.v1.GetWorkspaceBillingResponse.
64
71
  * Use `create(GetWorkspaceBillingResponseSchema)` to create a new message.
65
72
  */
66
- export const GetWorkspaceBillingResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 10);
73
+ export const GetWorkspaceBillingResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 11);
67
74
  /**
68
75
  * Describes the message toshi.workspace.v1.GetWorkspaceStatementRequest.
69
76
  * Use `create(GetWorkspaceStatementRequestSchema)` to create a new message.
70
77
  */
71
- export const GetWorkspaceStatementRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 11);
78
+ export const GetWorkspaceStatementRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 12);
72
79
  /**
73
80
  * Describes the message toshi.workspace.v1.GetWorkspaceStatementResponse.
74
81
  * Use `create(GetWorkspaceStatementResponseSchema)` to create a new message.
75
82
  */
76
- export const GetWorkspaceStatementResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 12);
83
+ export const GetWorkspaceStatementResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 13);
84
+ /**
85
+ * Describes the message toshi.workspace.v1.GetWorkspaceUpcomingInvoiceRequest.
86
+ * Use `create(GetWorkspaceUpcomingInvoiceRequestSchema)` to create a new message.
87
+ */
88
+ export const GetWorkspaceUpcomingInvoiceRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 14);
89
+ /**
90
+ * Describes the message toshi.workspace.v1.GetWorkspaceUpcomingInvoiceResponse.
91
+ * Use `create(GetWorkspaceUpcomingInvoiceResponseSchema)` to create a new message.
92
+ */
93
+ export const GetWorkspaceUpcomingInvoiceResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 15);
94
+ /**
95
+ * Describes the message toshi.workspace.v1.UpcomingInvoice.
96
+ * Use `create(UpcomingInvoiceSchema)` to create a new message.
97
+ */
98
+ export const UpcomingInvoiceSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 16);
99
+ /**
100
+ * Describes the message toshi.workspace.v1.ProjectCost.
101
+ * Use `create(ProjectCostSchema)` to create a new message.
102
+ */
103
+ export const ProjectCostSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 17);
104
+ /**
105
+ * Describes the message toshi.workspace.v1.Seat.
106
+ * Use `create(SeatSchema)` to create a new message.
107
+ */
108
+ export const SeatSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 18);
109
+ /**
110
+ * Describes the message toshi.workspace.v1.ListSeatsRequest.
111
+ * Use `create(ListSeatsRequestSchema)` to create a new message.
112
+ */
113
+ export const ListSeatsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 19);
77
114
  /**
78
- * Describes the message toshi.workspace.v1.SetWorkspaceOwnHostsOnlyRequest.
79
- * Use `create(SetWorkspaceOwnHostsOnlyRequestSchema)` to create a new message.
115
+ * Describes the message toshi.workspace.v1.ListSeatsResponse.
116
+ * Use `create(ListSeatsResponseSchema)` to create a new message.
80
117
  */
81
- export const SetWorkspaceOwnHostsOnlyRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 13);
118
+ export const ListSeatsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 20);
82
119
  /**
83
- * Describes the message toshi.workspace.v1.SetWorkspaceAllowOverflowRequest.
84
- * Use `create(SetWorkspaceAllowOverflowRequestSchema)` to create a new message.
120
+ * Describes the message toshi.workspace.v1.AssignSeatRequest.
121
+ * Use `create(AssignSeatRequestSchema)` to create a new message.
85
122
  */
86
- export const SetWorkspaceAllowOverflowRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 14);
123
+ export const AssignSeatRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 21);
87
124
  /**
88
- * Describes the message toshi.workspace.v1.SetWorkspaceAllowCacheWarmRequest.
89
- * Use `create(SetWorkspaceAllowCacheWarmRequestSchema)` to create a new message.
125
+ * Describes the message toshi.workspace.v1.AssignSeatResponse.
126
+ * Use `create(AssignSeatResponseSchema)` to create a new message.
90
127
  */
91
- export const SetWorkspaceAllowCacheWarmRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 15);
128
+ export const AssignSeatResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 22);
92
129
  /**
93
- * Describes the message toshi.workspace.v1.SetWorkspaceCancelRunOnVmDeathRequest.
94
- * Use `create(SetWorkspaceCancelRunOnVmDeathRequestSchema)` to create a new message.
130
+ * Describes the message toshi.workspace.v1.RemoveSeatRequest.
131
+ * Use `create(RemoveSeatRequestSchema)` to create a new message.
95
132
  */
96
- export const SetWorkspaceCancelRunOnVmDeathRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 16);
133
+ export const RemoveSeatRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 23);
97
134
  /**
98
- * Describes the message toshi.workspace.v1.SetWorkspaceSpendLimitsRequest.
99
- * Use `create(SetWorkspaceSpendLimitsRequestSchema)` to create a new message.
135
+ * Describes the message toshi.workspace.v1.RemoveSeatResponse.
136
+ * Use `create(RemoveSeatResponseSchema)` to create a new message.
100
137
  */
101
- export const SetWorkspaceSpendLimitsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 17);
138
+ export const RemoveSeatResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 24);
102
139
  /**
103
140
  * Describes the message toshi.workspace.v1.ListEgressIPsRequest.
104
141
  * Use `create(ListEgressIPsRequestSchema)` to create a new message.
105
142
  */
106
- export const ListEgressIPsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 18);
143
+ export const ListEgressIPsRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 25);
107
144
  /**
108
145
  * Describes the message toshi.workspace.v1.ListEgressIPsResponse.
109
146
  * Use `create(ListEgressIPsResponseSchema)` to create a new message.
110
147
  */
111
- export const ListEgressIPsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 19);
148
+ export const ListEgressIPsResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 26);
112
149
  /**
113
150
  * Describes the message toshi.workspace.v1.GetUsageRequest.
114
151
  * Use `create(GetUsageRequestSchema)` to create a new message.
115
152
  */
116
- export const GetUsageRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 20);
153
+ export const GetUsageRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 27);
117
154
  /**
118
155
  * Describes the message toshi.workspace.v1.GetUsageResponse.
119
156
  * Use `create(GetUsageResponseSchema)` to create a new message.
120
157
  */
121
- export const GetUsageResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 21);
158
+ export const GetUsageResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 28);
122
159
  /**
123
160
  * Describes the message toshi.workspace.v1.GetQueueTimesRequest.
124
161
  * Use `create(GetQueueTimesRequestSchema)` to create a new message.
125
162
  */
126
- export const GetQueueTimesRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 22);
163
+ export const GetQueueTimesRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 29);
127
164
  /**
128
165
  * Describes the message toshi.workspace.v1.GetQueueTimesResponse.
129
166
  * Use `create(GetQueueTimesResponseSchema)` to create a new message.
130
167
  */
131
- export const GetQueueTimesResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 23);
168
+ export const GetQueueTimesResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 30);
132
169
  /**
133
170
  * Describes the message toshi.workspace.v1.GetWorkflowUsageRequest.
134
171
  * Use `create(GetWorkflowUsageRequestSchema)` to create a new message.
135
172
  */
136
- export const GetWorkflowUsageRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 24);
173
+ export const GetWorkflowUsageRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 31);
137
174
  /**
138
175
  * Describes the message toshi.workspace.v1.GetWorkflowUsageResponse.
139
176
  * Use `create(GetWorkflowUsageResponseSchema)` to create a new message.
140
177
  */
141
- export const GetWorkflowUsageResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 25);
178
+ export const GetWorkflowUsageResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 32);
142
179
  /**
143
180
  * Describes the message toshi.workspace.v1.ListPlansRequest.
144
181
  * Use `create(ListPlansRequestSchema)` to create a new message.
145
182
  */
146
- export const ListPlansRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 26);
183
+ export const ListPlansRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 33);
147
184
  /**
148
185
  * Describes the message toshi.workspace.v1.ListPlansResponse.
149
186
  * Use `create(ListPlansResponseSchema)` to create a new message.
150
187
  */
151
- export const ListPlansResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 27);
188
+ export const ListPlansResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 34);
152
189
  /**
153
190
  * Describes the message toshi.workspace.v1.CreateCheckoutSessionRequest.
154
191
  * Use `create(CreateCheckoutSessionRequestSchema)` to create a new message.
155
192
  */
156
- export const CreateCheckoutSessionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 28);
193
+ export const CreateCheckoutSessionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 35);
157
194
  /**
158
195
  * Describes the message toshi.workspace.v1.CreateCheckoutSessionResponse.
159
196
  * Use `create(CreateCheckoutSessionResponseSchema)` to create a new message.
160
197
  */
161
- export const CreateCheckoutSessionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 29);
198
+ export const CreateCheckoutSessionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 36);
162
199
  /**
163
200
  * Describes the message toshi.workspace.v1.CreateBillingPortalSessionRequest.
164
201
  * Use `create(CreateBillingPortalSessionRequestSchema)` to create a new message.
165
202
  */
166
- export const CreateBillingPortalSessionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 30);
203
+ export const CreateBillingPortalSessionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 37);
167
204
  /**
168
205
  * Describes the message toshi.workspace.v1.CreateBillingPortalSessionResponse.
169
206
  * Use `create(CreateBillingPortalSessionResponseSchema)` to create a new message.
170
207
  */
171
- export const CreateBillingPortalSessionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 31);
208
+ export const CreateBillingPortalSessionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 38);
172
209
  /**
173
210
  * Describes the message toshi.workspace.v1.GetVersionRequest.
174
211
  * Use `create(GetVersionRequestSchema)` to create a new message.
175
212
  */
176
- export const GetVersionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 32);
213
+ export const GetVersionRequestSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 39);
177
214
  /**
178
215
  * Describes the message toshi.workspace.v1.GetVersionResponse.
179
216
  * Use `create(GetVersionResponseSchema)` to create a new message.
180
217
  */
181
- export const GetVersionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 33);
218
+ export const GetVersionResponseSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 40);
182
219
  /**
183
220
  * Describes the message toshi.workspace.v1.Workspace.
184
221
  * Use `create(WorkspaceSchema)` to create a new message.
185
222
  */
186
- export const WorkspaceSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 34);
223
+ export const WorkspaceSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 41);
224
+ /**
225
+ * Describes the message toshi.workspace.v1.HostingCertificate.
226
+ * Use `create(HostingCertificateSchema)` to create a new message.
227
+ */
228
+ export const HostingCertificateSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 42);
229
+ /**
230
+ * Describes the message toshi.workspace.v1.WorkspaceSettings.
231
+ * Use `create(WorkspaceSettingsSchema)` to create a new message.
232
+ */
233
+ export const WorkspaceSettingsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 43);
234
+ /**
235
+ * Describes the message toshi.workspace.v1.WorkspaceSettingChange.
236
+ * Use `create(WorkspaceSettingChangeSchema)` to create a new message.
237
+ */
238
+ export const WorkspaceSettingChangeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 44);
239
+ /**
240
+ * Describes the message toshi.workspace.v1.WorkspaceSignIn.
241
+ * Use `create(WorkspaceSignInSchema)` to create a new message.
242
+ */
243
+ export const WorkspaceSignInSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 45);
187
244
  /**
188
245
  * Describes the message toshi.workspace.v1.Reservation.
189
246
  * Use `create(ReservationSchema)` to create a new message.
190
247
  */
191
- export const ReservationSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 35);
248
+ export const ReservationSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 46);
192
249
  /**
193
250
  * Describes the message toshi.workspace.v1.WorkspaceBilling.
194
251
  * Use `create(WorkspaceBillingSchema)` to create a new message.
195
252
  */
196
- export const WorkspaceBillingSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 36);
253
+ export const WorkspaceBillingSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 47);
197
254
  /**
198
255
  * Describes the message toshi.workspace.v1.WorkspaceBilling.HeldJobs.
199
256
  * Use `create(WorkspaceBilling_HeldJobsSchema)` to create a new message.
200
257
  */
201
- export const WorkspaceBilling_HeldJobsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 36, 0);
258
+ export const WorkspaceBilling_HeldJobsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 47, 0);
202
259
  /**
203
260
  * Describes the message toshi.workspace.v1.BillingTotals.
204
261
  * Use `create(BillingTotalsSchema)` to create a new message.
205
262
  */
206
- export const BillingTotalsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 37);
263
+ export const BillingTotalsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 48);
207
264
  /**
208
265
  * Describes the message toshi.workspace.v1.BillingEventFailure.
209
266
  * Use `create(BillingEventFailureSchema)` to create a new message.
210
267
  */
211
- export const BillingEventFailureSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 38);
268
+ export const BillingEventFailureSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 49);
212
269
  /**
213
270
  * Describes the message toshi.workspace.v1.WorkspaceStatement.
214
271
  * Use `create(WorkspaceStatementSchema)` to create a new message.
215
272
  */
216
- export const WorkspaceStatementSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 39);
273
+ export const WorkspaceStatementSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 50);
274
+ /**
275
+ * Describes the message toshi.workspace.v1.DesktopSeats.
276
+ * Use `create(DesktopSeatsSchema)` to create a new message.
277
+ */
278
+ export const DesktopSeatsSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 51);
279
+ /**
280
+ * Describes the message toshi.workspace.v1.StatementSeat.
281
+ * Use `create(StatementSeatSchema)` to create a new message.
282
+ */
283
+ export const StatementSeatSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 52);
284
+ /**
285
+ * Describes the message toshi.workspace.v1.OwnHostFee.
286
+ * Use `create(OwnHostFeeSchema)` to create a new message.
287
+ */
288
+ export const OwnHostFeeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 53);
289
+ /**
290
+ * Describes the message toshi.workspace.v1.Awake.
291
+ * Use `create(AwakeSchema)` to create a new message.
292
+ */
293
+ export const AwakeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 54);
294
+ /**
295
+ * Describes the message toshi.workspace.v1.Storage.
296
+ * Use `create(StorageSchema)` to create a new message.
297
+ */
298
+ export const StorageSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 55);
299
+ /**
300
+ * Describes the message toshi.workspace.v1.StoredKind.
301
+ * Use `create(StoredKindSchema)` to create a new message.
302
+ */
303
+ export const StoredKindSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 56);
304
+ /**
305
+ * Describes the message toshi.workspace.v1.StorageUsageRow.
306
+ * Use `create(StorageUsageRowSchema)` to create a new message.
307
+ */
308
+ export const StorageUsageRowSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 57);
217
309
  /**
218
310
  * Describes the message toshi.workspace.v1.StatementUsage.
219
311
  * Use `create(StatementUsageSchema)` to create a new message.
220
312
  */
221
- export const StatementUsageSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 40);
313
+ export const StatementUsageSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 58);
222
314
  /**
223
315
  * Describes the message toshi.workspace.v1.StatementCharge.
224
316
  * Use `create(StatementChargeSchema)` to create a new message.
225
317
  */
226
- export const StatementChargeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 41);
318
+ export const StatementChargeSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 59);
227
319
  /**
228
320
  * Describes the message toshi.workspace.v1.HoldTimes.
229
321
  * Use `create(HoldTimesSchema)` to create a new message.
230
322
  */
231
- export const HoldTimesSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 42);
323
+ export const HoldTimesSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 60);
232
324
  /**
233
325
  * Describes the message toshi.workspace.v1.FillerUsage.
234
326
  * Use `create(FillerUsageSchema)` to create a new message.
235
327
  */
236
- export const FillerUsageSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 43);
328
+ export const FillerUsageSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 61);
237
329
  /**
238
330
  * Describes the message toshi.workspace.v1.UsageRow.
239
331
  * Use `create(UsageRowSchema)` to create a new message.
240
332
  */
241
- export const UsageRowSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 44);
333
+ export const UsageRowSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 62);
242
334
  /**
243
335
  * Describes the message toshi.workspace.v1.WorkflowUsageRow.
244
336
  * Use `create(WorkflowUsageRowSchema)` to create a new message.
245
337
  */
246
- export const WorkflowUsageRowSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 45);
338
+ export const WorkflowUsageRowSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 63);
247
339
  /**
248
340
  * Describes the message toshi.workspace.v1.Plan.
249
341
  * Use `create(PlanSchema)` to create a new message.
250
342
  */
251
- export const PlanSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 46);
343
+ export const PlanSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 64);
252
344
  /**
253
345
  * Describes the message toshi.workspace.v1.EgressHost.
254
346
  * Use `create(EgressHostSchema)` to create a new message.
255
347
  */
256
- export const EgressHostSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 47);
348
+ export const EgressHostSchema = /*@__PURE__*/ messageDesc(file_toshi_workspace_v1_workspace_service, 65);
349
+ /**
350
+ * @generated from enum toshi.workspace.v1.HostingCertificateState
351
+ */
352
+ export var HostingCertificateState;
353
+ (function (HostingCertificateState) {
354
+ /**
355
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_UNSPECIFIED = 0;
356
+ */
357
+ HostingCertificateState[HostingCertificateState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
358
+ /**
359
+ * The first certificate is being ordered; until it is, provided names
360
+ * refuse connections.
361
+ *
362
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_ISSUING = 1;
363
+ */
364
+ HostingCertificateState[HostingCertificateState["ISSUING"] = 1] = "ISSUING";
365
+ /**
366
+ * The authority refused an order for its rate limits; Toshi tries again
367
+ * at retry_at.
368
+ *
369
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_RATE_LIMITED = 2;
370
+ */
371
+ HostingCertificateState[HostingCertificateState["RATE_LIMITED"] = 2] = "RATE_LIMITED";
372
+ /**
373
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_VALID = 3;
374
+ */
375
+ HostingCertificateState[HostingCertificateState["VALID"] = 3] = "VALID";
376
+ /**
377
+ * A renewal failed; the current certificate serves until not_after.
378
+ *
379
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_RENEWAL_FAILING = 4;
380
+ */
381
+ HostingCertificateState[HostingCertificateState["RENEWAL_FAILING"] = 4] = "RENEWAL_FAILING";
382
+ /**
383
+ * The control plane signed the certificate itself, as [hosting] dev = true
384
+ * does for test stacks; clients do not trust it.
385
+ *
386
+ * @generated from enum value: HOSTING_CERTIFICATE_STATE_SELF_SIGNED = 5;
387
+ */
388
+ HostingCertificateState[HostingCertificateState["SELF_SIGNED"] = 5] = "SELF_SIGNED";
389
+ })(HostingCertificateState || (HostingCertificateState = {}));
390
+ /**
391
+ * Describes the enum toshi.workspace.v1.HostingCertificateState.
392
+ */
393
+ export const HostingCertificateStateSchema = /*@__PURE__*/ enumDesc(file_toshi_workspace_v1_workspace_service, 0);
257
394
  /**
258
395
  * WorkspaceService reads and sets the caller's workspace: its settings, its
259
396
  * billing and usage, and the plans it may buy.
package/dist/index.d.ts CHANGED
@@ -10,16 +10,23 @@ export * from "./gen/toshi/workspace/v1/volumes_pb.js";
10
10
  export * from "./gen/toshi/workspace/v1/artifacts_pb.js";
11
11
  export * from "./gen/toshi/workspace/v1/audit_events_pb.js";
12
12
  export * from "./gen/toshi/workspace/v1/fillers_pb.js";
13
+ export * from "./gen/toshi/workspace/v1/grants_pb.js";
13
14
  export * from "./gen/toshi/workspace/v1/hostjobs_pb.js";
14
15
  export * from "./gen/toshi/workspace/v1/hosts_pb.js";
15
16
  export * from "./gen/toshi/workspace/v1/storage_providers_pb.js";
16
17
  export * from "./gen/toshi/workspace/v1/tokens_pb.js";
17
18
  export * from "./gen/toshi/workspace/v1/products_pb.js";
18
19
  export * from "./gen/toshi/workspace/v1/discovery_pb.js";
20
+ export * from "./gen/toshi/workspace/v1/connections_pb.js";
21
+ export * from "./gen/toshi/workspace/v1/roles_pb.js";
22
+ export * from "./gen/toshi/workspace/v1/account_pb.js";
23
+ export * from "./gen/toshi/workspace/v1/images_pb.js";
24
+ export * from "./gen/toshi/workspace/v1/triggers_pb.js";
25
+ export * from "./gen/toshi/workspace/v1/domains_pb.js";
19
26
  export * from "./gen/toshi/workspace/v1/workspace_service_pb.js";
20
27
  export { createToshiClient } from "./client.js";
21
28
  export { paginate } from "./paginate.js";
22
- export { ExitError, JobExitError, ProductError, ProductReason, StreamLostError, isProductError } from "./errors.js";
29
+ export { ExitError, JobExitError, ProductError, ProductReason, RefusalError, RefusalReason, StreamLostError, isProductError, isRefusalError, } from "./errors.js";
23
30
  export { defaultRetryPolicy } from "./retry.js";
24
31
  export { VERSION } from "./version.js";
25
32
  export type { PageRequest, PageResponse } from "./paginate.js";
package/dist/index.js CHANGED
@@ -11,15 +11,22 @@ export * from "./gen/toshi/workspace/v1/volumes_pb.js";
11
11
  export * from "./gen/toshi/workspace/v1/artifacts_pb.js";
12
12
  export * from "./gen/toshi/workspace/v1/audit_events_pb.js";
13
13
  export * from "./gen/toshi/workspace/v1/fillers_pb.js";
14
+ export * from "./gen/toshi/workspace/v1/grants_pb.js";
14
15
  export * from "./gen/toshi/workspace/v1/hostjobs_pb.js";
15
16
  export * from "./gen/toshi/workspace/v1/hosts_pb.js";
16
17
  export * from "./gen/toshi/workspace/v1/storage_providers_pb.js";
17
18
  export * from "./gen/toshi/workspace/v1/tokens_pb.js";
18
19
  export * from "./gen/toshi/workspace/v1/products_pb.js";
19
20
  export * from "./gen/toshi/workspace/v1/discovery_pb.js";
21
+ export * from "./gen/toshi/workspace/v1/connections_pb.js";
22
+ export * from "./gen/toshi/workspace/v1/roles_pb.js";
23
+ export * from "./gen/toshi/workspace/v1/account_pb.js";
24
+ export * from "./gen/toshi/workspace/v1/images_pb.js";
25
+ export * from "./gen/toshi/workspace/v1/triggers_pb.js";
26
+ export * from "./gen/toshi/workspace/v1/domains_pb.js";
20
27
  export * from "./gen/toshi/workspace/v1/workspace_service_pb.js";
21
28
  export { createToshiClient } from "./client.js";
22
29
  export { paginate } from "./paginate.js";
23
- export { ExitError, JobExitError, ProductError, ProductReason, StreamLostError, isProductError } from "./errors.js";
30
+ export { ExitError, JobExitError, ProductError, ProductReason, RefusalError, RefusalReason, StreamLostError, isProductError, isRefusalError, } from "./errors.js";
24
31
  export { defaultRetryPolicy } from "./retry.js";
25
32
  export { VERSION } from "./version.js";
@@ -15,11 +15,15 @@ export declare function authInterceptor(token: string, source?: TokenSource): In
15
15
  export declare function scopeInterceptor(project: string, environment: string): Interceptor;
16
16
  /** Puts a request key on keyed procedures and on Execute's start (retry.go:110-116, 202-231). */
17
17
  export declare function keyInterceptor(): Interceptor;
18
- /** Retries a unary read or keyed write after a transport loss, with full jitter (retry.go:98-186). */
18
+ /**
19
+ * Retries a unary read or keyed write after a transport loss, with full jitter
20
+ * (retry.go:98-186), or after a refusal that names how long to wait
21
+ * (serverWaitMs), waiting at least that long.
22
+ */
19
23
  export declare function retryInterceptor(retry: RetrySetting): Interceptor;
20
24
  /**
21
25
  * Throws a ProductError in place of a product's refusal, on a unary call and
22
26
  * on a stream's messages. It is the outermost interceptor, so the retry and
23
27
  * the helpers inside see the ConnectError they always did.
24
28
  */
25
- export declare function productInterceptor(): Interceptor;
29
+ export declare function refusalInterceptor(): Interceptor;