@kusinta/iot-schema 0.1.0-beta.2 → 0.1.0-beta.21

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 (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/package.json +10 -2
  4. package/src/kusinta/iot/access/v1/acl_pb.d.ts +3 -3
  5. package/src/kusinta/iot/access/v1/acl_pb.js +3 -3
  6. package/src/kusinta/iot/access/v1/roles_pb.d.ts +1 -1
  7. package/src/kusinta/iot/access/v1/roles_pb.js +1 -1
  8. package/src/kusinta/iot/common/v1/types_pb.d.ts +1 -1
  9. package/src/kusinta/iot/common/v1/types_pb.js +1 -1
  10. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +31 -24
  11. package/src/kusinta/iot/connector/v1/connector_pb.js +16 -15
  12. package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +6 -6
  13. package/src/kusinta/iot/connector/v1/connector_service_pb.js +3 -3
  14. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +3 -3
  15. package/src/kusinta/iot/device/v1/descriptor_pb.js +3 -3
  16. package/src/kusinta/iot/device/v1/device_pb.d.ts +36 -4
  17. package/src/kusinta/iot/device/v1/device_pb.js +4 -4
  18. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +46 -0
  19. package/src/kusinta/iot/device/v1/matter_options_pb.js +50 -0
  20. package/src/kusinta/iot/device/v1/properties_pb.d.ts +175 -208
  21. package/src/kusinta/iot/device/v1/properties_pb.js +3 -2
  22. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +38 -5
  23. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -2
  24. package/src/kusinta/iot/identity/v1/identity_pb.d.ts +1 -1
  25. package/src/kusinta/iot/identity/v1/identity_pb.js +1 -1
  26. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
  27. package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
  28. package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
  29. package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
  30. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
  31. package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
  32. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
  33. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
  34. package/src/kusinta/iot/space/v1/space_pb.d.ts +3 -3
  35. package/src/kusinta/iot/space/v1/space_pb.js +3 -3
  36. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +16 -11
  37. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +2 -2
  38. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
  39. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
  40. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +4 -4
  41. package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -2
  42. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +69 -6
  43. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
  44. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +365 -17
  45. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +79 -11
  46. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +451 -0
  47. package/src/kusinta/iot/webrtc/v1/management_pb.js +106 -0
  48. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +10 -4
  49. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +3 -3
  50. package/src/__tests__/access.test.js +0 -134
  51. package/src/__tests__/common.test.js +0 -29
  52. package/src/__tests__/connector.test.js +0 -144
  53. package/src/__tests__/device.test.js +0 -194
  54. package/src/__tests__/identity.test.js +0 -43
  55. package/src/__tests__/space.test.js +0 -54
  56. package/src/__tests__/vendor.test.js +0 -60
  57. package/src/__tests__/webrtc.test.js +0 -268
@@ -1,14 +1,15 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/properties.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_device_v1_matter_options } from "./matter_options_pb.js";
6
7
 
7
8
  /**
8
9
  * Describes the file kusinta/iot/device/v1/properties.proto.
9
10
  */
10
11
  export const file_kusinta_iot_device_v1_properties = /*@__PURE__*/
11
- fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvcHJvcGVydGllcy5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxItgCChRUaGVybW9zdGF0UHJvcGVydGllcxIZChFsb2NhbF90ZW1wZXJhdHVyZRgBIAEoERIhChlvY2N1cGllZF9oZWF0aW5nX3NldHBvaW50GAIgASgREiEKGW9jY3VwaWVkX2Nvb2xpbmdfc2V0cG9pbnQYAyABKBESHwoXbWluX2hlYXRfc2V0cG9pbnRfbGltaXQYBCABKBESHwoXbWF4X2hlYXRfc2V0cG9pbnRfbGltaXQYBSABKBESHwoXbWluX2Nvb2xfc2V0cG9pbnRfbGltaXQYBiABKBESHwoXbWF4X2Nvb2xfc2V0cG9pbnRfbGltaXQYByABKBESJQodY29udHJvbF9zZXF1ZW5jZV9vZl9vcGVyYXRpb24YCCABKA0SEwoLc3lzdGVtX21vZGUYCSABKA0SHwoXdGhlcm1vc3RhdF9ydW5uaW5nX21vZGUYCiABKA0igAEKG1RlbXBlcmF0dXJlU2Vuc29yUHJvcGVydGllcxIWCg5tZWFzdXJlZF92YWx1ZRgBIAEoERIaChJtaW5fbWVhc3VyZWRfdmFsdWUYAiABKBESGgoSbWF4X21lYXN1cmVkX3ZhbHVlGAMgASgREhEKCXRvbGVyYW5jZRgEIAEoDSJ9ChhIdW1pZGl0eVNlbnNvclByb3BlcnRpZXMSFgoObWVhc3VyZWRfdmFsdWUYASABKA0SGgoSbWluX21lYXN1cmVkX3ZhbHVlGAIgASgNEhoKEm1heF9tZWFzdXJlZF92YWx1ZRgDIAEoDRIRCgl0b2xlcmFuY2UYBCABKA0iswEKGU9jY3VwYW5jeVNlbnNvclByb3BlcnRpZXMSEQoJb2NjdXBhbmN5GAEgASgNEh0KFW9jY3VwYW5jeV9zZW5zb3JfdHlwZRgCIAEoDRIkChxvY2N1cGFuY3lfc2Vuc29yX3R5cGVfYml0bWFwGAMgASgNEh4KFnBpcl9vY2NfdG9fdW5vY2NfZGVsYXkYBCABKA0SHgoWcGlyX3Vub2NjX3RvX29jY19kZWxheRgFIAEoDSIuChdDb250YWN0U2Vuc29yUHJvcGVydGllcxITCgtzdGF0ZV92YWx1ZRgBIAEoCCKnAgoYV2luZG93Q292ZXJpbmdQcm9wZXJ0aWVzEhUKDWNvdmVyaW5nX3R5cGUYASABKA0SKwojY3VycmVudF9wb3NpdGlvbl9saWZ0X3BlcmNlbnQxMDB0aHMYAiABKA0SKwojY3VycmVudF9wb3NpdGlvbl90aWx0X3BlcmNlbnQxMDB0aHMYAyABKA0SKgoidGFyZ2V0X3Bvc2l0aW9uX2xpZnRfcGVyY2VudDEwMHRocxgEIAEoDRIqCiJ0YXJnZXRfcG9zaXRpb25fdGlsdF9wZXJjZW50MTAwdGhzGAUgASgNEhoKEm9wZXJhdGlvbmFsX3N0YXR1cxgGIAEoDRIYChBlbmRfcHJvZHVjdF90eXBlGAcgASgNEgwKBG1vZGUYCCABKA0igQEKEkRvb3JMb2NrUHJvcGVydGllcxISCgpsb2NrX3N0YXRlGAEgASgNEhEKCWxvY2tfdHlwZRgCIAEoDRIYChBhY3R1YXRvcl9lbmFibGVkGAMgASgIEhIKCmRvb3Jfc3RhdGUYBCABKA0SFgoOb3BlcmF0aW5nX21vZGUYBSABKA0ihQEKFE9uT2ZmTGlnaHRQcm9wZXJ0aWVzEg4KBm9uX29mZhgBIAEoCBIcChRnbG9iYWxfc2NlbmVfY29udHJvbBgCIAEoCBIPCgdvbl90aW1lGAMgASgNEhUKDW9mZl93YWl0X3RpbWUYBCABKA0SFwoPc3RhcnRfdXBfb25fb2ZmGAUgASgNIrABChdEaW1tYWJsZUxpZ2h0UHJvcGVydGllcxIOCgZvbl9vZmYYASABKAgSFQoNY3VycmVudF9sZXZlbBgCIAEoDRIRCgltaW5fbGV2ZWwYAyABKA0SEQoJbWF4X2xldmVsGAQgASgNEhAKCG9uX2xldmVsGAUgASgNEh4KFnN0YXJ0X3VwX2N1cnJlbnRfbGV2ZWwYBiABKA0SFgoOcmVtYWluaW5nX3RpbWUYByABKA0i+AEKH0NvbG9yVGVtcGVyYXR1cmVMaWdodFByb3BlcnRpZXMSDgoGb25fb2ZmGAEgASgIEhUKDWN1cnJlbnRfbGV2ZWwYAiABKA0SIAoYY29sb3JfdGVtcGVyYXR1cmVfbWlyZWRzGAMgASgNEiYKHmNvbG9yX3RlbXBfcGh5c2ljYWxfbWluX21pcmVkcxgEIAEoDRImCh5jb2xvcl90ZW1wX3BoeXNpY2FsX21heF9taXJlZHMYBSABKA0SKAogc3RhcnR1cF9jb2xvcl90ZW1wZXJhdHVyZV9taXJlZHMYBiABKA0SEgoKY29sb3JfbW9kZRgHIAEoDSJuChZFbmVyZ3lTZW5zb3JQcm9wZXJ0aWVzEhQKDGFjdGl2ZV9wb3dlchgBIAEoBRITCgtybXNfdm9sdGFnZRgCIAEoDRITCgtybXNfY3VycmVudBgDIAEoDRIUCgxhY19mcmVxdWVuY3kYBCABKA0ifQoYUHJlc3N1cmVTZW5zb3JQcm9wZXJ0aWVzEhYKDm1lYXN1cmVkX3ZhbHVlGAEgASgREhoKEm1pbl9tZWFzdXJlZF92YWx1ZRgCIAEoERIaChJtYXhfbWVhc3VyZWRfdmFsdWUYAyABKBESEQoJdG9sZXJhbmNlGAQgASgNQgJIAWIGcHJvdG8z");
12
+ fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvcHJvcGVydGllcy5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxItcHChRUaGVybW9zdGF0UHJvcGVydGllcxI5ChFsb2NhbF90ZW1wZXJhdHVyZRgBIAEoEUIZiLUYgQSStRgQTG9jYWxUZW1wZXJhdHVyZUgAiAEBEkgKGW9jY3VwaWVkX2hlYXRpbmdfc2V0cG9pbnQYAiABKBFCIIi1GIEEkrUYF09jY3VwaWVkSGVhdGluZ1NldHBvaW50SAGIAQESSAoZb2NjdXBpZWRfY29vbGluZ19zZXRwb2ludBgDIAEoEUIgiLUYgQSStRgXT2NjdXBpZWRDb29saW5nU2V0cG9pbnRIAogBARJDChdtaW5faGVhdF9zZXRwb2ludF9saW1pdBgEIAEoEUIdiLUYgQSStRgUTWluSGVhdFNldHBvaW50TGltaXRIA4gBARJDChdtYXhfaGVhdF9zZXRwb2ludF9saW1pdBgFIAEoEUIdiLUYgQSStRgUTWF4SGVhdFNldHBvaW50TGltaXRIBIgBARJDChdtaW5fY29vbF9zZXRwb2ludF9saW1pdBgGIAEoEUIdiLUYgQSStRgUTWluQ29vbFNldHBvaW50TGltaXRIBYgBARJDChdtYXhfY29vbF9zZXRwb2ludF9saW1pdBgHIAEoEUIdiLUYgQSStRgUTWF4Q29vbFNldHBvaW50TGltaXRIBogBARJPCh1jb250cm9sX3NlcXVlbmNlX29mX29wZXJhdGlvbhgIIAEoDUIjiLUYgQSStRgaQ29udHJvbFNlcXVlbmNlT2ZPcGVyYXRpb25IB4gBARItCgtzeXN0ZW1fbW9kZRgJIAEoDUITiLUYgQSStRgKU3lzdGVtTW9kZUgIiAEBEkQKF3RoZXJtb3N0YXRfcnVubmluZ19tb2RlGAogASgNQh6ItRiBBJK1GBVUaGVybW9zdGF0UnVubmluZ01vZGVICYgBAToGmrUYAoEGQhQKEl9sb2NhbF90ZW1wZXJhdHVyZUIcChpfb2NjdXBpZWRfaGVhdGluZ19zZXRwb2ludEIcChpfb2NjdXBpZWRfY29vbGluZ19zZXRwb2ludEIaChhfbWluX2hlYXRfc2V0cG9pbnRfbGltaXRCGgoYX21heF9oZWF0X3NldHBvaW50X2xpbWl0QhoKGF9taW5fY29vbF9zZXRwb2ludF9saW1pdEIaChhfbWF4X2Nvb2xfc2V0cG9pbnRfbGltaXRCIAoeX2NvbnRyb2xfc2VxdWVuY2Vfb2Zfb3BlcmF0aW9uQg4KDF9zeXN0ZW1fbW9kZUIaChhfdGhlcm1vc3RhdF9ydW5uaW5nX21vZGUizQIKG1RlbXBlcmF0dXJlU2Vuc29yUHJvcGVydGllcxIzCg5tZWFzdXJlZF92YWx1ZRgBIAEoEUIWiLUYggiStRgNTWVhc3VyZWRWYWx1ZUgAiAEBEjoKEm1pbl9tZWFzdXJlZF92YWx1ZRgCIAEoEUIZiLUYggiStRgQTWluTWVhc3VyZWRWYWx1ZUgBiAEBEjoKEm1heF9tZWFzdXJlZF92YWx1ZRgDIAEoEUIZiLUYggiStRgQTWF4TWVhc3VyZWRWYWx1ZUgCiAEBEioKCXRvbGVyYW5jZRgEIAEoDUISiLUYggiStRgJVG9sZXJhbmNlSAOIAQE6Bpq1GAKCBkIRCg9fbWVhc3VyZWRfdmFsdWVCFQoTX21pbl9tZWFzdXJlZF92YWx1ZUIVChNfbWF4X21lYXN1cmVkX3ZhbHVlQgwKCl90b2xlcmFuY2UiygIKGEh1bWlkaXR5U2Vuc29yUHJvcGVydGllcxIzCg5tZWFzdXJlZF92YWx1ZRgBIAEoDUIWiLUYhQiStRgNTWVhc3VyZWRWYWx1ZUgAiAEBEjoKEm1pbl9tZWFzdXJlZF92YWx1ZRgCIAEoDUIZiLUYhQiStRgQTWluTWVhc3VyZWRWYWx1ZUgBiAEBEjoKEm1heF9tZWFzdXJlZF92YWx1ZRgDIAEoDUIZiLUYhQiStRgQTWF4TWVhc3VyZWRWYWx1ZUgCiAEBEioKCXRvbGVyYW5jZRgEIAEoDUISiLUYhQiStRgJVG9sZXJhbmNlSAOIAQE6Bpq1GAKHBkIRCg9fbWVhc3VyZWRfdmFsdWVCFQoTX21pbl9tZWFzdXJlZF92YWx1ZUIVChNfbWF4X21lYXN1cmVkX3ZhbHVlQgwKCl90b2xlcmFuY2UizwQKGU9jY3VwYW5jeVNlbnNvclByb3BlcnRpZXMSKgoJb2NjdXBhbmN5GAEgASgNQhKItRiGCJK1GAlPY2N1cGFuY3lIAIgBARJAChVvY2N1cGFuY3lfc2Vuc29yX3R5cGUYAiABKA1CHIi1GIYIkrUYE09jY3VwYW5jeVNlbnNvclR5cGVIAYgBARJNChxvY2N1cGFuY3lfc2Vuc29yX3R5cGVfYml0bWFwGAMgASgNQiKItRiGCJK1GBlPY2N1cGFuY3lTZW5zb3JUeXBlQml0bWFwSAKIAQESVAogcGlyX29jY3VwaWVkX3RvX3Vub2NjdXBpZWRfZGVsYXkYBCABKA1CJYi1GIYIkrUYHFBJUk9jY3VwaWVkVG9Vbm9jY3VwaWVkRGVsYXlIA4gBARJUCiBwaXJfdW5vY2N1cGllZF90b19vY2N1cGllZF9kZWxheRgFIAEoDUIliLUYhgiStRgcUElSVW5vY2N1cGllZFRvT2NjdXBpZWREZWxheUgEiAEBOgaatRgChwJCDAoKX29jY3VwYW5jeUIYChZfb2NjdXBhbmN5X3NlbnNvcl90eXBlQh8KHV9vY2N1cGFuY3lfc2Vuc29yX3R5cGVfYml0bWFwQiMKIV9waXJfb2NjdXBpZWRfdG9fdW5vY2N1cGllZF9kZWxheUIjCiFfcGlyX3Vub2NjdXBpZWRfdG9fb2NjdXBpZWRfZGVsYXlSFnBpcl9vY2NfdG9fdW5vY2NfZGVsYXlSFnBpcl91bm9jY190b19vY2NfZGVsYXkiXgoXQ29udGFjdFNlbnNvclByb3BlcnRpZXMSLAoLc3RhdGVfdmFsdWUYASABKAhCEoi1GEWStRgKU3RhdGVWYWx1ZUgAiAEBOgWatRgBFUIOCgxfc3RhdGVfdmFsdWUiuQYKGFdpbmRvd0NvdmVyaW5nUHJvcGVydGllcxIpCg1jb3ZlcmluZ190eXBlGAEgASgNQg2ItRiCApK1GARUeXBlSACIAQESWwojY3VycmVudF9wb3NpdGlvbl9saWZ0X3BlcmNlbnQxMDB0aHMYAiABKA1CKYi1GIICkrUYIEN1cnJlbnRQb3NpdGlvbkxpZnRQZXJjZW50MTAwdGhzSAGIAQESWwojY3VycmVudF9wb3NpdGlvbl90aWx0X3BlcmNlbnQxMDB0aHMYAyABKA1CKYi1GIICkrUYIEN1cnJlbnRQb3NpdGlvblRpbHRQZXJjZW50MTAwdGhzSAKIAQESWQoidGFyZ2V0X3Bvc2l0aW9uX2xpZnRfcGVyY2VudDEwMHRocxgEIAEoDUIoiLUYggKStRgfVGFyZ2V0UG9zaXRpb25MaWZ0UGVyY2VudDEwMHRoc0gDiAEBElkKInRhcmdldF9wb3NpdGlvbl90aWx0X3BlcmNlbnQxMDB0aHMYBSABKA1CKIi1GIICkrUYH1RhcmdldFBvc2l0aW9uVGlsdFBlcmNlbnQxMDB0aHNIBIgBARI7ChJvcGVyYXRpb25hbF9zdGF0dXMYBiABKA1CGoi1GIICkrUYEU9wZXJhdGlvbmFsU3RhdHVzSAWIAQESNgoQZW5kX3Byb2R1Y3RfdHlwZRgHIAEoDUIXiLUYggKStRgORW5kUHJvZHVjdFR5cGVIBogBARIgCgRtb2RlGAggASgNQg2ItRiCApK1GARNb2RlSAeIAQE6Bpq1GAKCBEIQCg5fY292ZXJpbmdfdHlwZUImCiRfY3VycmVudF9wb3NpdGlvbl9saWZ0X3BlcmNlbnQxMDB0aHNCJgokX2N1cnJlbnRfcG9zaXRpb25fdGlsdF9wZXJjZW50MTAwdGhzQiUKI190YXJnZXRfcG9zaXRpb25fbGlmdF9wZXJjZW50MTAwdGhzQiUKI190YXJnZXRfcG9zaXRpb25fdGlsdF9wZXJjZW50MTAwdGhzQhUKE19vcGVyYXRpb25hbF9zdGF0dXNCEwoRX2VuZF9wcm9kdWN0X3R5cGVCBwoFX21vZGUi4gIKEkRvb3JMb2NrUHJvcGVydGllcxIrCgpsb2NrX3N0YXRlGAEgASgNQhKItRiBApK1GAlMb2NrU3RhdGVIAIgBARIpCglsb2NrX3R5cGUYAiABKA1CEYi1GIECkrUYCExvY2tUeXBlSAGIAQESNwoQYWN0dWF0b3JfZW5hYmxlZBgDIAEoCEIYiLUYgQKStRgPQWN0dWF0b3JFbmFibGVkSAKIAQESKwoKZG9vcl9zdGF0ZRgEIAEoDUISiLUYgQKStRgJRG9vclN0YXRlSAOIAQESMwoOb3BlcmF0aW5nX21vZGUYBSABKA1CFoi1GIECkrUYDU9wZXJhdGluZ01vZGVIBIgBAToFmrUYAQpCDQoLX2xvY2tfc3RhdGVCDAoKX2xvY2tfdHlwZUITChFfYWN0dWF0b3JfZW5hYmxlZEINCgtfZG9vcl9zdGF0ZUIRCg9fb3BlcmF0aW5nX21vZGUi4gIKFE9uT2ZmTGlnaHRQcm9wZXJ0aWVzEiIKBm9uX29mZhgBIAEoCEINiLUYBpK1GAVPbk9mZkgAiAEBEj0KFGdsb2JhbF9zY2VuZV9jb250cm9sGAIgASgIQhqItRgGkrUYEkdsb2JhbFNjZW5lQ29udHJvbEgBiAEBEiQKB29uX3RpbWUYAyABKA1CDoi1GAaStRgGT25UaW1lSAKIAQESLwoNb2ZmX3dhaXRfdGltZRgEIAEoDUITiLUYBpK1GAtPZmZXYWl0VGltZUgDiAEBEjIKD3N0YXJ0X3VwX29uX29mZhgFIAEoDUIUiLUYBpK1GAxTdGFydFVwT25PZmZIBIgBAToGmrUYAoACQgkKB19vbl9vZmZCFwoVX2dsb2JhbF9zY2VuZV9jb250cm9sQgoKCF9vbl90aW1lQhAKDl9vZmZfd2FpdF90aW1lQhIKEF9zdGFydF91cF9vbl9vZmYi3QMKF0RpbW1hYmxlTGlnaHRQcm9wZXJ0aWVzEiIKBm9uX29mZhgBIAEoCEINiLUYBpK1GAVPbk9mZkgAiAEBEjAKDWN1cnJlbnRfbGV2ZWwYAiABKA1CFIi1GAiStRgMQ3VycmVudExldmVsSAGIAQESKAoJbWluX2xldmVsGAMgASgNQhCItRgIkrUYCE1pbkxldmVsSAKIAQESKAoJbWF4X2xldmVsGAQgASgNQhCItRgIkrUYCE1heExldmVsSAOIAQESJgoIb25fbGV2ZWwYBSABKA1CD4i1GAiStRgHT25MZXZlbEgEiAEBEkAKFnN0YXJ0X3VwX2N1cnJlbnRfbGV2ZWwYBiABKA1CG4i1GAiStRgTU3RhcnRVcEN1cnJlbnRMZXZlbEgFiAEBEjIKDnJlbWFpbmluZ190aW1lGAcgASgNQhWItRgIkrUYDVJlbWFpbmluZ1RpbWVIBogBAToGmrUYAoECQgkKB19vbl9vZmZCEAoOX2N1cnJlbnRfbGV2ZWxCDAoKX21pbl9sZXZlbEIMCgpfbWF4X2xldmVsQgsKCV9vbl9sZXZlbEIZChdfc3RhcnRfdXBfY3VycmVudF9sZXZlbEIRCg9fcmVtYWluaW5nX3RpbWUiowUKH0NvbG9yVGVtcGVyYXR1cmVMaWdodFByb3BlcnRpZXMSIgoGb25fb2ZmGAEgASgIQg2ItRgGkrUYBU9uT2ZmSACIAQESMAoNY3VycmVudF9sZXZlbBgCIAEoDUIUiLUYCJK1GAxDdXJyZW50TGV2ZWxIAYgBARJGChhjb2xvcl90ZW1wZXJhdHVyZV9taXJlZHMYAyABKA1CH4i1GIAGkrUYFkNvbG9yVGVtcGVyYXR1cmVNaXJlZHNIAogBARJQCh5jb2xvcl90ZW1wX3BoeXNpY2FsX21pbl9taXJlZHMYBCABKA1CI4i1GIAGkrUYGkNvbG9yVGVtcFBoeXNpY2FsTWluTWlyZWRzSAOIAQESUAoeY29sb3JfdGVtcF9waHlzaWNhbF9tYXhfbWlyZWRzGAUgASgNQiOItRiABpK1GBpDb2xvclRlbXBQaHlzaWNhbE1heE1pcmVkc0gEiAEBElUKIHN0YXJ0dXBfY29sb3JfdGVtcGVyYXR1cmVfbWlyZWRzGAYgASgNQiaItRiABpK1GB1TdGFydFVwQ29sb3JUZW1wZXJhdHVyZU1pcmVkc0gFiAEBEisKCmNvbG9yX21vZGUYByABKA1CEoi1GIAGkrUYCUNvbG9yTW9kZUgGiAEBOgaatRgCjAJCCQoHX29uX29mZkIQCg5fY3VycmVudF9sZXZlbEIbChlfY29sb3JfdGVtcGVyYXR1cmVfbWlyZWRzQiEKH19jb2xvcl90ZW1wX3BoeXNpY2FsX21pbl9taXJlZHNCIQofX2NvbG9yX3RlbXBfcGh5c2ljYWxfbWF4X21pcmVkc0IjCiFfc3RhcnR1cF9jb2xvcl90ZW1wZXJhdHVyZV9taXJlZHNCDQoLX2NvbG9yX21vZGUi2AIKFkVuZXJneVNlbnNvclByb3BlcnRpZXMSLwoMYWN0aXZlX3Bvd2VyGAUgASgSQhSItRiQAZK1GAtBY3RpdmVQb3dlckgAiAEBEiYKB3ZvbHRhZ2UYBiABKBJCEIi1GJABkrUYB1ZvbHRhZ2VIAYgBARIzCg5hY3RpdmVfY3VycmVudBgHIAEoEkIWiLUYkAGStRgNQWN0aXZlQ3VycmVudEgCiAEBEioKCWZyZXF1ZW5jeRgIIAEoEkISiLUYkAGStRgJRnJlcXVlbmN5SAOIAQE6Bpq1GAKQCkIPCg1fYWN0aXZlX3Bvd2VyQgoKCF92b2x0YWdlQhEKD19hY3RpdmVfY3VycmVudEIMCgpfZnJlcXVlbmN5SgQIARACSgQIAhADSgQIAxAESgQIBBAFUgtybXNfdm9sdGFnZVILcm1zX2N1cnJlbnRSDGFjX2ZyZXF1ZW5jeSLKAgoYUHJlc3N1cmVTZW5zb3JQcm9wZXJ0aWVzEjMKDm1lYXN1cmVkX3ZhbHVlGAEgASgRQhaItRiDCJK1GA1NZWFzdXJlZFZhbHVlSACIAQESOgoSbWluX21lYXN1cmVkX3ZhbHVlGAIgASgRQhmItRiDCJK1GBBNaW5NZWFzdXJlZFZhbHVlSAGIAQESOgoSbWF4X21lYXN1cmVkX3ZhbHVlGAMgASgRQhmItRiDCJK1GBBNYXhNZWFzdXJlZFZhbHVlSAKIAQESKgoJdG9sZXJhbmNlGAQgASgNQhKItRiDCJK1GAlUb2xlcmFuY2VIA4gBAToGmrUYAoUGQhEKD19tZWFzdXJlZF92YWx1ZUIVChNfbWluX21lYXN1cmVkX3ZhbHVlQhUKE19tYXhfbWVhc3VyZWRfdmFsdWVCDAoKX3RvbGVyYW5jZUICSAFiBnByb3RvMw", [file_kusinta_iot_device_v1_matter_options]);
12
13
 
13
14
  /**
14
15
  * Describes the message kusinta.iot.device.v1.ThermostatProperties.
@@ -1,10 +1,10 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/property_update.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
- import type { DeviceId } from "../../identity/v1/identity_pb";
7
+ import type { DeviceId } from "../../identity/v1/identity_pb.js";
8
8
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
9
 
10
10
  /**
@@ -14,9 +14,42 @@ export declare const file_kusinta_iot_device_v1_property_update: GenFile;
14
14
 
15
15
  /**
16
16
  * PropertyUpdate carries a single attribute change from connector to gateway,
17
- * or from gateway to Flutter app.
18
- * attribute_name uses PascalCase Matter attribute naming (e.g. "OccupiedHeatingSetpoint").
19
- * cluster_id_hex is the Matter cluster ID as a 4-char hex string (e.g. "0201" for Thermostat).
17
+ * or from gateway to app.
18
+ *
19
+ * Resolution rule (normative)
20
+ *
21
+ * A consumer storing an update into device.v1.Device.properties resolves it in two
22
+ * steps, both by reading options off the descriptor. Neither step involves
23
+ * transforming a name.
24
+ *
25
+ * 1. Pick the properties message: the Device.properties case whose message type
26
+ * declares (matter_device_type) == DeviceDescriptor.matter_device_type_id.
27
+ * 2. Pick the field: the one field of that message whose (matter_cluster_id) equals
28
+ * cluster_id_hex parsed as a hex integer AND whose (matter_attribute) equals
29
+ * attribute_name.
30
+ *
31
+ * Writing the resolved field marks it present, which is how a snapshot distinguishes a
32
+ * reported zero from an attribute the device has never sent. A consumer assembling a
33
+ * snapshot MUST NOT pre-populate fields with defaults — see properties.proto.
34
+ *
35
+ * Both comparisons are exact. attribute_name is byte-for-byte equal to the Matter
36
+ * attribute's spec spelling; it is NOT derived from the proto field name and case- or
37
+ * separator-insensitive matching against field names is not a valid fallback —
38
+ * OccupancySensorProperties and WindowCoveringProperties both have fields that no such
39
+ * transformation reaches. See matter_options.proto.
40
+ *
41
+ * When either step resolves to nothing the update is not storable. A consumer MUST NOT
42
+ * silently drop it: log it at warning with device_id, cluster_id_hex and attribute_name,
43
+ * and count it. A miss means one of three things, all of which need to be visible —
44
+ * the device reports an attribute this schema does not model, the device type is not
45
+ * modelled at all (see device.proto), or a connector is sending a non-Matter name.
46
+ * Advancing Device.last_seen on a miss is correct; the update is still evidence of life.
47
+ *
48
+ * Producers: attribute_name uses the Matter attribute's own PascalCase, acronyms
49
+ * included (e.g. "OccupiedHeatingSetpoint", "PIROccupiedToUnoccupiedDelay").
50
+ * cluster_id_hex is the Matter cluster ID as a 4-char lowercase-or-uppercase hex string
51
+ * with no 0x prefix (e.g. "0201" for Thermostat). Both are required for resolution;
52
+ * an update carrying only one of them cannot be stored.
20
53
  *
21
54
  * @generated from message kusinta.iot.device.v1.PropertyUpdate
22
55
  */
@@ -1,10 +1,10 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/property_update.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
- import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb";
7
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
8
8
 
9
9
  /**
10
10
  * Describes the file kusinta/iot/device/v1/property_update.proto.
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/identity/v1/identity.proto (package kusinta.iot.identity.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/identity/v1/identity.proto (package kusinta.iot.identity.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -0,0 +1,170 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/registration/v1/registration.proto (package kusinta.iot.registration.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/registration/v1/registration.proto.
10
+ */
11
+ export declare const file_kusinta_iot_registration_v1_registration: GenFile;
12
+
13
+ /**
14
+ * @generated from message kusinta.iot.registration.v1.RegistrationRequest
15
+ */
16
+ export declare type RegistrationRequest = Message<"kusinta.iot.registration.v1.RegistrationRequest"> & {
17
+ /**
18
+ * @generated from field: string registration_token = 1;
19
+ */
20
+ registrationToken: string;
21
+
22
+ /**
23
+ * @generated from field: string external_ip = 2;
24
+ */
25
+ externalIp: string;
26
+
27
+ /**
28
+ * @generated from field: string csr_pem = 3;
29
+ */
30
+ csrPem: string;
31
+ };
32
+
33
+ /**
34
+ * Describes the message kusinta.iot.registration.v1.RegistrationRequest.
35
+ * Use `create(RegistrationRequestSchema)` to create a new message.
36
+ */
37
+ export declare const RegistrationRequestSchema: GenMessage<RegistrationRequest>;
38
+
39
+ /**
40
+ * @generated from message kusinta.iot.registration.v1.RegistrationProgress
41
+ */
42
+ export declare type RegistrationProgress = Message<"kusinta.iot.registration.v1.RegistrationProgress"> & {
43
+ /**
44
+ * @generated from field: string step = 1;
45
+ */
46
+ step: string;
47
+ };
48
+
49
+ /**
50
+ * Describes the message kusinta.iot.registration.v1.RegistrationProgress.
51
+ * Use `create(RegistrationProgressSchema)` to create a new message.
52
+ */
53
+ export declare const RegistrationProgressSchema: GenMessage<RegistrationProgress>;
54
+
55
+ /**
56
+ * @generated from message kusinta.iot.registration.v1.RegistrationComplete
57
+ */
58
+ export declare type RegistrationComplete = Message<"kusinta.iot.registration.v1.RegistrationComplete"> & {
59
+ /**
60
+ * @generated from field: string certificate_pem = 1;
61
+ */
62
+ certificatePem: string;
63
+
64
+ /**
65
+ * @generated from field: string ca_bundle_pem = 2;
66
+ */
67
+ caBundlePem: string;
68
+ };
69
+
70
+ /**
71
+ * Describes the message kusinta.iot.registration.v1.RegistrationComplete.
72
+ * Use `create(RegistrationCompleteSchema)` to create a new message.
73
+ */
74
+ export declare const RegistrationCompleteSchema: GenMessage<RegistrationComplete>;
75
+
76
+ /**
77
+ * @generated from message kusinta.iot.registration.v1.RegistrationError
78
+ */
79
+ export declare type RegistrationError = Message<"kusinta.iot.registration.v1.RegistrationError"> & {
80
+ /**
81
+ * @generated from field: string code = 1;
82
+ */
83
+ code: string;
84
+
85
+ /**
86
+ * @generated from field: string message = 2;
87
+ */
88
+ message: string;
89
+ };
90
+
91
+ /**
92
+ * Describes the message kusinta.iot.registration.v1.RegistrationError.
93
+ * Use `create(RegistrationErrorSchema)` to create a new message.
94
+ */
95
+ export declare const RegistrationErrorSchema: GenMessage<RegistrationError>;
96
+
97
+ /**
98
+ * Streamed response: server sends zero or more RegistrationProgress messages,
99
+ * then exactly one RegistrationComplete or RegistrationError, then closes.
100
+ *
101
+ * @generated from message kusinta.iot.registration.v1.RegistrationResponse
102
+ */
103
+ export declare type RegistrationResponse = Message<"kusinta.iot.registration.v1.RegistrationResponse"> & {
104
+ /**
105
+ * @generated from oneof kusinta.iot.registration.v1.RegistrationResponse.event
106
+ */
107
+ event: {
108
+ /**
109
+ * @generated from field: kusinta.iot.registration.v1.RegistrationProgress progress = 1;
110
+ */
111
+ value: RegistrationProgress;
112
+ case: "progress";
113
+ } | {
114
+ /**
115
+ * @generated from field: kusinta.iot.registration.v1.RegistrationComplete complete = 2;
116
+ */
117
+ value: RegistrationComplete;
118
+ case: "complete";
119
+ } | {
120
+ /**
121
+ * @generated from field: kusinta.iot.registration.v1.RegistrationError error = 3;
122
+ */
123
+ value: RegistrationError;
124
+ case: "error";
125
+ } | { case: undefined; value?: undefined };
126
+ };
127
+
128
+ /**
129
+ * Describes the message kusinta.iot.registration.v1.RegistrationResponse.
130
+ * Use `create(RegistrationResponseSchema)` to create a new message.
131
+ */
132
+ export declare const RegistrationResponseSchema: GenMessage<RegistrationResponse>;
133
+
134
+ /**
135
+ * @generated from message kusinta.iot.registration.v1.CertRenewalRequest
136
+ */
137
+ export declare type CertRenewalRequest = Message<"kusinta.iot.registration.v1.CertRenewalRequest"> & {
138
+ /**
139
+ * @generated from field: string csr_pem = 1;
140
+ */
141
+ csrPem: string;
142
+ };
143
+
144
+ /**
145
+ * Describes the message kusinta.iot.registration.v1.CertRenewalRequest.
146
+ * Use `create(CertRenewalRequestSchema)` to create a new message.
147
+ */
148
+ export declare const CertRenewalRequestSchema: GenMessage<CertRenewalRequest>;
149
+
150
+ /**
151
+ * @generated from message kusinta.iot.registration.v1.CertRenewalResponse
152
+ */
153
+ export declare type CertRenewalResponse = Message<"kusinta.iot.registration.v1.CertRenewalResponse"> & {
154
+ /**
155
+ * @generated from field: string certificate_pem = 1;
156
+ */
157
+ certificatePem: string;
158
+
159
+ /**
160
+ * @generated from field: string ca_bundle_pem = 2;
161
+ */
162
+ caBundlePem: string;
163
+ };
164
+
165
+ /**
166
+ * Describes the message kusinta.iot.registration.v1.CertRenewalResponse.
167
+ * Use `create(CertRenewalResponseSchema)` to create a new message.
168
+ */
169
+ export declare const CertRenewalResponseSchema: GenMessage<CertRenewalResponse>;
170
+
@@ -0,0 +1,61 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/registration/v1/registration.proto (package kusinta.iot.registration.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+
7
+ /**
8
+ * Describes the file kusinta/iot/registration/v1/registration.proto.
9
+ */
10
+ export const file_kusinta_iot_registration_v1_registration = /*@__PURE__*/
11
+ fileDesc("Ci5rdXNpbnRhL2lvdC9yZWdpc3RyYXRpb24vdjEvcmVnaXN0cmF0aW9uLnByb3RvEhtrdXNpbnRhLmlvdC5yZWdpc3RyYXRpb24udjEiVwoTUmVnaXN0cmF0aW9uUmVxdWVzdBIaChJyZWdpc3RyYXRpb25fdG9rZW4YASABKAkSEwoLZXh0ZXJuYWxfaXAYAiABKAkSDwoHY3NyX3BlbRgDIAEoCSIkChRSZWdpc3RyYXRpb25Qcm9ncmVzcxIMCgRzdGVwGAEgASgJIkYKFFJlZ2lzdHJhdGlvbkNvbXBsZXRlEhcKD2NlcnRpZmljYXRlX3BlbRgBIAEoCRIVCg1jYV9idW5kbGVfcGVtGAIgASgJIjIKEVJlZ2lzdHJhdGlvbkVycm9yEgwKBGNvZGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCSLuAQoUUmVnaXN0cmF0aW9uUmVzcG9uc2USRQoIcHJvZ3Jlc3MYASABKAsyMS5rdXNpbnRhLmlvdC5yZWdpc3RyYXRpb24udjEuUmVnaXN0cmF0aW9uUHJvZ3Jlc3NIABJFCghjb21wbGV0ZRgCIAEoCzIxLmt1c2ludGEuaW90LnJlZ2lzdHJhdGlvbi52MS5SZWdpc3RyYXRpb25Db21wbGV0ZUgAEj8KBWVycm9yGAMgASgLMi4ua3VzaW50YS5pb3QucmVnaXN0cmF0aW9uLnYxLlJlZ2lzdHJhdGlvbkVycm9ySABCBwoFZXZlbnQiJQoSQ2VydFJlbmV3YWxSZXF1ZXN0Eg8KB2Nzcl9wZW0YASABKAkiRQoTQ2VydFJlbmV3YWxSZXNwb25zZRIXCg9jZXJ0aWZpY2F0ZV9wZW0YASABKAkSFQoNY2FfYnVuZGxlX3BlbRgCIAEoCUICSAFiBnByb3RvMw");
12
+
13
+ /**
14
+ * Describes the message kusinta.iot.registration.v1.RegistrationRequest.
15
+ * Use `create(RegistrationRequestSchema)` to create a new message.
16
+ */
17
+ export const RegistrationRequestSchema = /*@__PURE__*/
18
+ messageDesc(file_kusinta_iot_registration_v1_registration, 0);
19
+
20
+ /**
21
+ * Describes the message kusinta.iot.registration.v1.RegistrationProgress.
22
+ * Use `create(RegistrationProgressSchema)` to create a new message.
23
+ */
24
+ export const RegistrationProgressSchema = /*@__PURE__*/
25
+ messageDesc(file_kusinta_iot_registration_v1_registration, 1);
26
+
27
+ /**
28
+ * Describes the message kusinta.iot.registration.v1.RegistrationComplete.
29
+ * Use `create(RegistrationCompleteSchema)` to create a new message.
30
+ */
31
+ export const RegistrationCompleteSchema = /*@__PURE__*/
32
+ messageDesc(file_kusinta_iot_registration_v1_registration, 2);
33
+
34
+ /**
35
+ * Describes the message kusinta.iot.registration.v1.RegistrationError.
36
+ * Use `create(RegistrationErrorSchema)` to create a new message.
37
+ */
38
+ export const RegistrationErrorSchema = /*@__PURE__*/
39
+ messageDesc(file_kusinta_iot_registration_v1_registration, 3);
40
+
41
+ /**
42
+ * Describes the message kusinta.iot.registration.v1.RegistrationResponse.
43
+ * Use `create(RegistrationResponseSchema)` to create a new message.
44
+ */
45
+ export const RegistrationResponseSchema = /*@__PURE__*/
46
+ messageDesc(file_kusinta_iot_registration_v1_registration, 4);
47
+
48
+ /**
49
+ * Describes the message kusinta.iot.registration.v1.CertRenewalRequest.
50
+ * Use `create(CertRenewalRequestSchema)` to create a new message.
51
+ */
52
+ export const CertRenewalRequestSchema = /*@__PURE__*/
53
+ messageDesc(file_kusinta_iot_registration_v1_registration, 5);
54
+
55
+ /**
56
+ * Describes the message kusinta.iot.registration.v1.CertRenewalResponse.
57
+ * Use `create(CertRenewalResponseSchema)` to create a new message.
58
+ */
59
+ export const CertRenewalResponseSchema = /*@__PURE__*/
60
+ messageDesc(file_kusinta_iot_registration_v1_registration, 6);
61
+
@@ -0,0 +1,34 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/registration/v1/registration_service.proto (package kusinta.iot.registration.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import type { CertRenewalRequestSchema, CertRenewalResponseSchema, RegistrationRequestSchema, RegistrationResponseSchema } from "./registration_pb.js";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/registration/v1/registration_service.proto.
10
+ */
11
+ export declare const file_kusinta_iot_registration_v1_registration_service: GenFile;
12
+
13
+ /**
14
+ * @generated from service kusinta.iot.registration.v1.GatewayRegistrationService
15
+ */
16
+ export declare const GatewayRegistrationService: GenService<{
17
+ /**
18
+ * @generated from rpc kusinta.iot.registration.v1.GatewayRegistrationService.Registration
19
+ */
20
+ registration: {
21
+ methodKind: "server_streaming";
22
+ input: typeof RegistrationRequestSchema;
23
+ output: typeof RegistrationResponseSchema;
24
+ },
25
+ /**
26
+ * @generated from rpc kusinta.iot.registration.v1.GatewayRegistrationService.CertRenewal
27
+ */
28
+ certRenewal: {
29
+ methodKind: "unary";
30
+ input: typeof CertRenewalRequestSchema;
31
+ output: typeof CertRenewalResponseSchema;
32
+ },
33
+ }>;
34
+
@@ -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/registration/v1/registration_service.proto (package kusinta.iot.registration.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_registration_v1_registration } from "./registration_pb.js";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/registration/v1/registration_service.proto.
10
+ */
11
+ export const file_kusinta_iot_registration_v1_registration_service = /*@__PURE__*/
12
+ fileDesc("CjZrdXNpbnRhL2lvdC9yZWdpc3RyYXRpb24vdjEvcmVnaXN0cmF0aW9uX3NlcnZpY2UucHJvdG8SG2t1c2ludGEuaW90LnJlZ2lzdHJhdGlvbi52MTKFAgoaR2F0ZXdheVJlZ2lzdHJhdGlvblNlcnZpY2USdQoMUmVnaXN0cmF0aW9uEjAua3VzaW50YS5pb3QucmVnaXN0cmF0aW9uLnYxLlJlZ2lzdHJhdGlvblJlcXVlc3QaMS5rdXNpbnRhLmlvdC5yZWdpc3RyYXRpb24udjEuUmVnaXN0cmF0aW9uUmVzcG9uc2UwARJwCgtDZXJ0UmVuZXdhbBIvLmt1c2ludGEuaW90LnJlZ2lzdHJhdGlvbi52MS5DZXJ0UmVuZXdhbFJlcXVlc3QaMC5rdXNpbnRhLmlvdC5yZWdpc3RyYXRpb24udjEuQ2VydFJlbmV3YWxSZXNwb25zZUICSAFiBnByb3RvMw", [file_kusinta_iot_registration_v1_registration]);
13
+
14
+ /**
15
+ * @generated from service kusinta.iot.registration.v1.GatewayRegistrationService
16
+ */
17
+ export const GatewayRegistrationService = /*@__PURE__*/
18
+ serviceDesc(file_kusinta_iot_registration_v1_registration_service, 0);
19
+