@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
@@ -2,14 +2,17 @@
2
2
  // @generated from file kusinta/iot/signaling/v1/signaling.proto (package kusinta.iot.signaling.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ import { file_kusinta_iot_accountlink_v1_account_link } from "../../accountlink/v1/account_link_pb.js";
8
+ import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
6
9
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
7
10
 
8
11
  /**
9
12
  * Describes the file kusinta/iot/signaling/v1/signaling.proto.
10
13
  */
11
14
  export const file_kusinta_iot_signaling_v1_signaling = /*@__PURE__*/
12
- fileDesc("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCI0ChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCSKhAgoVR2F0ZXdheUNvbm5lY3RSZXF1ZXN0EjcKDnRhcmdldF91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBSABKAkSNQoGYW5zd2VyGAIgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcEFuc3dlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASOAoJaGVhcnRiZWF0GAQgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkhlYXJ0QmVhdEgAQgkKB3BheWxvYWQi5AEKFkdhdGV3YXlDb25uZWN0UmVzcG9uc2USNQoMZnJvbV91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBCABKAkSMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi5wEKElVzZXJDb25uZWN0UmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjwKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlSAASMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi8QEKE1VzZXJDb25uZWN0UmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgEIAEoCRJDCg1oYW5kc2hha2VfYWNrGAEgASgLMioua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VBY2tIABI1CgZhbnN3ZXIYAiABKAsyIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwQW5zd2VySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkQgJIAWIGcHJvdG8z", [file_kusinta_iot_identity_v1_identity]);
15
+ fileDesc("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCJTChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCRIdChVoZWFydGJlYXRfaW50ZXJ2YWxfbXMYAyABKA0isgYKFUdhdGV3YXlDb25uZWN0UmVxdWVzdBI3Cg50YXJnZXRfdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBISCgpzZXNzaW9uX2lkGAUgASgJEjUKBmFuc3dlchgCIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5TZHBBbnN3ZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAEjgKCWhlYXJ0YmVhdBgEIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5IZWFydEJlYXRIABJMChRyZWRlZW1faW52aXRlX3Jlc3VsdBgGIAEoCzIsLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5SZWRlZW1JbnZpdGVSZXN1bHRIABJgCh52b3VjaGVkX2FkbWluaXN0cmF0b3JzX2FwcGxpZWQYByABKAsyNi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVm91Y2hlZEFkbWluaXN0cmF0b3JzQXBwbGllZEgAElQKGHRyYW5zZmVyX291dGNvbWVfYXBwbGllZBgIIAEoCzIwLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5UcmFuc2Zlck91dGNvbWVBcHBsaWVkSAASNwoFd2lwZWQYCSABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheVdpcGVkSAASTAoTYWNjb3VudF9saW5rX3Jlc3VsdBgKIAEoCzItLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkFjY291bnRMaW5rUmVzdWx0SAASQQoNcmVmcmVzaF90b2tlbhgLIAEoCzIoLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLlJlZnJlc2hUb2tlbkgAEj8KDHJldm9rZV90b2tlbhgMIAEoCzInLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLlJldm9rZVRva2VuSABCCQoHcGF5bG9hZCLvBgoWR2F0ZXdheUNvbm5lY3RSZXNwb25zZRI1Cgxmcm9tX3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSEgoKc2Vzc2lvbl9pZBgEIAEoCRIzCgVvZmZlchgCIAEoCzIiLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5TZHBPZmZlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASPwoNcmVkZWVtX2ludml0ZRgFIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5SZWRlZW1JbnZpdGVIABJRChZ2b3VjaGVkX2FkbWluaXN0cmF0b3JzGAYgASgLMi8ua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlZvdWNoZWRBZG1pbmlzdHJhdG9yc0gAEkUKEHRyYW5zZmVyX291dGNvbWUYByABKAsyKS5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVHJhbnNmZXJPdXRjb21lSAASRgoNc3RyZWFtX29wZW5lZBgIIAEoCzItLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5HYXRld2F5U3RyZWFtT3BlbmVkSAASQwoPZ2F0ZXdheV9kZWxldGVkGAkgASgLMigua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlEZWxldGVkSAASQwoOYWNjb3VudF9saW5rZWQYCiABKAsyKS5rdXNpbnRhLmlvdC5hY2NvdW50bGluay52MS5BY2NvdW50TGlua2VkSAASRQoPdG9rZW5fcmVmcmVzaGVkGAsgASgLMioua3VzaW50YS5pb3QuYWNjb3VudGxpbmsudjEuVG9rZW5SZWZyZXNoZWRIABJBCg10b2tlbl9yZXZva2VkGAwgASgLMigua3VzaW50YS5pb3QuYWNjb3VudGxpbmsudjEuVG9rZW5SZXZva2VkSAASUgoWYWNjb3VudF9saW5rX2NhbmNlbGxlZBgNIAEoCzIwLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkFjY291bnRMaW5rQ2FuY2VsbGVkSABCCQoHcGF5bG9hZCJ7CgxSZWRlZW1JbnZpdGUSEgoKcmVxdWVzdF9pZBgBIAEoCRIPCgV0b2tlbhgCIAEoCUgAEg4KBGNvZGUYAyABKAlIABIUCgxkaXNwbGF5X25hbWUYBCABKAkSFgoOdmVyaWZpZWRfZW1haWwYBSABKAlCCAoGc2VjcmV0ImIKElJlZGVlbUludml0ZVJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEjgKB291dGNvbWUYAiABKA4yJy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuUmVkZWVtT3V0Y29tZSIuChNHYXRld2F5U3RyZWFtT3BlbmVkEhcKD293bmVyc2hpcF9lcG9jaBgBIAEoCSJdCg5HYXRld2F5RGVsZXRlZBIXCg9vd25lcnNoaXBfZXBvY2gYASABKAkSMgoFc2NvcGUYAiABKA4yIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuV2lwZVNjb3BlIp4BCgxHYXRld2F5V2lwZWQSFwoPb3duZXJzaGlwX2Vwb2NoGAEgASgJEjIKBXNjb3BlGAIgASgOMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLldpcGVTY29wZRJBCgtsZWZ0X2JlaGluZBgDIAMoCzIsLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5QYWlyaW5nc0xlZnRCZWhpbmQiXgoSUGFpcmluZ3NMZWZ0QmVoaW5kEjIKBGtpbmQYASABKA4yJC5rdXNpbnRhLmlvdC5jb21tb24udjEuQ29ubmVjdG9yS2luZBIUCgxkaXNwbGF5X25hbWUYAiABKAkiqwEKFVZvdWNoZWRBZG1pbmlzdHJhdG9ycxIPCgd2ZXJzaW9uGAEgASgEEjcKDmFkbWluaXN0cmF0b3JzGAIgAygLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhkKEW9yZ2FuaXNhdGlvbl9uYW1lGAMgASgJEi0KCWlzc3VlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwocVm91Y2hlZEFkbWluaXN0cmF0b3JzQXBwbGllZBIPCgd2ZXJzaW9uGAEgASgEIqsBCg9UcmFuc2Zlck91dGNvbWUSEwoLdHJhbnNmZXJfaWQYASABKAkSRwoOYWRtaW5pc3RyYXRvcnMYAiABKAsyLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVm91Y2hlZEFkbWluaXN0cmF0b3JzEjoKCG91dGdvaW5nGAMgAygLMigua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLk91dGdvaW5nQ2hvaWNlIrMBCg5PdXRnb2luZ0Nob2ljZRIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEj0KBmNob2ljZRgCIAEoDjItLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5PdXRnb2luZ1N0YWZmQ2hvaWNlEjAKDGFjY2Vzc191bnRpbBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLQoWVHJhbnNmZXJPdXRjb21lQXBwbGllZBITCgt0cmFuc2Zlcl9pZBgBIAEoCSLnAQoSVXNlckNvbm5lY3RSZXF1ZXN0EhIKCnNlc3Npb25faWQYBCABKAkSPAoJaGFuZHNoYWtlGAEgASgLMicua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VIABIzCgVvZmZlchgCIAEoCzIiLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5TZHBPZmZlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSABCCQoHcGF5bG9hZCKrAgoTVXNlckNvbm5lY3RSZXNwb25zZRISCgpzZXNzaW9uX2lkGAQgASgJEkMKDWhhbmRzaGFrZV9hY2sYASABKAsyKi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVXNlckhhbmRzaGFrZUFja0gAEjUKBmFuc3dlchgCIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5TZHBBbnN3ZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAEjgKCWhlYXJ0YmVhdBgFIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5IZWFydEJlYXRIAEIJCgdwYXlsb2FkIm8KEVVzZXJMaXN0ZW5SZXF1ZXN0EjoKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlEhIKCnNlc3Npb25faWQYBCABKAlKBAgCEANKBAgDEAQiVQoSVXNlckxpc3RlblJlc3BvbnNlEj8KCHJlc3BvbnNlGAEgASgLMi0ua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVzcG9uc2UitwEKD1VzZXJTZW5kUmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjMKBW9mZmVyGAIgASgLMiIua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcE9mZmVySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkSgQIARACUgloYW5kc2hha2UiEgoQVXNlclNlbmRSZXNwb25zZSqtAQoNUmVkZWVtT3V0Y29tZRIeChpSRURFRU1fT1VUQ09NRV9VTlNQRUNJRklFRBAAEhkKFVJFREVFTV9PVVRDT01FX0pPSU5FRBABEiMKH1JFREVFTV9PVVRDT01FX1BFTkRJTkdfQVBQUk9WQUwQAhIaChZSRURFRU1fT1VUQ09NRV9JTlZBTElEEAMSIAocUkVERUVNX09VVENPTUVfV1JPTkdfQUNDT1VOVBAEKmgKCVdpcGVTY29wZRIaChZXSVBFX1NDT1BFX1VOU1BFQ0lGSUVEEAASIQodV0lQRV9TQ09QRV9QRU9QTEVfQU5EX0hJU1RPUlkQARIcChhXSVBFX1NDT1BFX0ZBQ1RPUllfUkVTRVQQAiqLAQoTT3V0Z29pbmdTdGFmZkNob2ljZRIlCiFPVVRHT0lOR19TVEFGRl9DSE9JQ0VfVU5TUEVDSUZJRUQQABIfChtPVVRHT0lOR19TVEFGRl9DSE9JQ0VfTEVBVkUQARIsCihPVVRHT0lOR19TVEFGRl9DSE9JQ0VfU1RBWV9BU19URUNITklDSUFOEAJCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_accountlink_v1_account_link, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
13
16
 
14
17
  /**
15
18
  * Describes the message kusinta.iot.signaling.v1.SdpOffer.
@@ -67,17 +70,173 @@ export const GatewayConnectRequestSchema = /*@__PURE__*/
67
70
  export const GatewayConnectResponseSchema = /*@__PURE__*/
68
71
  messageDesc(file_kusinta_iot_signaling_v1_signaling, 7);
69
72
 
73
+ /**
74
+ * Describes the message kusinta.iot.signaling.v1.RedeemInvite.
75
+ * Use `create(RedeemInviteSchema)` to create a new message.
76
+ */
77
+ export const RedeemInviteSchema = /*@__PURE__*/
78
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 8);
79
+
80
+ /**
81
+ * Describes the message kusinta.iot.signaling.v1.RedeemInviteResult.
82
+ * Use `create(RedeemInviteResultSchema)` to create a new message.
83
+ */
84
+ export const RedeemInviteResultSchema = /*@__PURE__*/
85
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 9);
86
+
87
+ /**
88
+ * Describes the message kusinta.iot.signaling.v1.GatewayStreamOpened.
89
+ * Use `create(GatewayStreamOpenedSchema)` to create a new message.
90
+ */
91
+ export const GatewayStreamOpenedSchema = /*@__PURE__*/
92
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 10);
93
+
94
+ /**
95
+ * Describes the message kusinta.iot.signaling.v1.GatewayDeleted.
96
+ * Use `create(GatewayDeletedSchema)` to create a new message.
97
+ */
98
+ export const GatewayDeletedSchema = /*@__PURE__*/
99
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 11);
100
+
101
+ /**
102
+ * Describes the message kusinta.iot.signaling.v1.GatewayWiped.
103
+ * Use `create(GatewayWipedSchema)` to create a new message.
104
+ */
105
+ export const GatewayWipedSchema = /*@__PURE__*/
106
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 12);
107
+
108
+ /**
109
+ * Describes the message kusinta.iot.signaling.v1.PairingsLeftBehind.
110
+ * Use `create(PairingsLeftBehindSchema)` to create a new message.
111
+ */
112
+ export const PairingsLeftBehindSchema = /*@__PURE__*/
113
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 13);
114
+
115
+ /**
116
+ * Describes the message kusinta.iot.signaling.v1.VouchedAdministrators.
117
+ * Use `create(VouchedAdministratorsSchema)` to create a new message.
118
+ */
119
+ export const VouchedAdministratorsSchema = /*@__PURE__*/
120
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 14);
121
+
122
+ /**
123
+ * Describes the message kusinta.iot.signaling.v1.VouchedAdministratorsApplied.
124
+ * Use `create(VouchedAdministratorsAppliedSchema)` to create a new message.
125
+ */
126
+ export const VouchedAdministratorsAppliedSchema = /*@__PURE__*/
127
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 15);
128
+
129
+ /**
130
+ * Describes the message kusinta.iot.signaling.v1.TransferOutcome.
131
+ * Use `create(TransferOutcomeSchema)` to create a new message.
132
+ */
133
+ export const TransferOutcomeSchema = /*@__PURE__*/
134
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 16);
135
+
136
+ /**
137
+ * Describes the message kusinta.iot.signaling.v1.OutgoingChoice.
138
+ * Use `create(OutgoingChoiceSchema)` to create a new message.
139
+ */
140
+ export const OutgoingChoiceSchema = /*@__PURE__*/
141
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 17);
142
+
143
+ /**
144
+ * Describes the message kusinta.iot.signaling.v1.TransferOutcomeApplied.
145
+ * Use `create(TransferOutcomeAppliedSchema)` to create a new message.
146
+ */
147
+ export const TransferOutcomeAppliedSchema = /*@__PURE__*/
148
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 18);
149
+
70
150
  /**
71
151
  * Describes the message kusinta.iot.signaling.v1.UserConnectRequest.
72
152
  * Use `create(UserConnectRequestSchema)` to create a new message.
73
153
  */
74
154
  export const UserConnectRequestSchema = /*@__PURE__*/
75
- messageDesc(file_kusinta_iot_signaling_v1_signaling, 8);
155
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 19);
76
156
 
77
157
  /**
78
158
  * Describes the message kusinta.iot.signaling.v1.UserConnectResponse.
79
159
  * Use `create(UserConnectResponseSchema)` to create a new message.
80
160
  */
81
161
  export const UserConnectResponseSchema = /*@__PURE__*/
82
- messageDesc(file_kusinta_iot_signaling_v1_signaling, 9);
162
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 20);
163
+
164
+ /**
165
+ * Describes the message kusinta.iot.signaling.v1.UserListenRequest.
166
+ * Use `create(UserListenRequestSchema)` to create a new message.
167
+ */
168
+ export const UserListenRequestSchema = /*@__PURE__*/
169
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 21);
170
+
171
+ /**
172
+ * Describes the message kusinta.iot.signaling.v1.UserListenResponse.
173
+ * Use `create(UserListenResponseSchema)` to create a new message.
174
+ */
175
+ export const UserListenResponseSchema = /*@__PURE__*/
176
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 22);
177
+
178
+ /**
179
+ * Describes the message kusinta.iot.signaling.v1.UserSendRequest.
180
+ * Use `create(UserSendRequestSchema)` to create a new message.
181
+ */
182
+ export const UserSendRequestSchema = /*@__PURE__*/
183
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 23);
184
+
185
+ /**
186
+ * Describes the message kusinta.iot.signaling.v1.UserSendResponse.
187
+ * Use `create(UserSendResponseSchema)` to create a new message.
188
+ */
189
+ export const UserSendResponseSchema = /*@__PURE__*/
190
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 24);
191
+
192
+ /**
193
+ * Describes the enum kusinta.iot.signaling.v1.RedeemOutcome.
194
+ */
195
+ export const RedeemOutcomeSchema = /*@__PURE__*/
196
+ enumDesc(file_kusinta_iot_signaling_v1_signaling, 0);
197
+
198
+ /**
199
+ * What redeeming an invite did, as the gateway decided it.
200
+ *
201
+ * A redeem is idempotent for its user: redeemed again by the same user, for as
202
+ * long as its secret would have lasted unused, a used invite answers JOINED if
203
+ * the user is filed on its space by then, and otherwise as it did the first time
204
+ * — so a denied request still answers PENDING_APPROVAL — except that one which
205
+ * filed the user, who has left that space since, answers INVALID. To anyone
206
+ * else it answers INVALID. So a user who never saw the first answer can safely
207
+ * try again.
208
+ *
209
+ * @generated from enum kusinta.iot.signaling.v1.RedeemOutcome
210
+ */
211
+ export const RedeemOutcome = /*@__PURE__*/
212
+ tsEnum(RedeemOutcomeSchema);
213
+
214
+ /**
215
+ * Describes the enum kusinta.iot.signaling.v1.WipeScope.
216
+ */
217
+ export const WipeScopeSchema = /*@__PURE__*/
218
+ enumDesc(file_kusinta_iot_signaling_v1_signaling, 1);
219
+
220
+ /**
221
+ * How much a wipe takes (GatewayDeleted).
222
+ *
223
+ * @generated from enum kusinta.iot.signaling.v1.WipeScope
224
+ */
225
+ export const WipeScope = /*@__PURE__*/
226
+ tsEnum(WipeScopeSchema);
227
+
228
+ /**
229
+ * Describes the enum kusinta.iot.signaling.v1.OutgoingStaffChoice.
230
+ */
231
+ export const OutgoingStaffChoiceSchema = /*@__PURE__*/
232
+ enumDesc(file_kusinta_iot_signaling_v1_signaling, 2);
233
+
234
+ /**
235
+ * Whether an outgoing staff member leaves the gateway or stays on it as a technician. Chosen
236
+ * per person by the sending organisation's administrator who offered the transfer.
237
+ *
238
+ * @generated from enum kusinta.iot.signaling.v1.OutgoingStaffChoice
239
+ */
240
+ export const OutgoingStaffChoice = /*@__PURE__*/
241
+ tsEnum(OutgoingStaffChoiceSchema);
83
242
 
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
6
- import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema } from "./signaling_pb.js";
6
+ import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema, UserListenRequestSchema, UserListenResponseSchema, UserSendRequestSchema, UserSendResponseSchema } from "./signaling_pb.js";
7
7
 
8
8
  /**
9
9
  * Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
@@ -30,5 +30,28 @@ export declare const GatewaySignalingService: GenService<{
30
30
  input: typeof UserConnectRequestSchema;
31
31
  output: typeof UserConnectResponseSchema;
32
32
  },
33
+ /**
34
+ * Opens the session and its downstream half, for a client whose transport
35
+ * cannot stream a request body and so cannot call UserConnect. The handshake
36
+ * travels in the request; the acknowledgement is the stream's first message.
37
+ *
38
+ * @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserListen
39
+ */
40
+ userListen: {
41
+ methodKind: "server_streaming";
42
+ input: typeof UserListenRequestSchema;
43
+ output: typeof UserListenResponseSchema;
44
+ },
45
+ /**
46
+ * Delivers one upstream message into a session UserListen has already opened.
47
+ * A call naming a session the relay does not hold is refused, not queued.
48
+ *
49
+ * @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserSend
50
+ */
51
+ userSend: {
52
+ methodKind: "unary";
53
+ input: typeof UserSendRequestSchema;
54
+ output: typeof UserSendResponseSchema;
55
+ },
33
56
  }>;
34
57
 
@@ -9,7 +9,7 @@ import { file_kusinta_iot_signaling_v1_signaling } from "./signaling_pb.js";
9
9
  * Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
10
10
  */
11
11
  export const file_kusinta_iot_signaling_v1_signaling_service = /*@__PURE__*/
12
- fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTKCAgoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwAUICSAFiBnByb3RvMw", [file_kusinta_iot_signaling_v1_signaling]);
12
+ fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTLQAwoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwARJpCgpVc2VyTGlzdGVuEisua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXF1ZXN0Giwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXNwb25zZTABEmEKCFVzZXJTZW5kEikua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJTZW5kUmVxdWVzdBoqLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyU2VuZFJlc3BvbnNlQgJIAWIGcHJvdG8z", [file_kusinta_iot_signaling_v1_signaling]);
13
13
 
14
14
  /**
15
15
  * @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
@@ -6,6 +6,8 @@ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
7
  import type { DeviceId, GatewayId, SpaceId, TenantId, UserId } from "../../identity/v1/identity_pb.js";
8
8
  import type { SpaceType } from "../../common/v1/types_pb.js";
9
+ import type { MembershipRelation } from "../../access/v1/roles_pb.js";
10
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
11
 
10
12
  /**
11
13
  * Describes the file kusinta/iot/space/v1/space.proto.
@@ -51,19 +53,27 @@ export declare type Space = Message<"kusinta.iot.space.v1.Space"> & {
51
53
  parentSpaceId?: SpaceId | undefined;
52
54
 
53
55
  /**
56
+ * Filtered to the spaces the caller reaches, as device_ids is.
57
+ *
54
58
  * @generated from field: repeated kusinta.iot.identity.v1.SpaceId sub_space_ids = 7;
55
59
  */
56
60
  subSpaceIds: SpaceId[];
57
61
 
58
62
  /**
63
+ * Filtered to the devices the caller may see (see webrtc.v1.SpaceTree): for service, no
64
+ * device a resident owns.
65
+ *
59
66
  * @generated from field: repeated kusinta.iot.identity.v1.DeviceId device_ids = 8;
60
67
  */
61
68
  deviceIds: DeviceId[];
62
69
 
63
70
  /**
64
- * only for APARTMENT
71
+ * Superseded by members, which can say that more than one person lives in an apartment,
72
+ * and how each member stands to the space. A gateway leaves it unset, so a client that
73
+ * still reads it sees no resident anywhere; read members instead.
65
74
  *
66
- * @generated from field: kusinta.iot.identity.v1.UserId resident_user_id = 9;
75
+ * @generated from field: kusinta.iot.identity.v1.UserId resident_user_id = 9 [deprecated = true];
76
+ * @deprecated
67
77
  */
68
78
  residentUserId?: UserId | undefined;
69
79
 
@@ -76,6 +86,50 @@ export declare type Space = Message<"kusinta.iot.space.v1.Space"> & {
76
86
  * @generated from field: kusinta.iot.identity.v1.GatewayId gateway_id = 11;
77
87
  */
78
88
  gatewayId?: GatewayId | undefined;
89
+
90
+ /**
91
+ * An IANA time zone name, e.g. "Europe/Stockholm". Written on the building — the
92
+ * top-level space. When listing, a gateway fills it on every space with the effective
93
+ * value, inherited from the nearest ancestor that has one, so every listed space
94
+ * carries it. Empty means unknown, not UTC.
95
+ *
96
+ * @generated from field: string time_zone = 12;
97
+ */
98
+ timeZone: string;
99
+
100
+ /**
101
+ * Who is filed directly on this space, and how each stands to it. Members of a space
102
+ * above it are listed there, not here.
103
+ *
104
+ * Filled according to who asks, since a membership list says who lives where:
105
+ *
106
+ * * a caller holding ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN who reaches the space
107
+ * sees every member save as below, in a home they see as service too, as the
108
+ * members change;
109
+ * * a resident of an apartment sees every member filed on it or on its rooms — who they
110
+ * live with, and anyone filed on their home as service, since being filed on a home
111
+ * is an act on it its residents should see. Service reach from a building or floor
112
+ * above is not listed; webrtc.v1.PrivacyDisclosure tells them what kinds of party
113
+ * hold it, and who, without saying where anyone lives;
114
+ * * anyone else sees none, residents of a building or floor included.
115
+ *
116
+ * To a caller who does not live in the home, a RESIDENT member is listed under the
117
+ * residency's id (access.v1.MembershipRelation, RESIDENCY IDS) and never by name, so that
118
+ * a home's residents are told apart from one another and from anyone's other memberships
119
+ * without saying who they are. The people of the home see one another under their user
120
+ * ids.
121
+ *
122
+ * @generated from field: repeated kusinta.iot.space.v1.SpaceMember members = 13;
123
+ */
124
+ members: SpaceMember[];
125
+
126
+ /**
127
+ * Set when members are not listed to this caller, so that an empty list is not read as
128
+ * nobody being filed here.
129
+ *
130
+ * @generated from field: bool members_withheld = 14;
131
+ */
132
+ membersWithheld: boolean;
79
133
  };
80
134
 
81
135
  /**
@@ -84,3 +138,54 @@ export declare type Space = Message<"kusinta.iot.space.v1.Space"> & {
84
138
  */
85
139
  export declare const SpaceSchema: GenMessage<Space>;
86
140
 
141
+ /**
142
+ * One membership of a space.
143
+ *
144
+ * @generated from message kusinta.iot.space.v1.SpaceMember
145
+ */
146
+ export declare type SpaceMember = Message<"kusinta.iot.space.v1.SpaceMember"> & {
147
+ /**
148
+ * The member's user id, or for a RESIDENT member listed to a caller who does not live in
149
+ * the home, the residency's id (Space.members).
150
+ *
151
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
152
+ */
153
+ userId?: UserId | undefined;
154
+
155
+ /**
156
+ * @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 2;
157
+ */
158
+ relation: MembershipRelation;
159
+
160
+ /**
161
+ * The name the member gave, self-chosen and not verified, so the app shows it as the name
162
+ * they gave rather than as an identity. Given to a caller who is a resident of the
163
+ * apartment the member is filed on, or on one of its rooms: the people they live with,
164
+ * and anyone filed on their home as service, whom webrtc.v1.PrivacyDisclosure already
165
+ * names to them. Given also, for a member who is staff (access.v1.Role, STAFF), to a
166
+ * caller holding ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN, as webrtc.v1.MemberDetail.name
167
+ * names them. Empty for every other caller — service, residents of any other home, and a
168
+ * property owner or an administrator for a member who is not staff — and for a member
169
+ * whose name the gateway has not learnt. A caller given names reads an empty one as not
170
+ * known; anyone else is given none. Residents are named only to their own home.
171
+ *
172
+ * @generated from field: string name = 3;
173
+ */
174
+ name: string;
175
+
176
+ /**
177
+ * As webrtc.v1.MemberSpace.since: the start of the day, in the building's time zone, on
178
+ * which this membership began; for a resident, the current unbroken residency. Never finer
179
+ * than a day. Unset where the gateway holds no record of it.
180
+ *
181
+ * @generated from field: google.protobuf.Timestamp since = 4;
182
+ */
183
+ since?: Timestamp | undefined;
184
+ };
185
+
186
+ /**
187
+ * Describes the message kusinta.iot.space.v1.SpaceMember.
188
+ * Use `create(SpaceMemberSchema)` to create a new message.
189
+ */
190
+ export declare const SpaceMemberSchema: GenMessage<SpaceMember>;
191
+
@@ -3,6 +3,8 @@
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ import { file_kusinta_iot_access_v1_roles } from "../../access/v1/roles_pb.js";
6
8
  import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
7
9
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
8
10
 
@@ -10,7 +12,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
10
12
  * Describes the file kusinta/iot/space/v1/space.proto.
11
13
  */
12
14
  export const file_kusinta_iot_space_v1_space = /*@__PURE__*/
13
- fileDesc("CiBrdXNpbnRhL2lvdC9zcGFjZS92MS9zcGFjZS5wcm90bxIUa3VzaW50YS5pb3Quc3BhY2UudjEi9wMKBVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI0CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEg0KBWZsb29yGAUgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgGIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNwoNc3ViX3NwYWNlX2lkcxgHIAMoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoKZGV2aWNlX2lkcxgIIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjkKEHJlc2lkZW50X3VzZXJfaWQYCSABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSNAoJdGVuYW50X2lkGAogASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVGVuYW50SWQSNgoKZ2F0ZXdheV9pZBgLIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZEICSAFiBnByb3RvMw", [file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
15
+ fileDesc("CiBrdXNpbnRhL2lvdC9zcGFjZS92MS9zcGFjZS5wcm90bxIUa3VzaW50YS5pb3Quc3BhY2UudjEi3AQKBVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI0CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEg0KBWZsb29yGAUgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgGIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNwoNc3ViX3NwYWNlX2lkcxgHIAMoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoKZGV2aWNlX2lkcxgIIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KEHJlc2lkZW50X3VzZXJfaWQYCSABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWRCAhgBEjQKCXRlbmFudF9pZBgKIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlRlbmFudElkEjYKCmdhdGV3YXlfaWQYCyABKAsyIi5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5HYXRld2F5SWQSEQoJdGltZV96b25lGAwgASgJEjIKB21lbWJlcnMYDSADKAsyIS5rdXNpbnRhLmlvdC5zcGFjZS52MS5TcGFjZU1lbWJlchIYChBtZW1iZXJzX3dpdGhoZWxkGA4gASgIIrUBCgtTcGFjZU1lbWJlchIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjsKCHJlbGF0aW9uGAIgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbhIMCgRuYW1lGAMgASgJEikKBXNpbmNlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
14
16
 
15
17
  /**
16
18
  * Describes the message kusinta.iot.space.v1.Space.
@@ -19,3 +21,10 @@ export const file_kusinta_iot_space_v1_space = /*@__PURE__*/
19
21
  export const SpaceSchema = /*@__PURE__*/
20
22
  messageDesc(file_kusinta_iot_space_v1_space, 0);
21
23
 
24
+ /**
25
+ * Describes the message kusinta.iot.space.v1.SpaceMember.
26
+ * Use `create(SpaceMemberSchema)` to create a new message.
27
+ */
28
+ export const SpaceMemberSchema = /*@__PURE__*/
29
+ messageDesc(file_kusinta_iot_space_v1_space, 1);
30
+
@@ -71,11 +71,12 @@ export declare type HmThermostatProps = Message<"kusinta.iot.vendor.homematic.v1
71
71
  boostMode?: boolean | undefined;
72
72
 
73
73
  /**
74
- * Minutes remaining, 0-2048. Integer on the CCU — it counts whole minutes.
74
+ * Seconds remaining, 0-2048 — the CCU counts boost in whole seconds, not minutes.
75
+ * Default boost is 5 min (300), maximum 30 min (1800).
75
76
  *
76
- * @generated from field: optional uint32 boost_time_period = 2;
77
+ * @generated from field: optional uint32 boost_time_remaining = 2;
77
78
  */
78
- boostTimePeriod?: number | undefined;
79
+ boostTimeRemaining?: number | undefined;
79
80
 
80
81
  /**
81
82
  * Write-only on the CCU: it accepts a ControlMode and never reports one back. Carried
@@ -235,6 +236,21 @@ export declare type HmMaintenanceProps = Message<"kusinta.iot.vendor.homematic.v
235
236
  * @generated from field: optional bool config_pending = 7;
236
237
  */
237
238
  configPending?: boolean | undefined;
239
+
240
+ /**
241
+ * True while the device has spent its share of the radio band's transmit budget and
242
+ * must wait before sending again. The 868 MHz band permits roughly one percent duty
243
+ * cycle, and it regenerates at about that rate per half minute.
244
+ *
245
+ * Worth carrying rather than leaving to the connector, because a spent budget is
246
+ * indistinguishable from a working device that simply has nothing to say: it stays
247
+ * reachable, reports no error, and silently drops what it was asked to do. Anything
248
+ * that writes on a schedule needs to be able to see this before it concludes a device
249
+ * is ignoring it.
250
+ *
251
+ * @generated from field: optional bool duty_cycle = 8;
252
+ */
253
+ dutyCycle?: boolean | undefined;
238
254
  };
239
255
 
240
256
  /**
@@ -9,7 +9,7 @@ import { file_kusinta_iot_vendor_v1_vendor_options } from "../../v1/vendor_optio
9
9
  * Describes the file kusinta/iot/vendor/homematic/v1/homematic.proto.
10
10
  */
11
11
  export const file_kusinta_iot_vendor_homematic_v1_homematic = /*@__PURE__*/
12
- fileDesc("Ci9rdXNpbnRhL2lvdC92ZW5kb3IvaG9tZW1hdGljL3YxL2hvbWVtYXRpYy5wcm90bxIfa3VzaW50YS5pb3QudmVuZG9yLmhvbWVtYXRpYy52MSI4ChdIb21lbWF0aWNEZXZpY2VJZGVudGl0eRIPCgdhZGRyZXNzGAEgASgJEgwKBHR5cGUYAiABKAki5gYKEUhtVGhlcm1vc3RhdFByb3BzEisKCmJvb3N0X21vZGUYASABKAhCEqK1GApCT09TVF9NT0RF0LUYBkgAiAEBEjIKEWJvb3N0X3RpbWVfcGVyaW9kGAIgASgNQhKitRgKQk9PU1RfVElNRdC1GAVIAYgBARIvCgxjb250cm9sX21vZGUYAyABKA1CFKK1GAxDT05UUk9MX01PREXQtRgCSAKIAQESNwoQZnJvc3RfcHJvdGVjdGlvbhgEIAEoCEIYorUYEEZST1NUX1BST1RFQ1RJT07QtRgFSAOIAQESKwoKcGFydHlfbW9kZRgFIAEoCEISorUYClBBUlRZX01PREXQtRgFSASIAQESLwoMd2luZG93X3N0YXRlGAcgASgNQhSitRgMV0lORE9XX1NUQVRF0LUYB0gFiAEBEi0KC3ZhbHZlX3N0YXRlGAggASgNQhOitRgLVkFMVkVfU1RBVEXQtRgFSAaIAQESMwoOc2V0X3BvaW50X21vZGUYCSABKA1CFqK1GA5TRVRfUE9JTlRfTU9ERdC1GAdIB4gBARIzCg5hY3RpdmVfcHJvZmlsZRgKIAEoDUIWorUYDkFDVElWRV9QUk9GSUxF0LUYB0gIiAEBEkkKGWFjdHVhbF90ZW1wZXJhdHVyZV9zdGF0dXMYCyABKA1CIaK1GBlBQ1RVQUxfVEVNUEVSQVRVUkVfU1RBVFVT0LUYBUgJiAEBEjMKDnZhbHZlX2FkYXB0aW9uGAwgASgIQhaitRgOVkFMVkVfQURBUFRJT07QtRgHSAqIAQE6GKq1GBRob21lbWF0aWMudGhlcm1vc3RhdEINCgtfYm9vc3RfbW9kZUIUChJfYm9vc3RfdGltZV9wZXJpb2RCDwoNX2NvbnRyb2xfbW9kZUITChFfZnJvc3RfcHJvdGVjdGlvbkINCgtfcGFydHlfbW9kZUIPCg1fd2luZG93X3N0YXRlQg4KDF92YWx2ZV9zdGF0ZUIRCg9fc2V0X3BvaW50X21vZGVCEQoPX2FjdGl2ZV9wcm9maWxlQhwKGl9hY3R1YWxfdGVtcGVyYXR1cmVfc3RhdHVzQhEKD192YWx2ZV9hZGFwdGlvbkoECAYQB1IFbGV2ZWxSFmN1cnJlbnRfcHJvZmlsZV9wZXJpb2Qi+gMKEkhtTWFpbnRlbmFuY2VQcm9wcxIrCgplcnJvcl9jb2RlGAEgASgNQhKitRgKRVJST1JfQ09ERdC1GAVIAIgBARInCghzYWJvdGFnZRgCIAEoCEIQorUYCFNBQk9UQUdF0LUYBUgBiAEBEi0KC3Jzc2lfZGV2aWNlGAMgASgRQhOitRgLUlNTSV9ERVZJQ0XQtRgFSAKIAQESKQoJcnNzaV9wZWVyGAQgASgRQhGitRgJUlNTSV9QRUVS0LUYBUgDiAEBEkcKGG9wZXJhdGluZ192b2x0YWdlX3N0YXR1cxgFIAEoDUIgorUYGE9QRVJBVElOR19WT0xUQUdFX1NUQVRVU9C1GAVIBIgBARIlCgd1bnJlYWNoGAYgASgIQg+itRgHVU5SRUFDSNC1GAVIBYgBARIzCg5jb25maWdfcGVuZGluZxgHIAEoCEIWorUYDkNPTkZJR19QRU5ESU5H0LUYBUgGiAEBOhmqtRgVaG9tZW1hdGljLm1haW50ZW5hbmNlQg0KC19lcnJvcl9jb2RlQgsKCV9zYWJvdGFnZUIOCgxfcnNzaV9kZXZpY2VCDAoKX3Jzc2lfcGVlckIbChlfb3BlcmF0aW5nX3ZvbHRhZ2Vfc3RhdHVzQgoKCF91bnJlYWNoQhEKD19jb25maWdfcGVuZGluZ0ICSAFiBnByb3RvMw", [file_kusinta_iot_vendor_v1_vendor_options]);
12
+ fileDesc("Ci9rdXNpbnRhL2lvdC92ZW5kb3IvaG9tZW1hdGljL3YxL2hvbWVtYXRpYy5wcm90bxIfa3VzaW50YS5pb3QudmVuZG9yLmhvbWVtYXRpYy52MSI4ChdIb21lbWF0aWNEZXZpY2VJZGVudGl0eRIPCgdhZGRyZXNzGAEgASgJEgwKBHR5cGUYAiABKAki/wYKEUhtVGhlcm1vc3RhdFByb3BzEisKCmJvb3N0X21vZGUYASABKAhCEqK1GApCT09TVF9NT0RF0LUYBkgAiAEBEjUKFGJvb3N0X3RpbWVfcmVtYWluaW5nGAIgASgNQhKitRgKQk9PU1RfVElNRdC1GAVIAYgBARIvCgxjb250cm9sX21vZGUYAyABKA1CFKK1GAxDT05UUk9MX01PREXQtRgCSAKIAQESNwoQZnJvc3RfcHJvdGVjdGlvbhgEIAEoCEIYorUYEEZST1NUX1BST1RFQ1RJT07QtRgFSAOIAQESKwoKcGFydHlfbW9kZRgFIAEoCEISorUYClBBUlRZX01PREXQtRgFSASIAQESLwoMd2luZG93X3N0YXRlGAcgASgNQhSitRgMV0lORE9XX1NUQVRF0LUYB0gFiAEBEi0KC3ZhbHZlX3N0YXRlGAggASgNQhOitRgLVkFMVkVfU1RBVEXQtRgFSAaIAQESMwoOc2V0X3BvaW50X21vZGUYCSABKA1CFqK1GA5TRVRfUE9JTlRfTU9ERdC1GAdIB4gBARIzCg5hY3RpdmVfcHJvZmlsZRgKIAEoDUIWorUYDkFDVElWRV9QUk9GSUxF0LUYB0gIiAEBEkkKGWFjdHVhbF90ZW1wZXJhdHVyZV9zdGF0dXMYCyABKA1CIaK1GBlBQ1RVQUxfVEVNUEVSQVRVUkVfU1RBVFVT0LUYBUgJiAEBEjMKDnZhbHZlX2FkYXB0aW9uGAwgASgIQhaitRgOVkFMVkVfQURBUFRJT07QtRgHSAqIAQE6GKq1GBRob21lbWF0aWMudGhlcm1vc3RhdEINCgtfYm9vc3RfbW9kZUIXChVfYm9vc3RfdGltZV9yZW1haW5pbmdCDwoNX2NvbnRyb2xfbW9kZUITChFfZnJvc3RfcHJvdGVjdGlvbkINCgtfcGFydHlfbW9kZUIPCg1fd2luZG93X3N0YXRlQg4KDF92YWx2ZV9zdGF0ZUIRCg9fc2V0X3BvaW50X21vZGVCEQoPX2FjdGl2ZV9wcm9maWxlQhwKGl9hY3R1YWxfdGVtcGVyYXR1cmVfc3RhdHVzQhEKD192YWx2ZV9hZGFwdGlvbkoECAYQB1IFbGV2ZWxSFmN1cnJlbnRfcHJvZmlsZV9wZXJpb2RSEWJvb3N0X3RpbWVfcGVyaW9kIrYEChJIbU1haW50ZW5hbmNlUHJvcHMSKwoKZXJyb3JfY29kZRgBIAEoDUISorUYCkVSUk9SX0NPREXQtRgFSACIAQESJwoIc2Fib3RhZ2UYAiABKAhCEKK1GAhTQUJPVEFHRdC1GAVIAYgBARItCgtyc3NpX2RldmljZRgDIAEoEUITorUYC1JTU0lfREVWSUNF0LUYBUgCiAEBEikKCXJzc2lfcGVlchgEIAEoEUIRorUYCVJTU0lfUEVFUtC1GAVIA4gBARJHChhvcGVyYXRpbmdfdm9sdGFnZV9zdGF0dXMYBSABKA1CIKK1GBhPUEVSQVRJTkdfVk9MVEFHRV9TVEFUVVPQtRgFSASIAQESJQoHdW5yZWFjaBgGIAEoCEIPorUYB1VOUkVBQ0jQtRgFSAWIAQESMwoOY29uZmlnX3BlbmRpbmcYByABKAhCFqK1GA5DT05GSUdfUEVORElOR9C1GAVIBogBARIrCgpkdXR5X2N5Y2xlGAggASgIQhKitRgKRFVUWV9DWUNMRdC1GAVIB4gBAToZqrUYFWhvbWVtYXRpYy5tYWludGVuYW5jZUINCgtfZXJyb3JfY29kZUILCglfc2Fib3RhZ2VCDgoMX3Jzc2lfZGV2aWNlQgwKCl9yc3NpX3BlZXJCGwoZX29wZXJhdGluZ192b2x0YWdlX3N0YXR1c0IKCghfdW5yZWFjaEIRCg9fY29uZmlnX3BlbmRpbmdCDQoLX2R1dHlfY3ljbGVCAkgBYgZwcm90bzM", [file_kusinta_iot_vendor_v1_vendor_options]);
13
13
 
14
14
  /**
15
15
  * Describes the message kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity.
@@ -0,0 +1,69 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/vendor/lorawan/v1/lorawan.proto (package kusinta.iot.vendor.lorawan.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/vendor/lorawan/v1/lorawan.proto.
10
+ */
11
+ export declare const file_kusinta_iot_vendor_lorawan_v1_lorawan: GenFile;
12
+
13
+ /**
14
+ * What a LoRaWAN network server needs to admit a device, carried in the `lorawan`
15
+ * arm of webrtc.v1.ProvisionDevice.credentials. A provisioning arm per technology,
16
+ * not a flat set of fields shared across them, so the next technology to be
17
+ * provisioned does not turn a message into a bag of optionals named after this one.
18
+ *
19
+ * These are onboarding credentials, not device readings: this message is never an
20
+ * Endpoint vendor extension and carries no vendor_extension option, unlike the
21
+ * vendor.homematic.v1 property messages.
22
+ *
23
+ * @generated from message kusinta.iot.vendor.lorawan.v1.LorawanProvisioning
24
+ */
25
+ export declare type LorawanProvisioning = Message<"kusinta.iot.vendor.lorawan.v1.LorawanProvisioning"> & {
26
+ /**
27
+ * The device's globally unique identifier, sixteen hex characters as printed on
28
+ * the label. This is also what the device is claimed by — the connector derives
29
+ * the device id from it and reports it as DeviceDescriptor.serial_number — so a
30
+ * device can be claimed by its label before it has ever joined.
31
+ *
32
+ * @generated from field: string dev_eui = 1;
33
+ */
34
+ devEui: string;
35
+
36
+ /**
37
+ * The application root key: the secret every session key is derived from, thirty-
38
+ * two hex characters. Not an identifier, and handled unlike every other field
39
+ * here — carried only over the authenticated app-to-gateway leg, held in the
40
+ * secret store where a key is generated or kept, never logged, never persisted
41
+ * beyond the write that registers the device, and never echoed back in any
42
+ * listing.
43
+ *
44
+ * It is on the wire at all because the first supported devices leave no choice:
45
+ * their key is fixed in the factory and printed on the label, so a network server
46
+ * cannot generate one and have the device adopt it. A device that can be
47
+ * reprogrammed with a server-generated key would leave this empty and have the
48
+ * registry mint it instead.
49
+ *
50
+ * @generated from field: string app_key = 2;
51
+ */
52
+ appKey: string;
53
+
54
+ /**
55
+ * The join identifier (JoinEUI/AppEUI), sixteen hex characters. Optional: many
56
+ * deployments accept the default a device ships with, and only a network server
57
+ * that pins it needs the value stated here.
58
+ *
59
+ * @generated from field: optional string join_eui = 3;
60
+ */
61
+ joinEui?: string | undefined;
62
+ };
63
+
64
+ /**
65
+ * Describes the message kusinta.iot.vendor.lorawan.v1.LorawanProvisioning.
66
+ * Use `create(LorawanProvisioningSchema)` to create a new message.
67
+ */
68
+ export declare const LorawanProvisioningSchema: GenMessage<LorawanProvisioning>;
69
+
@@ -0,0 +1,19 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/vendor/lorawan/v1/lorawan.proto (package kusinta.iot.vendor.lorawan.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+
7
+ /**
8
+ * Describes the file kusinta/iot/vendor/lorawan/v1/lorawan.proto.
9
+ */
10
+ export const file_kusinta_iot_vendor_lorawan_v1_lorawan = /*@__PURE__*/
11
+ fileDesc("CitrdXNpbnRhL2lvdC92ZW5kb3IvbG9yYXdhbi92MS9sb3Jhd2FuLnByb3RvEh1rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MSJbChNMb3Jhd2FuUHJvdmlzaW9uaW5nEg8KB2Rldl9ldWkYASABKAkSDwoHYXBwX2tleRgCIAEoCRIVCghqb2luX2V1aRgDIAEoCUgAiAEBQgsKCV9qb2luX2V1aUICSAFiBnByb3RvMw");
12
+
13
+ /**
14
+ * Describes the message kusinta.iot.vendor.lorawan.v1.LorawanProvisioning.
15
+ * Use `create(LorawanProvisioningSchema)` to create a new message.
16
+ */
17
+ export const LorawanProvisioningSchema = /*@__PURE__*/
18
+ messageDesc(file_kusinta_iot_vendor_lorawan_v1_lorawan, 0);
19
+
@@ -50,11 +50,11 @@ export declare const vendor_attribute_capabilities: GenExtension<FieldOptions, n
50
50
  /**
51
51
  * The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
52
52
  * Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
53
- * the Endpoint.vendor_properties case.
53
+ * the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio".
54
54
  *
55
- * One key per message carried in Endpoint.vendor_properties, so the vendor branch of the
56
- * resolution rule is the same shape as the Matter branch: pick a message by a message
57
- * option, then one field by a field option. Nothing nests.
55
+ * One key per message carried in Endpoint.vendor_properties or radio_link, so the vendor
56
+ * branch of the resolution rule is the same shape as the Matter branch: pick a message
57
+ * by a message option, then one field by a field option. Nothing nests.
58
58
  *
59
59
  * Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
60
60
  * "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The
@@ -53,11 +53,11 @@ export const vendor_attribute_capabilities = /*@__PURE__*/
53
53
  /**
54
54
  * The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
55
55
  * Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
56
- * the Endpoint.vendor_properties case.
56
+ * the Endpoint.vendor_properties case — or Endpoint.radio_link, for "kusinta.radio".
57
57
  *
58
- * One key per message carried in Endpoint.vendor_properties, so the vendor branch of the
59
- * resolution rule is the same shape as the Matter branch: pick a message by a message
60
- * option, then one field by a field option. Nothing nests.
58
+ * One key per message carried in Endpoint.vendor_properties or radio_link, so the vendor
59
+ * branch of the resolution rule is the same shape as the Matter branch: pick a message
60
+ * by a message option, then one field by a field option. Nothing nests.
61
61
  *
62
62
  * Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
63
63
  * "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The