@kusinta/iot-schema 0.2.0-beta.6 → 0.2.0-beta.61

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 (73) hide show
  1. package/package.json +44 -29
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +146 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +19 -2
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +160 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +128 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +591 -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 +1695 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +292 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1643 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +339 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +24 -4
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +1 -1
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +235 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +84 -2
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +713 -3
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +107 -16
  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 +32 -4
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +89 -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 +444 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +74 -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 +46 -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 +659 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +119 -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/planning/v1/planning_pb.d.ts +199 -0
  35. package/src/kusinta/iot/planning/v1/planning_pb.js +48 -0
  36. package/src/kusinta/iot/planning/v1/planning_service_pb.d.ts +121 -0
  37. package/src/kusinta/iot/planning/v1/planning_service_pb.js +38 -0
  38. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  39. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  40. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1263 -0
  41. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  42. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  43. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  44. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +939 -7
  45. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  46. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  47. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  48. package/src/kusinta/iot/space/v1/space_pb.d.ts +218 -3
  49. package/src/kusinta/iot/space/v1/space_pb.js +25 -2
  50. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +15 -0
  51. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  52. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  53. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  54. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +5 -4
  55. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
  56. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  57. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  58. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  59. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  60. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  61. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +34 -5
  62. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +603 -13
  63. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +61 -4
  64. package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +613 -0
  65. package/src/kusinta/iot/webrtc/v1/household_pb.js +134 -0
  66. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +502 -0
  67. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  68. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +2595 -75
  69. package/src/kusinta/iot/webrtc/v1/management_pb.js +382 -5
  70. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +582 -0
  71. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  72. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  73. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +9 -1
@@ -0,0 +1,339 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/commissioning/v1/commissioning.proto (package kusinta.iot.commissioning.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
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_device_v1_cluster_state } from "../../device/v1/cluster_state_pb.js";
8
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
9
+
10
+ /**
11
+ * Describes the file kusinta/iot/commissioning/v1/commissioning.proto.
12
+ */
13
+ export const file_kusinta_iot_commissioning_v1_commissioning = /*@__PURE__*/
14
+ fileDesc("CjBrdXNpbnRhL2lvdC9jb21taXNzaW9uaW5nL3YxL2NvbW1pc3Npb25pbmcucHJvdG8SHGt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEizwEKClByb3ZlbmFuY2USMgoFcGFydHkYASABKA4yIy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlBhcnR5EjgKCGV2aWRlbmNlGAIgASgOMiYua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5FdmlkZW5jZRImCgJhdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoCYnkYBCABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQiLgoKQmluZGluZ1JlZhIRCglyZWNvcmRfaWQYASABKAkSDQoFZmllbGQYAiABKAkiMwoLVGVtcGxhdGVSZWYSEwoLdGVtcGxhdGVfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoDSL0BAoRQ29tbWlzc2lvbmluZ0ZhY3QSDwoHZmFjdF9pZBgBIAEoCRIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSEQoJcmVjb3JkX2lkGAMgASgJEgsKA2tleRgEIAEoCRI2CgV2YWx1ZRgFIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZUgAEhEKB3Vua25vd24YBiABKAhIABI1CghhbnN3ZXJlchgHIAEoDjIjLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuUGFydHkSOgoJbmVjZXNzaXR5GAggASgOMicua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5OZWNlc3NpdHkSNgoHZmVhdHVyZRgJIAEoDjIlLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZRI8Cgpwcm92ZW5hbmNlGAogASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Qcm92ZW5hbmNlEhAKCHJldmlzaW9uGA0gASgEEkAKDWRldmlhdGVzX2Zyb20YDyABKAsyKS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlbXBsYXRlUmVmEjYKBXRvcGljGBAgASgOMicua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5GYWN0VG9waWNCCAoGYW5zd2VySgQICxANSgQIDhAPUgVzY29wZVIQdGVtcGxhdGVfdmVyc2lvblILdGVtcGxhdGVfaWQiegoMVGVtcGxhdGVGYWN0EgsKA2tleRgBIAEoCRIVCg1zdWJqZWN0X2xhYmVsGAIgASgJEjQKBXZhbHVlGAMgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlSgQIBBAFUgpwcm92ZW5hbmNlIvMBCg1Ib3VzZVRlbXBsYXRlEhMKC3RlbXBsYXRlX2lkGAEgASgJEjUKC2J1aWxkaW5nX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIMCgRuYW1lGAMgASgJEg8KB3ZlcnNpb24YBCABKA0SOQoFZmFjdHMYBSADKAsyKi5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlbXBsYXRlRmFjdBI8Cgpwcm92ZW5hbmNlGAYgASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Qcm92ZW5hbmNlItsCCgROZWVkEhIKCGZhY3Rfa2V5GAEgASgJSAASNgoEdGVzdBgCIAEoDjImLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuVGVzdEtpbmRIABIyCghzcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoIYW5zd2VyZXIYBSABKA4yIy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlBhcnR5EjkKB2JpbmRpbmcYByABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWYSOwoKZmFjdF90b3BpYxgIIAEoDjInLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmFjdFRvcGljQgYKBHdoYXRKBAgEEAVKBAgGEAdSCXJlY29yZF9pZFIFZmllbGQi2AEKDEZlYXR1cmVCbG9jaxI5CgZyZWFzb24YASABKA4yKS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJsb2NrUmVhc29uEjQKCWRldmljZV9pZBgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjkKB2JpbmRpbmcYBSABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWZKBAgCEANKBAgEEAVSCXJlY29yZF9pZFIFZmllbGQi8QEKDUZlYXR1cmVTdGF0dXMSNgoHZmVhdHVyZRgBIAEoDjIlLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZRI5CgVzdGF0ZRgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZVN0YXRlEjEKBW5lZWRzGAMgAygLMiIua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5OZWVkEjoKBmJsb2NrcxgEIAMoCzIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuRmVhdHVyZUJsb2NrIqYFChFDb21taXNzaW9uaW5nVGVzdBIPCgd0ZXN0X2lkGAEgASgJEjQKBGtpbmQYAiABKA4yJi5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlc3RLaW5kEjkKB2JpbmRpbmcYDSABKAsyKC5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkJpbmRpbmdSZWYSNAoJZGV2aWNlX2lkGAUgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSNgoFc3RhdGUYBiABKA4yJy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlRlc3RTdGF0ZRI6CgdmYWlsdXJlGAcgASgOMikua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5UZXN0RmFpbHVyZRIuCgpzdGFydGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgdlbmRzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtmaW5pc2hlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPAoKcHJvdmVuYW5jZRgLIAEoCzIoLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuUHJvdmVuYW5jZRISCgpzdXBlcnNlZGVkGAwgASgIEi8KC2NvbmNsdWRlX2J5GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI8CghldmlkZW5jZRgPIAMoCzIqLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuVGVzdEV2aWRlbmNlSgQIAxAFUglyZWNvcmRfaWRSBWZpZWxkIl8KDFRlc3RFdmlkZW5jZRIPCgdyZWFkaW5nGAEgASgJEg0KBXZhbHVlGAIgASgSEi8KC29ic2VydmVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKvAwoUQ29tbWlzc2lvbmluZ1Byb2ZpbGUSMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj4KBWZhY3RzGAIgAygLMi8ua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Db21taXNzaW9uaW5nRmFjdBI+CgV0ZXN0cxgDIAMoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3QSPQoIZmVhdHVyZXMYBCADKAsyKy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkZlYXR1cmVTdGF0dXMSPQoIdGVtcGxhdGUYBiABKAsyKy5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkhvdXNlVGVtcGxhdGUSFgoObmVlZHNfd2l0aGhlbGQYByABKAgSOgoKbW9kZWxfZml0cxgIIAMoCzImLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuTW9kZWxGaXRKBAgFEAZSC3RlbXBsYXRlX2lkItUBCghNb2RlbEZpdBIzCgdyb29tX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhcKDWZsb29yX3pvbmVfaWQYAiABKAlIABI4CgRiYW5kGAMgASgOMioua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Nb2RlbEZpdEJhbmQSNgoDZ2FwGAQgASgOMikua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Nb2RlbEZpdEdhcEIJCgdzdWJqZWN0IosBCglIb21lU2V0dXASMQoHaG9tZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDgoGc2V0X3VwGAIgASgIEjsKB21pc3NpbmcYAyADKA4yKi5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLlNldHVwTWlzc2luZyJECgpIb21lU2V0dXBzEjYKBWhvbWVzGAEgAygLMicua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Ib21lU2V0dXAi4gEKE0NvbW1pc3Npb25pbmdSZWNvcmQSPwoEZmFjdBgBIAEoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ0ZhY3RIABI/CgR0ZXN0GAIgASgLMi8ua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Db21taXNzaW9uaW5nVGVzdEgAEj8KCHRlbXBsYXRlGAMgASgLMisua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Ib3VzZVRlbXBsYXRlSABCCAoGcmVjb3JkIo8EChJDb21taXNzaW9uaW5nR3JhbnQSEAoIZ3JhbnRfaWQYASABKAkSMgoIc3BhY2VfaWQYAiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjIKCWluc3RhbGxlchgDIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIWCg5pbnN0YWxsZXJfbmFtZRgEIAEoCRJECgVzdGF0ZRgFIAEoDjI1Lmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ0dyYW50U3RhdGUSMAoMcmVxdWVzdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBItCglzdGFydHNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCmdyYW50ZWRfYnkYCiABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSLgoKZ3JhbnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiiwEKE0NvbW1pc3Npb25pbmdHcmFudHMSMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEkAKBmdyYW50cxgCIAMoCzIwLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ0dyYW50Ir8BChhDb21taXNzaW9uaW5nR3JhbnRSZWNvcmQSFgoOaW5zdGFsbGVyX25hbWUYASABKAkSLgoKZ3JhbnRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJc3RhcnRzX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqewoFUGFydHkSFQoRUEFSVFlfVU5TUEVDSUZJRUQQABIcChhQQVJUWV9PV05FUl9PUkdBTklTQVRJT04QARITCg9QQVJUWV9IT1VTRUhPTEQQAhITCg9QQVJUWV9JTlNUQUxMRVIQAxITCg9QQVJUWV9BVVRPTUFUSUMQBCpxCglOZWNlc3NpdHkSGQoVTkVDRVNTSVRZX1VOU1BFQ0lGSUVEEAASFgoSTkVDRVNTSVRZX1JFUVVJUkVEEAESGQoVTkVDRVNTSVRZX0ZPUl9GRUFUVVJFEAISFgoSTkVDRVNTSVRZX09QVElPTkFMEAMqqAEKCEV2aWRlbmNlEhgKFEVWSURFTkNFX1VOU1BFQ0lGSUVEEAASEwoPRVZJREVOQ0VfU1RBVEVEEAESEgoORVZJREVOQ0VfUEhPVE8QAhIUChBFVklERU5DRV9EUkFXSU5HEAMSFgoSRVZJREVOQ0VfSU5TUEVDVEVEEAQSFQoRRVZJREVOQ0VfTUVBU1VSRUQQBRIUChBFVklERU5DRV9ERVJJVkVEEAYqoAIKCUZhY3RUb3BpYxIaChZGQUNUX1RPUElDX1VOU1BFQ0lGSUVEEAASFwoTRkFDVF9UT1BJQ19CVUlMRElORxABEhQKEEZBQ1RfVE9QSUNfUk9PTVMQAhIaChZGQUNUX1RPUElDX0hFQVRfU09VUkNFEAMSHAoYRkFDVF9UT1BJQ19GTE9PUl9IRUFUSU5HEAQSHAoYRkFDVF9UT1BJQ19DT01GT1JUX0xPQURTEAUSGgoWRkFDVF9UT1BJQ19FTEVDVFJJQ0lUWRAGEh8KG0ZBQ1RfVE9QSUNfRElTVFJJQ1RfSEVBVElORxAHEhsKF0ZBQ1RfVE9QSUNfQ09OTkVDVElWSVRZEAgSFgoSRkFDVF9UT1BJQ19DT01GT1JUEAkqqQEKB0ZlYXR1cmUSFwoTRkVBVFVSRV9VTlNQRUNJRklFRBAAEhcKE0ZFQVRVUkVfRkxPT1JfWk9ORVMQARIRCg1GRUFUVVJFX1BMQU5UEAISGQoVRkVBVFVSRV9DT01GT1JUX0xPQURTEAMSEAoMRkVBVFVSRV9DT1NUEAQSFgoSRkVBVFVSRV9QRUFLX0dVQVJEEAUSFAoQRkVBVFVSRV9QTEFOTklORxAGKoUBCgxGZWF0dXJlU3RhdGUSHQoZRkVBVFVSRV9TVEFURV9VTlNQRUNJRklFRBAAEhcKE0ZFQVRVUkVfU1RBVEVfV09SS1MQARIXChNGRUFUVVJFX1NUQVRFX05FRURTEAISJAogRkVBVFVSRV9TVEFURV9CTE9DS0VEX0ZPUl9TQUZFVFkQAyqcAgoLQmxvY2tSZWFzb24SHAoYQkxPQ0tfUkVBU09OX1VOU1BFQ0lGSUVEEAASHAoYQkxPQ0tfUkVBU09OX1RFU1RfRkFJTEVEEAESIgoeQkxPQ0tfUkVBU09OX09VVFBVVF9OT1RfTEVBU0VEEAISJQohQkxPQ0tfUkVBU09OX1BPV0VSX09OX05PVF9BVF9SRVNUEAMSHAoYQkxPQ0tfUkVBU09OX0RFVklDRV9HT05FEAQSIgoeQkxPQ0tfUkVBU09OX0NPTlRST0xfUk9PTV9HT05FEAUSHwobQkxPQ0tfUkVBU09OX0xFQVNFX1RPT19MT05HEAYSIwofQkxPQ0tfUkVBU09OX0RFVklDRV9BQ1JPU1NfSE9NRRAHKn4KCFRlc3RLaW5kEhkKFVRFU1RfS0lORF9VTlNQRUNJRklFRBAAEhoKFlRFU1RfS0lORF9PVVRQVVRfTEVBU0UQARIZChVURVNUX0tJTkRfWk9ORV9FRkZFQ1QQAhIgChxURVNUX0tJTkRfUFVNUF9BTExfWk9ORVNfT0ZGEAMqhQEKCVRlc3RTdGF0ZRIaChZURVNUX1NUQVRFX1VOU1BFQ0lGSUVEEAASFgoSVEVTVF9TVEFURV9SVU5OSU5HEAESFQoRVEVTVF9TVEFURV9QQVNTRUQQAhIVChFURVNUX1NUQVRFX0ZBSUxFRBADEhYKElRFU1RfU1RBVEVfQUJPUlRFRBAEKp0CCgtUZXN0RmFpbHVyZRIcChhURVNUX0ZBSUxVUkVfVU5TUEVDSUZJRUQQABIlCiFURVNUX0ZBSUxVUkVfUE9XRVJfT05fTk9UX0FUX1JFU1QQARIgChxURVNUX0ZBSUxVUkVfTk9fU1RBVEVfQ0hBTkdFEAISIgoeVEVTVF9GQUlMVVJFX0xFQVNFX05PVF9SRU5FV0VEEAMSJwojVEVTVF9GQUlMVVJFX0RJRF9OT1RfUkVUVVJOX1RPX1JFU1QQBBIjCh9URVNUX0ZBSUxVUkVfREVWSUNFX1VOUkVBQ0hBQkxFEAUSGgoWVEVTVF9GQUlMVVJFX05PX0VGRkVDVBAGEhkKFVRFU1RfRkFJTFVSRV9PQlNFUlZFRBAHKp0BCgxNb2RlbEZpdEJhbmQSHgoaTU9ERUxfRklUX0JBTkRfVU5TUEVDSUZJRUQQABIiCh5NT0RFTF9GSVRfQkFORF9OT1RfRU5PVUdIX0RBVEEQARIXChNNT0RFTF9GSVRfQkFORF9QT09SEAISFwoTTU9ERUxfRklUX0JBTkRfRkFJUhADEhcKE01PREVMX0ZJVF9CQU5EX0dPT0QQBCqyAgoLTW9kZWxGaXRHYXASHQoZTU9ERUxfRklUX0dBUF9VTlNQRUNJRklFRBAAEh8KG01PREVMX0ZJVF9HQVBfTk9fRVhDSVRBVElPThABEhoKFk1PREVMX0ZJVF9HQVBfTk9fUExBTlQQAhIcChhNT0RFTF9GSVRfR0FQX05PX1JFVFVSTlMQAxIkCiBNT0RFTF9GSVRfR0FQX05PVF9HQVRFV0FZX0RSSVZFThAEEh4KGk1PREVMX0ZJVF9HQVBfTk9UX1BIWVNJQ0FMEAUSIAocTU9ERUxfRklUX0dBUF9SRVRVUk5TX1NIQVJFRBAGEiAKHE1PREVMX0ZJVF9HQVBfVE9PX0ZFV19OSUdIVFMQBxIfChtNT0RFTF9GSVRfR0FQX1NFVFVQX0NIQU5HRUQQCCqKAQoMU2V0dXBNaXNzaW5nEh0KGVNFVFVQX01JU1NJTkdfVU5TUEVDSUZJRUQQABIgChxTRVRVUF9NSVNTSU5HX1JPT01fUVVFU1RJT05TEAESHQoZU0VUVVBfTUlTU0lOR19PVVRQVVRfVEVTVBACEhoKFlNFVFVQX01JU1NJTkdfTk9fUk9PTVMQAyqUAQoXQ29tbWlzc2lvbmluZ0dyYW50U3RhdGUSKQolQ09NTUlTU0lPTklOR19HUkFOVF9TVEFURV9VTlNQRUNJRklFRBAAEicKI0NPTU1JU1NJT05JTkdfR1JBTlRfU1RBVEVfUkVRVUVTVEVEEAESJQohQ09NTUlTU0lPTklOR19HUkFOVF9TVEFURV9HUkFOVEVEEAJCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_identity_v1_identity]);
15
+
16
+ /**
17
+ * Describes the message kusinta.iot.commissioning.v1.Provenance.
18
+ * Use `create(ProvenanceSchema)` to create a new message.
19
+ */
20
+ export const ProvenanceSchema = /*@__PURE__*/
21
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 0);
22
+
23
+ /**
24
+ * Describes the message kusinta.iot.commissioning.v1.BindingRef.
25
+ * Use `create(BindingRefSchema)` to create a new message.
26
+ */
27
+ export const BindingRefSchema = /*@__PURE__*/
28
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 1);
29
+
30
+ /**
31
+ * Describes the message kusinta.iot.commissioning.v1.TemplateRef.
32
+ * Use `create(TemplateRefSchema)` to create a new message.
33
+ */
34
+ export const TemplateRefSchema = /*@__PURE__*/
35
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 2);
36
+
37
+ /**
38
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningFact.
39
+ * Use `create(CommissioningFactSchema)` to create a new message.
40
+ */
41
+ export const CommissioningFactSchema = /*@__PURE__*/
42
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 3);
43
+
44
+ /**
45
+ * Describes the message kusinta.iot.commissioning.v1.TemplateFact.
46
+ * Use `create(TemplateFactSchema)` to create a new message.
47
+ */
48
+ export const TemplateFactSchema = /*@__PURE__*/
49
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 4);
50
+
51
+ /**
52
+ * Describes the message kusinta.iot.commissioning.v1.HouseTemplate.
53
+ * Use `create(HouseTemplateSchema)` to create a new message.
54
+ */
55
+ export const HouseTemplateSchema = /*@__PURE__*/
56
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 5);
57
+
58
+ /**
59
+ * Describes the message kusinta.iot.commissioning.v1.Need.
60
+ * Use `create(NeedSchema)` to create a new message.
61
+ */
62
+ export const NeedSchema = /*@__PURE__*/
63
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 6);
64
+
65
+ /**
66
+ * Describes the message kusinta.iot.commissioning.v1.FeatureBlock.
67
+ * Use `create(FeatureBlockSchema)` to create a new message.
68
+ */
69
+ export const FeatureBlockSchema = /*@__PURE__*/
70
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 7);
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.commissioning.v1.FeatureStatus.
74
+ * Use `create(FeatureStatusSchema)` to create a new message.
75
+ */
76
+ export const FeatureStatusSchema = /*@__PURE__*/
77
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 8);
78
+
79
+ /**
80
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningTest.
81
+ * Use `create(CommissioningTestSchema)` to create a new message.
82
+ */
83
+ export const CommissioningTestSchema = /*@__PURE__*/
84
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 9);
85
+
86
+ /**
87
+ * Describes the message kusinta.iot.commissioning.v1.TestEvidence.
88
+ * Use `create(TestEvidenceSchema)` to create a new message.
89
+ */
90
+ export const TestEvidenceSchema = /*@__PURE__*/
91
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 10);
92
+
93
+ /**
94
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningProfile.
95
+ * Use `create(CommissioningProfileSchema)` to create a new message.
96
+ */
97
+ export const CommissioningProfileSchema = /*@__PURE__*/
98
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 11);
99
+
100
+ /**
101
+ * Describes the message kusinta.iot.commissioning.v1.ModelFit.
102
+ * Use `create(ModelFitSchema)` to create a new message.
103
+ */
104
+ export const ModelFitSchema = /*@__PURE__*/
105
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 12);
106
+
107
+ /**
108
+ * Describes the message kusinta.iot.commissioning.v1.HomeSetup.
109
+ * Use `create(HomeSetupSchema)` to create a new message.
110
+ */
111
+ export const HomeSetupSchema = /*@__PURE__*/
112
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 13);
113
+
114
+ /**
115
+ * Describes the message kusinta.iot.commissioning.v1.HomeSetups.
116
+ * Use `create(HomeSetupsSchema)` to create a new message.
117
+ */
118
+ export const HomeSetupsSchema = /*@__PURE__*/
119
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 14);
120
+
121
+ /**
122
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningRecord.
123
+ * Use `create(CommissioningRecordSchema)` to create a new message.
124
+ */
125
+ export const CommissioningRecordSchema = /*@__PURE__*/
126
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 15);
127
+
128
+ /**
129
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningGrant.
130
+ * Use `create(CommissioningGrantSchema)` to create a new message.
131
+ */
132
+ export const CommissioningGrantSchema = /*@__PURE__*/
133
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 16);
134
+
135
+ /**
136
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningGrants.
137
+ * Use `create(CommissioningGrantsSchema)` to create a new message.
138
+ */
139
+ export const CommissioningGrantsSchema = /*@__PURE__*/
140
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 17);
141
+
142
+ /**
143
+ * Describes the message kusinta.iot.commissioning.v1.CommissioningGrantRecord.
144
+ * Use `create(CommissioningGrantRecordSchema)` to create a new message.
145
+ */
146
+ export const CommissioningGrantRecordSchema = /*@__PURE__*/
147
+ messageDesc(file_kusinta_iot_commissioning_v1_commissioning, 18);
148
+
149
+ /**
150
+ * Describes the enum kusinta.iot.commissioning.v1.Party.
151
+ */
152
+ export const PartySchema = /*@__PURE__*/
153
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 0);
154
+
155
+ /**
156
+ * Who answers a fact, or ran or concluded a test.
157
+ *
158
+ * @generated from enum kusinta.iot.commissioning.v1.Party
159
+ */
160
+ export const Party = /*@__PURE__*/
161
+ tsEnum(PartySchema);
162
+
163
+ /**
164
+ * Describes the enum kusinta.iot.commissioning.v1.Necessity.
165
+ */
166
+ export const NecessitySchema = /*@__PURE__*/
167
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 1);
168
+
169
+ /**
170
+ * How much a fact is needed.
171
+ *
172
+ * @generated from enum kusinta.iot.commissioning.v1.Necessity
173
+ */
174
+ export const Necessity = /*@__PURE__*/
175
+ tsEnum(NecessitySchema);
176
+
177
+ /**
178
+ * Describes the enum kusinta.iot.commissioning.v1.Evidence.
179
+ */
180
+ export const EvidenceSchema = /*@__PURE__*/
181
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 2);
182
+
183
+ /**
184
+ * How an answer was confirmed. A household answers STATED, PHOTO or DRAWING; INSPECTED and
185
+ * MEASURED are an installer's or the gateway's; DERIVED is the gateway's alone. A key may
186
+ * require more (see the file comment); less is refused.
187
+ *
188
+ * @generated from enum kusinta.iot.commissioning.v1.Evidence
189
+ */
190
+ export const Evidence = /*@__PURE__*/
191
+ tsEnum(EvidenceSchema);
192
+
193
+ /**
194
+ * Describes the enum kusinta.iot.commissioning.v1.FactTopic.
195
+ */
196
+ export const FactTopicSchema = /*@__PURE__*/
197
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 3);
198
+
199
+ /**
200
+ * What a fact is about, for a client that does not know its key. Closed: a client words a
201
+ * topic it does not know as a detail about the space or record, from its answerer.
202
+ *
203
+ * @generated from enum kusinta.iot.commissioning.v1.FactTopic
204
+ */
205
+ export const FactTopic = /*@__PURE__*/
206
+ tsEnum(FactTopicSchema);
207
+
208
+ /**
209
+ * Describes the enum kusinta.iot.commissioning.v1.Feature.
210
+ */
211
+ export const FeatureSchema = /*@__PURE__*/
212
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 4);
213
+
214
+ /**
215
+ * The heating features a home's commissioning unlocks.
216
+ *
217
+ * @generated from enum kusinta.iot.commissioning.v1.Feature
218
+ */
219
+ export const Feature = /*@__PURE__*/
220
+ tsEnum(FeatureSchema);
221
+
222
+ /**
223
+ * Describes the enum kusinta.iot.commissioning.v1.FeatureState.
224
+ */
225
+ export const FeatureStateSchema = /*@__PURE__*/
226
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 5);
227
+
228
+ /**
229
+ * @generated from enum kusinta.iot.commissioning.v1.FeatureState
230
+ */
231
+ export const FeatureState = /*@__PURE__*/
232
+ tsEnum(FeatureStateSchema);
233
+
234
+ /**
235
+ * Describes the enum kusinta.iot.commissioning.v1.BlockReason.
236
+ */
237
+ export const BlockReasonSchema = /*@__PURE__*/
238
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 6);
239
+
240
+ /**
241
+ * @generated from enum kusinta.iot.commissioning.v1.BlockReason
242
+ */
243
+ export const BlockReason = /*@__PURE__*/
244
+ tsEnum(BlockReasonSchema);
245
+
246
+ /**
247
+ * Describes the enum kusinta.iot.commissioning.v1.TestKind.
248
+ */
249
+ export const TestKindSchema = /*@__PURE__*/
250
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 7);
251
+
252
+ /**
253
+ * @generated from enum kusinta.iot.commissioning.v1.TestKind
254
+ */
255
+ export const TestKind = /*@__PURE__*/
256
+ tsEnum(TestKindSchema);
257
+
258
+ /**
259
+ * Describes the enum kusinta.iot.commissioning.v1.TestState.
260
+ */
261
+ export const TestStateSchema = /*@__PURE__*/
262
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 8);
263
+
264
+ /**
265
+ * @generated from enum kusinta.iot.commissioning.v1.TestState
266
+ */
267
+ export const TestState = /*@__PURE__*/
268
+ tsEnum(TestStateSchema);
269
+
270
+ /**
271
+ * Describes the enum kusinta.iot.commissioning.v1.TestFailure.
272
+ */
273
+ export const TestFailureSchema = /*@__PURE__*/
274
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 9);
275
+
276
+ /**
277
+ * @generated from enum kusinta.iot.commissioning.v1.TestFailure
278
+ */
279
+ export const TestFailure = /*@__PURE__*/
280
+ tsEnum(TestFailureSchema);
281
+
282
+ /**
283
+ * Describes the enum kusinta.iot.commissioning.v1.ModelFitBand.
284
+ */
285
+ export const ModelFitBandSchema = /*@__PURE__*/
286
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 10);
287
+
288
+ /**
289
+ * How well a model predicts its room or zone.
290
+ *
291
+ * @generated from enum kusinta.iot.commissioning.v1.ModelFitBand
292
+ */
293
+ export const ModelFitBand = /*@__PURE__*/
294
+ tsEnum(ModelFitBandSchema);
295
+
296
+ /**
297
+ * Describes the enum kusinta.iot.commissioning.v1.ModelFitGap.
298
+ */
299
+ export const ModelFitGapSchema = /*@__PURE__*/
300
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 11);
301
+
302
+ /**
303
+ * What keeps a model from being judged, or from fitting at all: a client says what to do
304
+ * about it. Read by a client that does not know a value as UNSPECIFIED.
305
+ *
306
+ * @generated from enum kusinta.iot.commissioning.v1.ModelFitGap
307
+ */
308
+ export const ModelFitGap = /*@__PURE__*/
309
+ tsEnum(ModelFitGapSchema);
310
+
311
+ /**
312
+ * Describes the enum kusinta.iot.commissioning.v1.SetupMissing.
313
+ */
314
+ export const SetupMissingSchema = /*@__PURE__*/
315
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 12);
316
+
317
+ /**
318
+ * A kind of step a home has left before it is set up (HomeSetup).
319
+ *
320
+ * @generated from enum kusinta.iot.commissioning.v1.SetupMissing
321
+ */
322
+ export const SetupMissing = /*@__PURE__*/
323
+ tsEnum(SetupMissingSchema);
324
+
325
+ /**
326
+ * Describes the enum kusinta.iot.commissioning.v1.CommissioningGrantState.
327
+ */
328
+ export const CommissioningGrantStateSchema = /*@__PURE__*/
329
+ enumDesc(file_kusinta_iot_commissioning_v1_commissioning, 13);
330
+
331
+ /**
332
+ * Where a commissioning grant stands (see the file comment, GRANTS). An ended grant has no
333
+ * state: it is listed no more.
334
+ *
335
+ * @generated from enum kusinta.iot.commissioning.v1.CommissioningGrantState
336
+ */
337
+ export const CommissioningGrantState = /*@__PURE__*/
338
+ tsEnum(CommissioningGrantStateSchema);
339
+
@@ -83,11 +83,15 @@ export declare type PairingWindow = Message<"kusinta.iot.common.v1.PairingWindow
83
83
  *
84
84
  * A batch suits commissioning, where devices are paired in a row and become a building's
85
85
  * rather than any person's. It does not suit a caller whose pairing mints personal
86
- * ownership.
86
+ * ownership: a window whose arrivals become the pairer's own (webrtc.v1 StartPairing
87
+ * ownership RESIDENT, or a caller who can only pair their own) attributes one at most, and
88
+ * more is refused, from someone who files for the building too.
87
89
  *
88
- * A hint and a batch cannot be combined, and that is a contradiction rather than a
89
- * limitation: device_hint names one device, so a window restricted to it can never produce
90
- * a second arrival to attribute.
90
+ * Ignored where device_hint is set, and narrowed to one rather than refused: a hint names
91
+ * one device, so a window restricted to it can never produce a second arrival to attribute.
92
+ * The combination is meaningless rather than dangerous, and there is no honest code in
93
+ * PairingError for "your request contradicted itself" — refusing it would mean answering a
94
+ * malformed request with an entitlement decision that was never made.
91
95
  *
92
96
  * @generated from field: optional uint32 max_devices = 3;
93
97
  */
@@ -190,6 +194,22 @@ export enum PairingError {
190
194
  * @generated from enum value: PAIRING_ERROR_INTERNAL = 7;
191
195
  */
192
196
  INTERNAL = 7,
197
+
198
+ /**
199
+ * The request named no connector. Pairing always targets exactly one connector,
200
+ * chosen from the connector enumeration; an untargeted "pair anything" is refused
201
+ * rather than fanned out across every hub. Permanent for the request as sent —
202
+ * naming a connector and asking again is the fix, retrying identically is not —
203
+ * which is why this is not CONNECTOR_UNAVAILABLE, whose retry is reasonable.
204
+ *
205
+ * The gateway is the enforcer: connector_id is a message field, so proto cannot
206
+ * mark it required, and the check lives where the fan-out used to. A client whose
207
+ * schema predates this reads it as UNSPECIFIED and offers a retry, which is
208
+ * harmless — an app built against the enumeration always names a connector anyway.
209
+ *
210
+ * @generated from enum value: PAIRING_ERROR_CONNECTOR_REQUIRED = 8;
211
+ */
212
+ CONNECTOR_REQUIRED = 8,
193
213
  }
194
214
 
195
215
  /**
@@ -8,7 +8,7 @@ import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/code
8
8
  * Describes the file kusinta/iot/common/v1/pairing.proto.
9
9
  */
10
10
  export const file_kusinta_iot_common_v1_pairing = /*@__PURE__*/
11
- fileDesc("CiNrdXNpbnRhL2lvdC9jb21tb24vdjEvcGFpcmluZy5wcm90bxIVa3VzaW50YS5pb3QuY29tbW9uLnYxIlgKElBhaXJpbmdFcnJvckRldGFpbBIxCgRjb2RlGAEgASgOMiMua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvchIPCgdtZXNzYWdlGAIgASgJIoIBCg1QYWlyaW5nV2luZG93Eh0KEGR1cmF0aW9uX3NlY29uZHMYASABKA1IAIgBARITCgtkZXZpY2VfaGludBgCIAEoCRIYCgttYXhfZGV2aWNlcxgDIAEoDUgBiAEBQhMKEV9kdXJhdGlvbl9zZWNvbmRzQg4KDF9tYXhfZGV2aWNlcyqiAgoMUGFpcmluZ0Vycm9yEh0KGVBBSVJJTkdfRVJST1JfVU5TUEVDSUZJRUQQABIeChpQQUlSSU5HX0VSUk9SX05PVF9FTlRJVExFRBABEiUKIVBBSVJJTkdfRVJST1JfQUxSRUFEWV9JTl9QUk9HUkVTUxACEicKI1BBSVJJTkdfRVJST1JfQ09OTkVDVE9SX1VOQVZBSUxBQkxFEAMSJAogUEFJUklOR19FUlJPUl9OT19ERVZJQ0VfQVBQRUFSRUQQBBIhCh1QQUlSSU5HX0VSUk9SX0RFVklDRV9VTlVTQUJMRRAFEh4KGlBBSVJJTkdfRVJST1JfV1JPTkdfREVWSUNFEAYSGgoWUEFJUklOR19FUlJPUl9JTlRFUk5BTBAHQgJIAWIGcHJvdG8z");
11
+ fileDesc("CiNrdXNpbnRhL2lvdC9jb21tb24vdjEvcGFpcmluZy5wcm90bxIVa3VzaW50YS5pb3QuY29tbW9uLnYxIlgKElBhaXJpbmdFcnJvckRldGFpbBIxCgRjb2RlGAEgASgOMiMua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvchIPCgdtZXNzYWdlGAIgASgJIoIBCg1QYWlyaW5nV2luZG93Eh0KEGR1cmF0aW9uX3NlY29uZHMYASABKA1IAIgBARITCgtkZXZpY2VfaGludBgCIAEoCRIYCgttYXhfZGV2aWNlcxgDIAEoDUgBiAEBQhMKEV9kdXJhdGlvbl9zZWNvbmRzQg4KDF9tYXhfZGV2aWNlcyrIAgoMUGFpcmluZ0Vycm9yEh0KGVBBSVJJTkdfRVJST1JfVU5TUEVDSUZJRUQQABIeChpQQUlSSU5HX0VSUk9SX05PVF9FTlRJVExFRBABEiUKIVBBSVJJTkdfRVJST1JfQUxSRUFEWV9JTl9QUk9HUkVTUxACEicKI1BBSVJJTkdfRVJST1JfQ09OTkVDVE9SX1VOQVZBSUxBQkxFEAMSJAogUEFJUklOR19FUlJPUl9OT19ERVZJQ0VfQVBQRUFSRUQQBBIhCh1QQUlSSU5HX0VSUk9SX0RFVklDRV9VTlVTQUJMRRAFEh4KGlBBSVJJTkdfRVJST1JfV1JPTkdfREVWSUNFEAYSGgoWUEFJUklOR19FUlJPUl9JTlRFUk5BTBAHEiQKIFBBSVJJTkdfRVJST1JfQ09OTkVDVE9SX1JFUVVJUkVEEAhCAkgBYgZwcm90bzM");
12
12
 
13
13
  /**
14
14
  * Describes the message kusinta.iot.common.v1.PairingErrorDetail.
@@ -4,12 +4,67 @@
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
+ import type { SpaceId } from "../../identity/v1/identity_pb.js";
7
8
 
8
9
  /**
9
10
  * Describes the file kusinta/iot/common/v1/types.proto.
10
11
  */
11
12
  export declare const file_kusinta_iot_common_v1_types: GenFile;
12
13
 
14
+ /**
15
+ * Who owns one of the building's own devices as an asset: who paid for it, for billing and
16
+ * for what becomes of it when a household or the gateway's owner changes. Distinct from
17
+ * DeviceOwnershipType, which says whether a person owns a device outright; a device a person
18
+ * owns has no asset owner.
19
+ *
20
+ * VISIBILITY NEVER FOLLOWS IT. What anyone sees of a device, or may do to it, is decided by
21
+ * the space it is filed in and how they stand to that space (access.v1.MembershipRelation),
22
+ * never by its asset owner: a device the organisation owns in someone's home is seen by the
23
+ * organisation's people as service and no more, and a device a household owns gives that
24
+ * household nothing beyond what living in the home gives it. Setting or changing an asset
25
+ * owner changes no one's access.
26
+ *
27
+ * IT DECIDES ONE THING: whether a room's outer limits can bind the device
28
+ * (climate.v1.OuterRoomLimits, WHAT THEY BIND). It still decides nothing about who sees what.
29
+ *
30
+ * Unset: not recorded. On a device whose ownership is COMPANY, anything that depends on it
31
+ * reads an unset owner as owner_organisation; a device a person owns has none, and is theirs.
32
+ *
33
+ * @generated from message kusinta.iot.common.v1.AssetOwner
34
+ */
35
+ export declare type AssetOwner = Message<"kusinta.iot.common.v1.AssetOwner"> & {
36
+ /**
37
+ * @generated from oneof kusinta.iot.common.v1.AssetOwner.owner
38
+ */
39
+ owner: {
40
+ /**
41
+ * The organisation that owns the gateway (signaling.v1.GatewayStreamOpened, OWNER OF
42
+ * RECORD), whichever that is: such an asset goes with the gateway when it moves to
43
+ * another organisation. Only true is sent; false is refused.
44
+ *
45
+ * @generated from field: bool owner_organisation = 1;
46
+ */
47
+ value: boolean;
48
+ case: "ownerOrganisation";
49
+ } | {
50
+ /**
51
+ * The household of a home, named by the home's apartment. Keyed to the home, never to a
52
+ * person: when the household changes, the asset stays with the home for the next one
53
+ * (webrtc.v1 household.proto, HANDOVER).
54
+ *
55
+ * @generated from field: kusinta.iot.identity.v1.SpaceId household_home_id = 2;
56
+ */
57
+ value: SpaceId;
58
+ case: "householdHomeId";
59
+ } | { case: undefined; value?: undefined };
60
+ };
61
+
62
+ /**
63
+ * Describes the message kusinta.iot.common.v1.AssetOwner.
64
+ * Use `create(AssetOwnerSchema)` to create a new message.
65
+ */
66
+ export declare const AssetOwnerSchema: GenMessage<AssetOwner>;
67
+
13
68
  /**
14
69
  * @generated from message kusinta.iot.common.v1.ErrorDetail
15
70
  */
@@ -36,6 +91,37 @@ export declare type ErrorDetail = Message<"kusinta.iot.common.v1.ErrorDetail"> &
36
91
  */
37
92
  export declare const ErrorDetailSchema: GenMessage<ErrorDetail>;
38
93
 
94
+ /**
95
+ * A connector's backend health, as both legs carry it: connector to gateway inside
96
+ * connector.v1.BackendHealthReport, and gateway to app on webrtc.v1.ConnectorDescriptor.
97
+ *
98
+ * Deliberately state and category only. A connector's free-text detail travels beside this,
99
+ * on the connector leg alone, and is for the gateway's logs: it may name hosts, addresses or
100
+ * accounts, and it never reaches the app or the cloud. Carrying only this type on the app
101
+ * leg is what keeps it there.
102
+ *
103
+ * @generated from message kusinta.iot.common.v1.BackendHealth
104
+ */
105
+ export declare type BackendHealth = Message<"kusinta.iot.common.v1.BackendHealth"> & {
106
+ /**
107
+ * @generated from field: kusinta.iot.common.v1.BackendHealthState state = 1;
108
+ */
109
+ state: BackendHealthState;
110
+
111
+ /**
112
+ * Why, when state is FAILING. UNSPECIFIED otherwise, and ignored when state is not FAILING.
113
+ *
114
+ * @generated from field: kusinta.iot.common.v1.BackendFailureReason reason = 2;
115
+ */
116
+ reason: BackendFailureReason;
117
+ };
118
+
119
+ /**
120
+ * Describes the message kusinta.iot.common.v1.BackendHealth.
121
+ * Use `create(BackendHealthSchema)` to create a new message.
122
+ */
123
+ export declare const BackendHealthSchema: GenMessage<BackendHealth>;
124
+
39
125
  /**
40
126
  * @generated from enum kusinta.iot.common.v1.SpaceType
41
127
  */
@@ -77,6 +163,11 @@ export enum SpaceType {
77
163
  export declare const SpaceTypeSchema: GenEnum<SpaceType>;
78
164
 
79
165
  /**
166
+ * Whether a person owns a device outright. COMPANY: no person does; it is one of the
167
+ * building's own devices. RESIDENT: a person does (device.v1.DeviceDescriptor.owner_user_id),
168
+ * for a device of their own that they may take with them. Who paid for one of the
169
+ * building's own devices is a separate question, answered by AssetOwner.
170
+ *
80
171
  * @generated from enum kusinta.iot.common.v1.DeviceOwnershipType
81
172
  */
82
173
  export enum DeviceOwnershipType {
@@ -161,3 +252,147 @@ export enum ConnectorTransport {
161
252
  */
162
253
  export declare const ConnectorTransportSchema: GenEnum<ConnectorTransport>;
163
254
 
255
+ /**
256
+ * What technology a connector speaks, for an interface to pick an icon or an
257
+ * explanatory phrase. Presentation only, and never a behaviour gate: what a
258
+ * connector can do is stated by the capability booleans on ConnectorInfo
259
+ * (supports_pairing, supports_provisioning, brokers_links), and branching on the
260
+ * kind instead would hardcode vendor knowledge and force a client change for every
261
+ * new technology. A proto3 open enum: a reader given a value its schema predates
262
+ * keeps UNSPECIFIED's fallback rather than failing, which is exactly why the kind
263
+ * may never decide anything that matters.
264
+ *
265
+ * @generated from enum kusinta.iot.common.v1.ConnectorKind
266
+ */
267
+ export enum ConnectorKind {
268
+ /**
269
+ * @generated from enum value: CONNECTOR_KIND_UNSPECIFIED = 0;
270
+ */
271
+ UNSPECIFIED = 0,
272
+
273
+ /**
274
+ * @generated from enum value: CONNECTOR_KIND_HOMEMATIC_IP = 1;
275
+ */
276
+ HOMEMATIC_IP = 1,
277
+
278
+ /**
279
+ * @generated from enum value: CONNECTOR_KIND_LORAWAN = 2;
280
+ */
281
+ LORAWAN = 2,
282
+ }
283
+
284
+ /**
285
+ * Describes the enum kusinta.iot.common.v1.ConnectorKind.
286
+ */
287
+ export declare const ConnectorKindSchema: GenEnum<ConnectorKind>;
288
+
289
+ /**
290
+ * Whether the backend a connector drives is working: the radio central, the network server,
291
+ * whatever the connector talks to on the far side from the gateway. Distinct from whether
292
+ * the connector itself is connected — that is the gateway↔connector stream, and a connector
293
+ * whose stream is down states nothing at all.
294
+ *
295
+ * Open, like every proto3 enum: a reader given a value its schema predates holds the number.
296
+ * Every reader treats anything but FAILING as healthy, so a state added later must be one an
297
+ * older reader may safely take for OK. A new way of failing is a new BackendFailureReason
298
+ * under FAILING, never a new state.
299
+ *
300
+ * @generated from enum kusinta.iot.common.v1.BackendHealthState
301
+ */
302
+ export enum BackendHealthState {
303
+ /**
304
+ * No statement. Read as OK: a connector that predates backend health, or one whose backend
305
+ * is still in doubt as it handshakes (see connector.v1.BackendHealthReport), has said
306
+ * nothing is wrong.
307
+ *
308
+ * @generated from enum value: BACKEND_HEALTH_STATE_UNSPECIFIED = 0;
309
+ */
310
+ UNSPECIFIED = 0,
311
+
312
+ /**
313
+ * The backend is reachable and answering.
314
+ *
315
+ * @generated from enum value: BACKEND_HEALTH_STATE_OK = 1;
316
+ */
317
+ OK = 1,
318
+
319
+ /**
320
+ * The backend is failing, and not for a single dropped call: it has been in doubt for 60
321
+ * seconds within the last 120 (see connector.v1.BackendHealthReport), or the connector's own
322
+ * retries are used up, or a requested re-initialisation
323
+ * left it failing (see connector.v1.BackendHealthReport). The connector stays connected to
324
+ * the gateway.
325
+ *
326
+ * @generated from enum value: BACKEND_HEALTH_STATE_FAILING = 2;
327
+ */
328
+ FAILING = 2,
329
+ }
330
+
331
+ /**
332
+ * Describes the enum kusinta.iot.common.v1.BackendHealthState.
333
+ */
334
+ export declare const BackendHealthStateSchema: GenEnum<BackendHealthState>;
335
+
336
+ /**
337
+ * Why a backend is failing, or why a re-initialisation could not be attempted. Coarse on
338
+ * purpose: each value answers "what should someone do now?", and the specifics belong in a
339
+ * connector's log-only detail, never here.
340
+ *
341
+ * Shared rather than mirrored, for the reason PairingError gives: the connector produces it
342
+ * and the gateway passes it through unchanged.
343
+ *
344
+ * @generated from enum kusinta.iot.common.v1.BackendFailureReason
345
+ */
346
+ export enum BackendFailureReason {
347
+ /**
348
+ * Not stated, or a value this reader's schema does not know. Read as BACKEND_ERROR.
349
+ *
350
+ * @generated from enum value: BACKEND_FAILURE_REASON_UNSPECIFIED = 0;
351
+ */
352
+ UNSPECIFIED = 0,
353
+
354
+ /**
355
+ * The backend cannot be reached: no route, connection refused, no answer. Often a power or
356
+ * network fault at the backend's side; a re-initialisation may help once that is fixed.
357
+ *
358
+ * @generated from enum value: BACKEND_FAILURE_REASON_UNREACHABLE = 1;
359
+ */
360
+ UNREACHABLE = 1,
361
+
362
+ /**
363
+ * The backend answered and refused the connector's credentials. Retrying the same
364
+ * credentials will not help; someone must change them.
365
+ *
366
+ * @generated from enum value: BACKEND_FAILURE_REASON_AUTH_FAILED = 2;
367
+ */
368
+ AUTH_FAILED = 2,
369
+
370
+ /**
371
+ * The backend is reached and authenticated, but answers with errors or not as the connector
372
+ * expects: a fault on the backend's side, or a version the connector does not understand.
373
+ *
374
+ * @generated from enum value: BACKEND_FAILURE_REASON_BACKEND_ERROR = 3;
375
+ */
376
+ BACKEND_ERROR = 3,
377
+
378
+ /**
379
+ * The connector lacks what it needs to reach the backend at all: an address, credentials.
380
+ * Needs an installer, not a retry.
381
+ *
382
+ * @generated from enum value: BACKEND_FAILURE_REASON_MISCONFIGURED = 4;
383
+ */
384
+ MISCONFIGURED = 4,
385
+
386
+ /**
387
+ * A fault in the connector itself, not in the backend.
388
+ *
389
+ * @generated from enum value: BACKEND_FAILURE_REASON_INTERNAL = 5;
390
+ */
391
+ INTERNAL = 5,
392
+ }
393
+
394
+ /**
395
+ * Describes the enum kusinta.iot.common.v1.BackendFailureReason.
396
+ */
397
+ export declare const BackendFailureReasonSchema: GenEnum<BackendFailureReason>;
398
+