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