@kusinta/iot-schema 0.2.0-beta.4 → 0.2.0-beta.40

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 (67) hide show
  1. package/package.json +12 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +119 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +20 -3
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +131 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +110 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +583 -0
  7. package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
  8. package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1041 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +206 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1128 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +246 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +217 -0
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +175 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +70 -1
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +691 -2
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +104 -13
  18. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
  19. package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
  20. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +22 -2
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +87 -5
  23. package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
  24. package/src/kusinta/iot/device/v1/device_pb.d.ts +164 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +33 -2
  26. package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
  27. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  28. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +28 -2
  29. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
  30. package/src/kusinta/iot/heating/v1/heating_pb.d.ts +619 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +118 -0
  32. package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
  33. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  34. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  35. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  36. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1225 -0
  37. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  38. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  39. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  40. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +920 -7
  41. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  42. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  43. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  44. package/src/kusinta/iot/space/v1/space_pb.d.ts +107 -2
  45. package/src/kusinta/iot/space/v1/space_pb.js +10 -1
  46. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +19 -3
  47. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  48. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  49. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  50. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +4 -4
  51. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +4 -4
  52. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  53. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  54. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  55. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  56. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  57. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +35 -6
  58. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +607 -3
  59. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +68 -3
  60. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +498 -0
  61. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  62. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +1687 -75
  63. package/src/kusinta/iot/webrtc/v1/management_pb.js +261 -5
  64. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +536 -0
  65. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  66. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  67. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +10 -2
@@ -5,19 +5,28 @@
5
5
  import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
8
+ import { file_kusinta_iot_accountlink_v1_account_link } from "../../accountlink/v1/account_link_pb.js";
9
+ import { file_kusinta_iot_climate_v1_climate } from "../../climate/v1/climate_pb.js";
10
+ import { file_kusinta_iot_commissioning_v1_commissioning } from "../../commissioning/v1/commissioning_pb.js";
11
+ import { file_kusinta_iot_common_v1_pairing } from "../../common/v1/pairing_pb.js";
12
+ import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
8
13
  import { file_kusinta_iot_device_v1_device_event } from "../../device/v1/device_event_pb.js";
14
+ import { file_kusinta_iot_heating_v1_heating } from "../../heating/v1/heating_pb.js";
9
15
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
16
+ import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
10
17
  import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
11
18
  import { file_kusinta_iot_webrtc_v1_command } from "./command_pb.js";
12
19
  import { file_kusinta_iot_webrtc_v1_device_state } from "./device_state_pb.js";
20
+ import { file_kusinta_iot_webrtc_v1_invite } from "./invite_pb.js";
13
21
  import { file_kusinta_iot_webrtc_v1_management } from "./management_pb.js";
22
+ import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
14
23
  import { file_kusinta_iot_webrtc_v1_permission_push } from "./permission_push_pb.js";
15
24
 
16
25
  /**
17
26
  * Describes the file kusinta/iot/webrtc/v1/envelope.proto.
18
27
  */
19
28
  export const file_kusinta_iot_webrtc_v1_envelope = /*@__PURE__*/
20
- fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoICChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSABCCAoGcmVzdWx0IpUHCg5HYXRld2F5TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkQKDnN0YXRlX3NuYXBzaG90GAMgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVN0YXRlU25hcHNob3RIABJACg9wcm9wZXJ0eV9yZXBvcnQYBCABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZXBvcnRIABJIChFwZXJtaXNzaW9uX3VwZGF0ZRgFIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXZlUGVybWlzc2lvblVwZGF0ZUgAEj4KDmNvbW1hbmRfcmVzdWx0GAYgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbW1hbmRSZXN1bHRIABIrCgRwb25nGAggASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBvbmdIABJGChJoYW5kc2hha2VfcmVqZWN0ZWQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuSGFuZHNoYWtlUmVqZWN0ZWRIABI0CgVlcnJvchgKIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JIABJCChBzdWJzY3JpcHRpb25fYWNrGAsgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlN1YnNjcmlwdGlvbkFja0gAEjoKDGRldmljZV9hZGRlZBgMIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VBZGRlZEgAEj4KDmRldmljZV9yZW1vdmVkGA0gASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVJlbW92ZWRIABJEChFtYW5hZ2VtZW50X3Jlc3VsdBgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVzdWx0SAASQAoNZGV2aWNlX2V2ZW50cxgQIAEoCzInLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2VFdmVudEJhdGNoSABCCQoHcGF5bG9hZEoECA8QEEoECAcQCFIWYXR0cmlidXRlX3dyaXRlX3Jlc3VsdFIOcHJvcGVydHlfZXZlbnQixQQKCkFwcE1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4CgloYW5kc2hha2UYAyABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXBwSGFuZHNoYWtlSAASNwoHY29tbWFuZBgEIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VDb21tYW5kSAASQgoMcmVhZF9yZXF1ZXN0GAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVhZFJlcXVlc3RIABIrCgRwaW5nGAYgASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBpbmdIABI8CglzdWJzY3JpYmUYByABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3Vic2NyaWJlRGV2aWNlc0gAEkAKC3Vuc3Vic2NyaWJlGAggASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlVuc3Vic2NyaWJlRGV2aWNlc0gAEj4KCm1hbmFnZW1lbnQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlcXVlc3RIABJHCg9hdHRyaWJ1dGVfd3JpdGUYCiABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXR0cmlidXRlV3JpdGVSZXF1ZXN0SABCCQoHcGF5bG9hZCr2AQoQR2F0ZXdheUVycm9yQ29kZRIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIjCh9HQVRFV0FZX0VSUk9SX0NPREVfTk9UX0VOVElUTEVEEAESJgoiR0FURVdBWV9FUlJPUl9DT0RFX0lOVkFMSURfUkVRVUVTVBACEiIKHkdBVEVXQVlfRVJST1JfQ09ERV9VTkFWQUlMQUJMRRADEh8KG0dBVEVXQVlfRVJST1JfQ09ERV9JTlRFUk5BTBAEEiwKKEdBVEVXQVlfRVJST1JfQ09ERV9TRVNTSU9OX0xJTUlUX1JFQUNIRUQQBUICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_permission_push]);
29
+ fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBItUKChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SAASQAoNcm9vbV9jbGltYXRlcxgHIAEoCzInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGVMaXN0SAASOwoMcm9vbV9oaXN0b3J5GAggASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tSGlzdG9yeUgAEkYKEnByaXZhY3lfZGlzY2xvc3VyZRgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcml2YWN5RGlzY2xvc3VyZUgAElQKGWFwYXJ0bWVudF9jbGltYXRlX3N1bW1hcnkYCiABKAsyLy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASPAoNaXNzdWVkX2ludml0ZRgLIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Jc3N1ZWRJbnZpdGVIABI8Cg1zcGFjZV9pbnZpdGVzGAwgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkAKD2dhdGV3YXlfbWVtYmVycxgNIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5TWVtYmVyc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgOIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEj8KDmhlYXRpbmdfbGF5b3V0GA8gASgLMiUua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nTGF5b3V0SAASPwoOaGVhdGluZ19yZWNvcmQYECABKAsyJS5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkhlYXRpbmdSZWNvcmRIABJKChJhY2NvdW50X2xpbmtfbm9uY2UYESABKAsyLC5rdXNpbnRhLmlvdC5hY2NvdW50bGluay52MS5BY2NvdW50TGlua05vbmNlSAASQQoNYWNjb3VudF9saW5rcxgSIAEoCzIoLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkFjY291bnRMaW5rc0gAElMKFWNvbW1pc3Npb25pbmdfcHJvZmlsZRgTIAEoCzIyLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Byb2ZpbGVIABJRChRjb21taXNzaW9uaW5nX3JlY29yZBgUIAEoCzIxLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1JlY29yZEgAEj8KC2hvbWVfc2V0dXBzGBUgASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Ib21lU2V0dXBzSABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIIogDChNDb25uZWN0b3JEZXNjcmlwdG9yEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAMgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYBCABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAUgASgIEhUKDWJyb2tlcnNfbGlua3MYBiABKAgSMgoEa2luZBgHIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAggASgJEjwKDmJhY2tlbmRfaGVhbHRoGAkgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLkJhY2tlbmRIZWFsdGgSJQodc3VwcG9ydHNfYmFja2VuZF9yZWluaXRpYWxpemUYCiABKAgiVQoTQ29ubmVjdG9yc0Fubm91bmNlZBI+Cgpjb25uZWN0b3JzGAEgAygLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbm5lY3RvckRlc2NyaXB0b3IiRwoSUm9vbUNsaW1hdGVDaGFuZ2VkEjEKBHJvb20YASABKAsyIy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLlJvb21DbGltYXRlIlYKEkNsaW1hdGVNb2RlQ2hhbmdlZBIxCgRtb2RlGAEgASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZRINCgVlbmRlZBgCIAEoCCLdDAoOR2F0ZXdheU1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJECg5zdGF0ZV9zbmFwc2hvdBgDIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VTdGF0ZVNuYXBzaG90SAASQAoPcHJvcGVydHlfcmVwb3J0GAQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVwb3J0SAASSAoRcGVybWlzc2lvbl91cGRhdGUYBSABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGl2ZVBlcm1pc3Npb25VcGRhdGVIABI+Cg5jb21tYW5kX3Jlc3VsdBgGIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kUmVzdWx0SAASKwoEcG9uZxgIIAEoCzIbLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qb25nSAASRgoSaGFuZHNoYWtlX3JlamVjdGVkGAkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkhhbmRzaGFrZVJlamVjdGVkSAASNAoFZXJyb3IYCiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9ySAASQgoQc3Vic2NyaXB0aW9uX2FjaxgLIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpcHRpb25BY2tIABI6CgxkZXZpY2VfYWRkZWQYDCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQWRkZWRIABI+Cg5kZXZpY2VfcmVtb3ZlZBgNIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VSZW1vdmVkSAASRAoRbWFuYWdlbWVudF9yZXN1bHQYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlc3VsdEgAEkAKDWRldmljZV9ldmVudHMYECABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAEkAKD3BhaXJpbmdfc3RhcnRlZBgRIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QYWlyaW5nU3RhcnRlZEgAEkIKEHBhaXJpbmdfZmluaXNoZWQYEiABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGFpcmluZ0ZpbmlzaGVkSAASOgoMbGlua19jaGFuZ2VkGBMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpbmtDaGFuZ2VkSAASSgoUY29ubmVjdG9yc19hbm5vdW5jZWQYFCABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29ubmVjdG9yc0Fubm91bmNlZEgAEkkKFHJvb21fY2xpbWF0ZV9jaGFuZ2VkGBUgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlJvb21DbGltYXRlQ2hhbmdlZEgAEkkKFGNsaW1hdGVfbW9kZV9jaGFuZ2VkGBYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsaW1hdGVNb2RlQ2hhbmdlZEgAEk0KFnNlcnZpY2Vfc3RhdHVzX2NoYW5nZWQYFyABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2VydmljZVN0YXR1c0NoYW5nZWRIABI8Cg1zcGFjZV9pbnZpdGVzGBggASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgZIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEk0KEmNvbW1pc3Npb25pbmdfdGVzdBgaIAEoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3RIAEIJCgdwYXlsb2FkSgQIDxAQSgQIBxAIUhZhdHRyaWJ1dGVfd3JpdGVfcmVzdWx0Ug5wcm9wZXJ0eV9ldmVudCKDBQoKQXBwTWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKCWhhbmRzaGFrZRgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHBIYW5kc2hha2VIABI3Cgdjb21tYW5kGAQgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJCCgxyZWFkX3JlcXVlc3QYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZWFkUmVxdWVzdEgAEisKBHBpbmcYBiABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGluZ0gAEjwKCXN1YnNjcmliZRgHIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpYmVEZXZpY2VzSAASQAoLdW5zdWJzY3JpYmUYCCABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuVW5zdWJzY3JpYmVEZXZpY2VzSAASPgoKbWFuYWdlbWVudBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVxdWVzdEgAEkcKD2F0dHJpYnV0ZV93cml0ZRgKIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABI8Cg1zdGFydF9wYWlyaW5nGAsgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlN0YXJ0UGFpcmluZ0gAQgkKB3BheWxvYWQqogIKEEdhdGV3YXlFcnJvckNvZGUSIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASIwofR0FURVdBWV9FUlJPUl9DT0RFX05PVF9FTlRJVExFRBABEiYKIkdBVEVXQVlfRVJST1JfQ09ERV9JTlZBTElEX1JFUVVFU1QQAhIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5BVkFJTEFCTEUQAxIfChtHQVRFV0FZX0VSUk9SX0NPREVfSU5URVJOQUwQBBIsCihHQVRFV0FZX0VSUk9SX0NPREVfU0VTU0lPTl9MSU1JVF9SRUFDSEVEEAUSKgomR0FURVdBWV9FUlJPUl9DT0RFX0ZBSUxFRF9QUkVDT05ESVRJT04QBkICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_accountlink_v1_account_link, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_commissioning_v1_commissioning, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_heating_v1_heating, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_members, file_kusinta_iot_webrtc_v1_permission_push]);
21
30
 
22
31
  /**
23
32
  * Describes the message kusinta.iot.webrtc.v1.Ping.
@@ -96,19 +105,75 @@ export const GatewayErrorSchema = /*@__PURE__*/
96
105
  export const ManagementResultSchema = /*@__PURE__*/
97
106
  messageDesc(file_kusinta_iot_webrtc_v1_envelope, 10);
98
107
 
108
+ /**
109
+ * Describes the message kusinta.iot.webrtc.v1.StartPairing.
110
+ * Use `create(StartPairingSchema)` to create a new message.
111
+ */
112
+ export const StartPairingSchema = /*@__PURE__*/
113
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 11);
114
+
115
+ /**
116
+ * Describes the message kusinta.iot.webrtc.v1.PairingStarted.
117
+ * Use `create(PairingStartedSchema)` to create a new message.
118
+ */
119
+ export const PairingStartedSchema = /*@__PURE__*/
120
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 12);
121
+
122
+ /**
123
+ * Describes the message kusinta.iot.webrtc.v1.PairingFinished.
124
+ * Use `create(PairingFinishedSchema)` to create a new message.
125
+ */
126
+ export const PairingFinishedSchema = /*@__PURE__*/
127
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 13);
128
+
129
+ /**
130
+ * Describes the message kusinta.iot.webrtc.v1.LinkChanged.
131
+ * Use `create(LinkChangedSchema)` to create a new message.
132
+ */
133
+ export const LinkChangedSchema = /*@__PURE__*/
134
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 14);
135
+
136
+ /**
137
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorDescriptor.
138
+ * Use `create(ConnectorDescriptorSchema)` to create a new message.
139
+ */
140
+ export const ConnectorDescriptorSchema = /*@__PURE__*/
141
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 15);
142
+
143
+ /**
144
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorsAnnounced.
145
+ * Use `create(ConnectorsAnnouncedSchema)` to create a new message.
146
+ */
147
+ export const ConnectorsAnnouncedSchema = /*@__PURE__*/
148
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 16);
149
+
150
+ /**
151
+ * Describes the message kusinta.iot.webrtc.v1.RoomClimateChanged.
152
+ * Use `create(RoomClimateChangedSchema)` to create a new message.
153
+ */
154
+ export const RoomClimateChangedSchema = /*@__PURE__*/
155
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 17);
156
+
157
+ /**
158
+ * Describes the message kusinta.iot.webrtc.v1.ClimateModeChanged.
159
+ * Use `create(ClimateModeChangedSchema)` to create a new message.
160
+ */
161
+ export const ClimateModeChangedSchema = /*@__PURE__*/
162
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 18);
163
+
99
164
  /**
100
165
  * Describes the message kusinta.iot.webrtc.v1.GatewayMessage.
101
166
  * Use `create(GatewayMessageSchema)` to create a new message.
102
167
  */
103
168
  export const GatewayMessageSchema = /*@__PURE__*/
104
- messageDesc(file_kusinta_iot_webrtc_v1_envelope, 11);
169
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 19);
105
170
 
106
171
  /**
107
172
  * Describes the message kusinta.iot.webrtc.v1.AppMessage.
108
173
  * Use `create(AppMessageSchema)` to create a new message.
109
174
  */
110
175
  export const AppMessageSchema = /*@__PURE__*/
111
- messageDesc(file_kusinta_iot_webrtc_v1_envelope, 12);
176
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 20);
112
177
 
113
178
  /**
114
179
  * Describes the enum kusinta.iot.webrtc.v1.GatewayErrorCode.
@@ -0,0 +1,498 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/webrtc/v1/invite.proto (package kusinta.iot.webrtc.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { SpaceId, UserId } from "../../identity/v1/identity_pb.js";
8
+ import type { MembershipRelation } from "../../access/v1/roles_pb.js";
9
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
10
+
11
+ /**
12
+ * Describes the file kusinta/iot/webrtc/v1/invite.proto.
13
+ */
14
+ export declare const file_kusinta_iot_webrtc_v1_invite: GenFile;
15
+
16
+ /**
17
+ * Creates an invite on a space.
18
+ *
19
+ * relation is RESIDENT or SERVICE and nothing else, and it decides the role the person
20
+ * will hold: a resident for RESIDENT, a technician for SERVICE. RESIDENT is refused
21
+ * anywhere but a home (access.v1.MembershipRelation). No invite ever makes anyone a
22
+ * gateway administrator or a property owner: those come only by promotion of someone
23
+ * already a member, and any other relation is refused as INVALID_REQUEST.
24
+ *
25
+ * Who may create one is the gateway's decision, as for AssignUserToSpace. The gateway may
26
+ * let a home's residents invite residents into their own home only, within a limit per
27
+ * home. A caller over that limit is refused as FAILED_PRECONDITION with metadata
28
+ * {"reason": "household_full"}.
29
+ *
30
+ * Whether a RESIDENT invite with no address is a home key or a household invite (see the
31
+ * file header) is decided by who creates it, never asked for: a home key when the caller
32
+ * holds ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN, whether or not they live in the home; a
33
+ * household invite when the caller creates it as a resident of the home.
34
+ *
35
+ * A gateway holds at most 5000 invites whose secrets it reports
36
+ * (reporting.v1.ReportInviteRoutesRequest), used ones included until their secrets
37
+ * expire. Past that, CreateInvite MUST be refused as FAILED_PRECONDITION with metadata
38
+ * {"reason": "too_many_invites"}, so no invite exists that the api-server cannot route.
39
+ *
40
+ * Answered with IssuedInvite.
41
+ *
42
+ * @generated from message kusinta.iot.webrtc.v1.CreateInvite
43
+ */
44
+ export declare type CreateInvite = Message<"kusinta.iot.webrtc.v1.CreateInvite"> & {
45
+ /**
46
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
47
+ */
48
+ spaceId?: SpaceId | undefined;
49
+
50
+ /**
51
+ * @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 2;
52
+ */
53
+ relation: MembershipRelation;
54
+
55
+ /**
56
+ * When set, the invite is bound to this address: only an account whose verified email
57
+ * is this address can redeem it (see RedeemInvite). Compared trimmed and
58
+ * case-insensitively over the whole address, with no other folding.
59
+ *
60
+ * One pending invite per space and address: a second for the same address on the same
61
+ * space is refused as FAILED_PRECONDITION with metadata {"reason": "already_invited",
62
+ * "invite_id": <the pending one>}, so the app can offer to resend that one instead. A
63
+ * household invite and one made by a property owner or an administrator are counted
64
+ * apart, so the refusal never names an invite the caller is not shown (ListSpaceInvites).
65
+ *
66
+ * The gateway keeps the address only while the invite is pending, and drops it once the
67
+ * invite is redeemed, revoked or expired.
68
+ *
69
+ * @generated from field: string email = 3;
70
+ */
71
+ email: string;
72
+
73
+ /**
74
+ * When the technician's access ends, as SetAccessUntil describes it. SERVICE only: set
75
+ * on a RESIDENT invite it is INVALID_REQUEST, as is a time not after now. Unset for no
76
+ * end. Both secrets expire no later than it.
77
+ *
78
+ * It reaches only someone the redeem, or the approval of the join request it makes, makes
79
+ * a technician: a user who held no role but ROLE_RESIDENT before and is not a vouched
80
+ * administrator. For anyone else it is ignored, so an invite can neither
81
+ * shorten nor lengthen a member's access, nor put an end on a property owner or an
82
+ * administrator. A join request the invite makes expires no later than it.
83
+ *
84
+ * @generated from field: google.protobuf.Timestamp access_until = 4;
85
+ */
86
+ accessUntil?: Timestamp | undefined;
87
+ };
88
+
89
+ /**
90
+ * Describes the message kusinta.iot.webrtc.v1.CreateInvite.
91
+ * Use `create(CreateInviteSchema)` to create a new message.
92
+ */
93
+ export declare const CreateInviteSchema: GenMessage<CreateInvite>;
94
+
95
+ /**
96
+ * Gives a pending invite new secrets. The old token and code stop working at once, so
97
+ * only the newest link, code or email does. Both expiries restart from now. Answered
98
+ * with IssuedInvite. An invite's bound address cannot be changed: revoke it and create
99
+ * another.
100
+ *
101
+ * @generated from message kusinta.iot.webrtc.v1.ResendInvite
102
+ */
103
+ export declare type ResendInvite = Message<"kusinta.iot.webrtc.v1.ResendInvite"> & {
104
+ /**
105
+ * @generated from field: string invite_id = 1;
106
+ */
107
+ inviteId: string;
108
+ };
109
+
110
+ /**
111
+ * Describes the message kusinta.iot.webrtc.v1.ResendInvite.
112
+ * Use `create(ResendInviteSchema)` to create a new message.
113
+ */
114
+ export declare const ResendInviteSchema: GenMessage<ResendInvite>;
115
+
116
+ /**
117
+ * Ends a pending invite: neither secret works from now on. Answered with ManagementAck.
118
+ *
119
+ * @generated from message kusinta.iot.webrtc.v1.RevokeInvite
120
+ */
121
+ export declare type RevokeInvite = Message<"kusinta.iot.webrtc.v1.RevokeInvite"> & {
122
+ /**
123
+ * @generated from field: string invite_id = 1;
124
+ */
125
+ inviteId: string;
126
+ };
127
+
128
+ /**
129
+ * Describes the message kusinta.iot.webrtc.v1.RevokeInvite.
130
+ * Use `create(RevokeInviteSchema)` to create a new message.
131
+ */
132
+ export declare const RevokeInviteSchema: GenMessage<RevokeInvite>;
133
+
134
+ /**
135
+ * Records that the email carrying this invite's newest secrets was sent, so the list can
136
+ * say whether it ever left. Sent by the app after the api-server has accepted the email,
137
+ * and again after each resend. Only the time is kept. Answered with ManagementAck.
138
+ *
139
+ * @generated from message kusinta.iot.webrtc.v1.MarkInviteEmailSent
140
+ */
141
+ export declare type MarkInviteEmailSent = Message<"kusinta.iot.webrtc.v1.MarkInviteEmailSent"> & {
142
+ /**
143
+ * @generated from field: string invite_id = 1;
144
+ */
145
+ inviteId: string;
146
+ };
147
+
148
+ /**
149
+ * Describes the message kusinta.iot.webrtc.v1.MarkInviteEmailSent.
150
+ * Use `create(MarkInviteEmailSentSchema)` to create a new message.
151
+ */
152
+ export declare const MarkInviteEmailSentSchema: GenMessage<MarkInviteEmailSent>;
153
+
154
+ /**
155
+ * The pending invites and join requests of a space. Answered with SpaceInvites. Listed
156
+ * only to a caller who may create invites on the space; anyone else is refused as
157
+ * NOT_ENTITLED. A resident is listed only the invites a resident of their home made,
158
+ * and the join requests those made: nothing they cannot act on.
159
+ *
160
+ * A household invite, and the join requests it made, are listed only to the residents of
161
+ * that home, a property owner or an administrator included only if they live there:
162
+ * otherwise Invite.created_by and JoinRequest.invited_by would say where its maker lives.
163
+ *
164
+ * @generated from message kusinta.iot.webrtc.v1.ListSpaceInvites
165
+ */
166
+ export declare type ListSpaceInvites = Message<"kusinta.iot.webrtc.v1.ListSpaceInvites"> & {
167
+ /**
168
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
169
+ */
170
+ spaceId?: SpaceId | undefined;
171
+ };
172
+
173
+ /**
174
+ * Describes the message kusinta.iot.webrtc.v1.ListSpaceInvites.
175
+ * Use `create(ListSpaceInvitesSchema)` to create a new message.
176
+ */
177
+ export declare const ListSpaceInvitesSchema: GenMessage<ListSpaceInvites>;
178
+
179
+ /**
180
+ * Files the person who made a join request on its space, with its relation, and the role
181
+ * that relation gives. Answered with ManagementAck.
182
+ *
183
+ * Who may approve is the gateway's decision, by the kind of invite the request came from
184
+ * (see the file header): for a household invite, a resident of that home alone, and not a
185
+ * property owner or an administrator who does not live there; for a SERVICE invite with no
186
+ * address, whoever may put people on that space. Anyone else is refused as NOT_ENTITLED.
187
+ *
188
+ * @generated from message kusinta.iot.webrtc.v1.ApproveJoinRequest
189
+ */
190
+ export declare type ApproveJoinRequest = Message<"kusinta.iot.webrtc.v1.ApproveJoinRequest"> & {
191
+ /**
192
+ * @generated from field: string request_id = 1;
193
+ */
194
+ requestId: string;
195
+ };
196
+
197
+ /**
198
+ * Describes the message kusinta.iot.webrtc.v1.ApproveJoinRequest.
199
+ * Use `create(ApproveJoinRequestSchema)` to create a new message.
200
+ */
201
+ export declare const ApproveJoinRequestSchema: GenMessage<ApproveJoinRequest>;
202
+
203
+ /**
204
+ * Drops a join request. The person is told nothing beyond never being let in. Answered
205
+ * with ManagementAck. Who may deny is who may approve (ApproveJoinRequest).
206
+ *
207
+ * @generated from message kusinta.iot.webrtc.v1.DenyJoinRequest
208
+ */
209
+ export declare type DenyJoinRequest = Message<"kusinta.iot.webrtc.v1.DenyJoinRequest"> & {
210
+ /**
211
+ * @generated from field: string request_id = 1;
212
+ */
213
+ requestId: string;
214
+ };
215
+
216
+ /**
217
+ * Describes the message kusinta.iot.webrtc.v1.DenyJoinRequest.
218
+ * Use `create(DenyJoinRequestSchema)` to create a new message.
219
+ */
220
+ export declare const DenyJoinRequestSchema: GenMessage<DenyJoinRequest>;
221
+
222
+ /**
223
+ * A pending invite, as listed. Never carries a secret: the gateway does not keep them.
224
+ *
225
+ * @generated from message kusinta.iot.webrtc.v1.Invite
226
+ */
227
+ export declare type Invite = Message<"kusinta.iot.webrtc.v1.Invite"> & {
228
+ /**
229
+ * Minted by the gateway, opaque.
230
+ *
231
+ * @generated from field: string invite_id = 1;
232
+ */
233
+ inviteId: string;
234
+
235
+ /**
236
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
237
+ */
238
+ spaceId?: SpaceId | undefined;
239
+
240
+ /**
241
+ * @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 3;
242
+ */
243
+ relation: MembershipRelation;
244
+
245
+ /**
246
+ * Who created it, and when. A resend changes neither.
247
+ *
248
+ * @generated from field: kusinta.iot.identity.v1.UserId created_by = 4;
249
+ */
250
+ createdBy?: UserId | undefined;
251
+
252
+ /**
253
+ * @generated from field: google.protobuf.Timestamp created_at = 5;
254
+ */
255
+ createdAt?: Timestamp | undefined;
256
+
257
+ /**
258
+ * Until when each secret can be redeemed. The app shows them in local time and never
259
+ * works them out itself. Once both have passed the invite is gone: it is not listed, and
260
+ * the gateway drops it with its address.
261
+ *
262
+ * @generated from field: google.protobuf.Timestamp token_expires_at = 6;
263
+ */
264
+ tokenExpiresAt?: Timestamp | undefined;
265
+
266
+ /**
267
+ * @generated from field: google.protobuf.Timestamp code_expires_at = 7;
268
+ */
269
+ codeExpiresAt?: Timestamp | undefined;
270
+
271
+ /**
272
+ * The address it is bound to; empty when it is bound to none.
273
+ *
274
+ * @generated from field: string email = 8;
275
+ */
276
+ email: string;
277
+
278
+ /**
279
+ * When the email with the newest secrets was sent (MarkInviteEmailSent). Unset when no
280
+ * email was sent since the last resend.
281
+ *
282
+ * @generated from field: google.protobuf.Timestamp email_sent_at = 9;
283
+ */
284
+ emailSentAt?: Timestamp | undefined;
285
+
286
+ /**
287
+ * As CreateInvite.access_until.
288
+ *
289
+ * @generated from field: google.protobuf.Timestamp access_until = 10;
290
+ */
291
+ accessUntil?: Timestamp | undefined;
292
+
293
+ /**
294
+ * What redeeming it does, as the gateway decided when it was created. The gateway MUST
295
+ * set it on every invite it lists or issues.
296
+ *
297
+ * @generated from field: kusinta.iot.webrtc.v1.InviteAdmission admission = 11;
298
+ */
299
+ admission: InviteAdmission;
300
+ };
301
+
302
+ /**
303
+ * Describes the message kusinta.iot.webrtc.v1.Invite.
304
+ * Use `create(InviteSchema)` to create a new message.
305
+ */
306
+ export declare const InviteSchema: GenMessage<Invite>;
307
+
308
+ /**
309
+ * A new invite or a resent one, with its secrets. This is the only time they are told:
310
+ * the gateway keeps only their hashes, and the app does not keep them beyond handing them
311
+ * over.
312
+ *
313
+ * @generated from message kusinta.iot.webrtc.v1.IssuedInvite
314
+ */
315
+ export declare type IssuedInvite = Message<"kusinta.iot.webrtc.v1.IssuedInvite"> & {
316
+ /**
317
+ * @generated from field: kusinta.iot.webrtc.v1.Invite invite = 1;
318
+ */
319
+ invite?: Invite | undefined;
320
+
321
+ /**
322
+ * @generated from field: string token = 2;
323
+ */
324
+ token: string;
325
+
326
+ /**
327
+ * @generated from field: string code = 3;
328
+ */
329
+ code: string;
330
+ };
331
+
332
+ /**
333
+ * Describes the message kusinta.iot.webrtc.v1.IssuedInvite.
334
+ * Use `create(IssuedInviteSchema)` to create a new message.
335
+ */
336
+ export declare const IssuedInviteSchema: GenMessage<IssuedInvite>;
337
+
338
+ /**
339
+ * A person who redeemed an invite that needs approval, waiting for it.
340
+ *
341
+ * @generated from message kusinta.iot.webrtc.v1.JoinRequest
342
+ */
343
+ export declare type JoinRequest = Message<"kusinta.iot.webrtc.v1.JoinRequest"> & {
344
+ /**
345
+ * Minted by the gateway, opaque.
346
+ *
347
+ * @generated from field: string request_id = 1;
348
+ */
349
+ requestId: string;
350
+
351
+ /**
352
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
353
+ */
354
+ spaceId?: SpaceId | undefined;
355
+
356
+ /**
357
+ * @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 3;
358
+ */
359
+ relation: MembershipRelation;
360
+
361
+ /**
362
+ * Who is asking to join, and the display name their account gave when they redeemed.
363
+ *
364
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 4;
365
+ */
366
+ userId?: UserId | undefined;
367
+
368
+ /**
369
+ * @generated from field: string display_name = 5;
370
+ */
371
+ displayName: string;
372
+
373
+ /**
374
+ * Who created the invite that was redeemed.
375
+ *
376
+ * @generated from field: kusinta.iot.identity.v1.UserId invited_by = 6;
377
+ */
378
+ invitedBy?: UserId | undefined;
379
+
380
+ /**
381
+ * @generated from field: google.protobuf.Timestamp requested_at = 7;
382
+ */
383
+ requestedAt?: Timestamp | undefined;
384
+
385
+ /**
386
+ * When the request lapses unanswered, and the gateway drops it as if denied.
387
+ *
388
+ * @generated from field: google.protobuf.Timestamp expires_at = 8;
389
+ */
390
+ expiresAt?: Timestamp | undefined;
391
+
392
+ /**
393
+ * The verified email address of the account asking (signaling.v1.RedeemInvite), shown to
394
+ * whoever may approve the request (ApproveJoinRequest): the household for a household
395
+ * invite, and otherwise those who may put people on the space. A display name is
396
+ * whatever the person chose; this is what lets an approver tell who is really asking. The
397
+ * app tells a person redeeming that their address will be shown so. Kept only while the
398
+ * request is pending.
399
+ *
400
+ * @generated from field: string email = 9;
401
+ */
402
+ email: string;
403
+
404
+ /**
405
+ * The end of access the request asks for: CreateInvite.access_until of the invite that
406
+ * was redeemed, which the approval gives as that field says. Unset for none. The request
407
+ * expires no later than it, so it is never approved once the end has passed.
408
+ *
409
+ * @generated from field: google.protobuf.Timestamp access_until = 10;
410
+ */
411
+ accessUntil?: Timestamp | undefined;
412
+ };
413
+
414
+ /**
415
+ * Describes the message kusinta.iot.webrtc.v1.JoinRequest.
416
+ * Use `create(JoinRequestSchema)` to create a new message.
417
+ */
418
+ export declare const JoinRequestSchema: GenMessage<JoinRequest>;
419
+
420
+ /**
421
+ * What a space is waiting on: its pending invites and its join requests.
422
+ *
423
+ * The answer to ListSpaceInvites, and pushed as GatewayMessage.space_invites whenever
424
+ * either list changes — a create, resend, revoke, redeem, approval, denial or expiry — to
425
+ * every session that may list it, so the app shows the change without reloading. A push
426
+ * always carries the whole of both lists for its space, as ListSpaceInvites would list
427
+ * them to that session: a household invite and its join requests reach only the sessions
428
+ * of that home's residents.
429
+ *
430
+ * @generated from message kusinta.iot.webrtc.v1.SpaceInvites
431
+ */
432
+ export declare type SpaceInvites = Message<"kusinta.iot.webrtc.v1.SpaceInvites"> & {
433
+ /**
434
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
435
+ */
436
+ spaceId?: SpaceId | undefined;
437
+
438
+ /**
439
+ * @generated from field: repeated kusinta.iot.webrtc.v1.Invite invites = 2;
440
+ */
441
+ invites: Invite[];
442
+
443
+ /**
444
+ * @generated from field: repeated kusinta.iot.webrtc.v1.JoinRequest join_requests = 3;
445
+ */
446
+ joinRequests: JoinRequest[];
447
+ };
448
+
449
+ /**
450
+ * Describes the message kusinta.iot.webrtc.v1.SpaceInvites.
451
+ * Use `create(SpaceInvitesSchema)` to create a new message.
452
+ */
453
+ export declare const SpaceInvitesSchema: GenMessage<SpaceInvites>;
454
+
455
+ /**
456
+ * What redeeming an invite does, by its kind (see the file header). Decided by the gateway
457
+ * when the invite is created and told in Invite.admission, so the app can say what
458
+ * redeeming will do before the invite is shared.
459
+ *
460
+ * @generated from enum kusinta.iot.webrtc.v1.InviteAdmission
461
+ */
462
+ export enum InviteAdmission {
463
+ /**
464
+ * Not told. The app reads it as not known, never as any value below.
465
+ *
466
+ * @generated from enum value: INVITE_ADMISSION_UNSPECIFIED = 0;
467
+ */
468
+ UNSPECIFIED = 0,
469
+
470
+ /**
471
+ * Bound to an address: files the person at once if the verified address of their account
472
+ * matches (CreateInvite.email).
473
+ *
474
+ * @generated from enum value: INVITE_ADMISSION_ON_EMAIL_MATCH = 1;
475
+ */
476
+ ON_EMAIL_MATCH = 1,
477
+
478
+ /**
479
+ * A home key: files whoever redeems it on the home at once, with no join request.
480
+ *
481
+ * @generated from enum value: INVITE_ADMISSION_ON_REDEEM = 2;
482
+ */
483
+ ON_REDEEM = 2,
484
+
485
+ /**
486
+ * Makes a join request, and the person is filed only once it is approved
487
+ * (ApproveJoinRequest).
488
+ *
489
+ * @generated from enum value: INVITE_ADMISSION_ON_APPROVAL = 3;
490
+ */
491
+ ON_APPROVAL = 3,
492
+ }
493
+
494
+ /**
495
+ * Describes the enum kusinta.iot.webrtc.v1.InviteAdmission.
496
+ */
497
+ export declare const InviteAdmissionSchema: GenEnum<InviteAdmission>;
498
+