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

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 (26) hide show
  1. package/package.json +2 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +4 -3
  3. package/src/kusinta/iot/access/v1/roles_pb.d.ts +27 -1
  4. package/src/kusinta/iot/access/v1/roles_pb.js +17 -2
  5. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +154 -2
  6. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +30 -1
  7. package/src/kusinta/iot/common/v1/types_pb.d.ts +57 -0
  8. package/src/kusinta/iot/common/v1/types_pb.js +16 -3
  9. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +183 -1
  10. package/src/kusinta/iot/connector/v1/connector_pb.js +45 -23
  11. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +13 -3
  12. package/src/kusinta/iot/device/v1/descriptor_pb.js +1 -1
  13. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +6 -3
  14. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +16 -0
  15. package/src/kusinta/iot/signaling/v1/signaling_pb.js +1 -1
  16. package/src/kusinta/iot/space/v1/space_pb.d.ts +22 -0
  17. package/src/kusinta/iot/space/v1/space_pb.js +1 -1
  18. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +58 -1
  19. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +2 -1
  20. package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +490 -0
  21. package/src/kusinta/iot/webrtc/v1/household_pb.js +120 -0
  22. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +19 -15
  23. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +265 -9
  24. package/src/kusinta/iot/webrtc/v1/management_pb.js +38 -2
  25. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +52 -10
  26. package/src/kusinta/iot/webrtc/v1/members_pb.js +1 -1
@@ -12,7 +12,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
12
12
  * Describes the file kusinta/iot/space/v1/space.proto.
13
13
  */
14
14
  export const file_kusinta_iot_space_v1_space = /*@__PURE__*/
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]);
15
+ fileDesc("CiBrdXNpbnRhL2lvdC9zcGFjZS92MS9zcGFjZS5wcm90bxIUa3VzaW50YS5pb3Quc3BhY2UudjEi7wQKBVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI0CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEg0KBWZsb29yGAUgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgGIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNwoNc3ViX3NwYWNlX2lkcxgHIAMoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoKZGV2aWNlX2lkcxgIIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KEHJlc2lkZW50X3VzZXJfaWQYCSABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWRCAhgBEjQKCXRlbmFudF9pZBgKIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlRlbmFudElkEjYKCmdhdGV3YXlfaWQYCyABKAsyIi5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5HYXRld2F5SWQSEQoJdGltZV96b25lGAwgASgJEjIKB21lbWJlcnMYDSADKAsyIS5rdXNpbnRhLmlvdC5zcGFjZS52MS5TcGFjZU1lbWJlchIYChBtZW1iZXJzX3dpdGhoZWxkGA4gASgIEhEKCWhvbWVfbmFtZRgPIAEoCSK1AQoLU3BhY2VNZW1iZXISMAoHdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBI7CghyZWxhdGlvbhgCIAEoDjIpLmt1c2ludGEuaW90LmFjY2Vzcy52MS5NZW1iZXJzaGlwUmVsYXRpb24SDAoEbmFtZRgDIAEoCRIpCgVzaW5jZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
16
16
 
17
17
  /**
18
18
  * Describes the message kusinta.iot.space.v1.Space.
@@ -14,7 +14,8 @@ import type { IssuedInvite, SpaceInvites } from "./invite_pb.js";
14
14
  import type { GatewayMembers, PromotionRequests } from "./members_pb.js";
15
15
  import type { HeatingLayout, HeatingRecord } from "../../heating/v1/heating_pb.js";
16
16
  import type { AccountLinkNonce, AccountLinks } from "../../accountlink/v1/account_link_pb.js";
17
- import type { CommissioningProfile, CommissioningRecord, CommissioningTest, HomeSetups } from "../../commissioning/v1/commissioning_pb.js";
17
+ import type { CommissioningGrant, CommissioningGrants, CommissioningProfile, CommissioningRecord, CommissioningTest, HomeSetups } from "../../commissioning/v1/commissioning_pb.js";
18
+ import type { HouseholdExport, HouseholdHandover, HouseholdHandovers } from "./household_pb.js";
18
19
  import type { PairingErrorDetail, PairingWindow } from "../../common/v1/pairing_pb.js";
19
20
  import type { BackendHealth, ConnectorKind, DeviceOwnershipType } from "../../common/v1/types_pb.js";
20
21
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
@@ -455,6 +456,46 @@ export declare type ManagementResult = Message<"kusinta.iot.webrtc.v1.Management
455
456
  */
456
457
  value: HomeSetups;
457
458
  case: "homeSetups";
459
+ } | {
460
+ /**
461
+ * request_commissioning_grant, answer_commissioning_grant (granted)
462
+ *
463
+ * @generated from field: kusinta.iot.commissioning.v1.CommissioningGrant commissioning_grant = 22;
464
+ */
465
+ value: CommissioningGrant;
466
+ case: "commissioningGrant";
467
+ } | {
468
+ /**
469
+ * list_commissioning_grants
470
+ *
471
+ * @generated from field: kusinta.iot.commissioning.v1.CommissioningGrants commissioning_grants = 23;
472
+ */
473
+ value: CommissioningGrants;
474
+ case: "commissioningGrants";
475
+ } | {
476
+ /**
477
+ * start_household_handover
478
+ *
479
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdHandover household_handover = 24;
480
+ */
481
+ value: HouseholdHandover;
482
+ case: "householdHandover";
483
+ } | {
484
+ /**
485
+ * list_household_handovers
486
+ *
487
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdHandovers household_handovers = 25;
488
+ */
489
+ value: HouseholdHandovers;
490
+ case: "householdHandovers";
491
+ } | {
492
+ /**
493
+ * export_household_data
494
+ *
495
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdExport household_export = 26;
496
+ */
497
+ value: HouseholdExport;
498
+ case: "householdExport";
458
499
  } | { case: undefined; value?: undefined };
459
500
  };
460
501
 
@@ -1002,6 +1043,22 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
1002
1043
  */
1003
1044
  value: CommissioningTest;
1004
1045
  case: "commissioningTest";
1046
+ } | {
1047
+ /**
1048
+ * The commissioning grants on a space changed; see commissioning.v1.CommissioningGrants.
1049
+ *
1050
+ * @generated from field: kusinta.iot.commissioning.v1.CommissioningGrants commissioning_grants = 27;
1051
+ */
1052
+ value: CommissioningGrants;
1053
+ case: "commissioningGrants";
1054
+ } | {
1055
+ /**
1056
+ * A home's handover was started, cancelled or done; see HouseholdHandover.
1057
+ *
1058
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdHandover household_handover = 28;
1059
+ */
1060
+ value: HouseholdHandover;
1061
+ case: "householdHandover";
1005
1062
  } | { case: undefined; value?: undefined };
1006
1063
  };
1007
1064
 
@@ -17,6 +17,7 @@ import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
17
17
  import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
18
18
  import { file_kusinta_iot_webrtc_v1_command } from "./command_pb.js";
19
19
  import { file_kusinta_iot_webrtc_v1_device_state } from "./device_state_pb.js";
20
+ import { file_kusinta_iot_webrtc_v1_household } from "./household_pb.js";
20
21
  import { file_kusinta_iot_webrtc_v1_invite } from "./invite_pb.js";
21
22
  import { file_kusinta_iot_webrtc_v1_management } from "./management_pb.js";
22
23
  import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
@@ -26,7 +27,7 @@ import { file_kusinta_iot_webrtc_v1_permission_push } from "./permission_push_pb
26
27
  * Describes the file kusinta/iot/webrtc/v1/envelope.proto.
27
28
  */
28
29
  export const file_kusinta_iot_webrtc_v1_envelope = /*@__PURE__*/
29
- fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBItUKChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SAASQAoNcm9vbV9jbGltYXRlcxgHIAEoCzInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGVMaXN0SAASOwoMcm9vbV9oaXN0b3J5GAggASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tSGlzdG9yeUgAEkYKEnByaXZhY3lfZGlzY2xvc3VyZRgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcml2YWN5RGlzY2xvc3VyZUgAElQKGWFwYXJ0bWVudF9jbGltYXRlX3N1bW1hcnkYCiABKAsyLy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASPAoNaXNzdWVkX2ludml0ZRgLIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Jc3N1ZWRJbnZpdGVIABI8Cg1zcGFjZV9pbnZpdGVzGAwgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkAKD2dhdGV3YXlfbWVtYmVycxgNIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5TWVtYmVyc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgOIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEj8KDmhlYXRpbmdfbGF5b3V0GA8gASgLMiUua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nTGF5b3V0SAASPwoOaGVhdGluZ19yZWNvcmQYECABKAsyJS5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkhlYXRpbmdSZWNvcmRIABJKChJhY2NvdW50X2xpbmtfbm9uY2UYESABKAsyLC5rdXNpbnRhLmlvdC5hY2NvdW50bGluay52MS5BY2NvdW50TGlua05vbmNlSAASQQoNYWNjb3VudF9saW5rcxgSIAEoCzIoLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkFjY291bnRMaW5rc0gAElMKFWNvbW1pc3Npb25pbmdfcHJvZmlsZRgTIAEoCzIyLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Byb2ZpbGVIABJRChRjb21taXNzaW9uaW5nX3JlY29yZBgUIAEoCzIxLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1JlY29yZEgAEj8KC2hvbWVfc2V0dXBzGBUgASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Ib21lU2V0dXBzSABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIIogDChNDb25uZWN0b3JEZXNjcmlwdG9yEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAMgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYBCABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAUgASgIEhUKDWJyb2tlcnNfbGlua3MYBiABKAgSMgoEa2luZBgHIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAggASgJEjwKDmJhY2tlbmRfaGVhbHRoGAkgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLkJhY2tlbmRIZWFsdGgSJQodc3VwcG9ydHNfYmFja2VuZF9yZWluaXRpYWxpemUYCiABKAgiVQoTQ29ubmVjdG9yc0Fubm91bmNlZBI+Cgpjb25uZWN0b3JzGAEgAygLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbm5lY3RvckRlc2NyaXB0b3IiRwoSUm9vbUNsaW1hdGVDaGFuZ2VkEjEKBHJvb20YASABKAsyIy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLlJvb21DbGltYXRlIlYKEkNsaW1hdGVNb2RlQ2hhbmdlZBIxCgRtb2RlGAEgASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZRINCgVlbmRlZBgCIAEoCCLdDAoOR2F0ZXdheU1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJECg5zdGF0ZV9zbmFwc2hvdBgDIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VTdGF0ZVNuYXBzaG90SAASQAoPcHJvcGVydHlfcmVwb3J0GAQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVwb3J0SAASSAoRcGVybWlzc2lvbl91cGRhdGUYBSABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGl2ZVBlcm1pc3Npb25VcGRhdGVIABI+Cg5jb21tYW5kX3Jlc3VsdBgGIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kUmVzdWx0SAASKwoEcG9uZxgIIAEoCzIbLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qb25nSAASRgoSaGFuZHNoYWtlX3JlamVjdGVkGAkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkhhbmRzaGFrZVJlamVjdGVkSAASNAoFZXJyb3IYCiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9ySAASQgoQc3Vic2NyaXB0aW9uX2FjaxgLIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpcHRpb25BY2tIABI6CgxkZXZpY2VfYWRkZWQYDCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQWRkZWRIABI+Cg5kZXZpY2VfcmVtb3ZlZBgNIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VSZW1vdmVkSAASRAoRbWFuYWdlbWVudF9yZXN1bHQYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlc3VsdEgAEkAKDWRldmljZV9ldmVudHMYECABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAEkAKD3BhaXJpbmdfc3RhcnRlZBgRIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QYWlyaW5nU3RhcnRlZEgAEkIKEHBhaXJpbmdfZmluaXNoZWQYEiABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGFpcmluZ0ZpbmlzaGVkSAASOgoMbGlua19jaGFuZ2VkGBMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpbmtDaGFuZ2VkSAASSgoUY29ubmVjdG9yc19hbm5vdW5jZWQYFCABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29ubmVjdG9yc0Fubm91bmNlZEgAEkkKFHJvb21fY2xpbWF0ZV9jaGFuZ2VkGBUgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlJvb21DbGltYXRlQ2hhbmdlZEgAEkkKFGNsaW1hdGVfbW9kZV9jaGFuZ2VkGBYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsaW1hdGVNb2RlQ2hhbmdlZEgAEk0KFnNlcnZpY2Vfc3RhdHVzX2NoYW5nZWQYFyABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2VydmljZVN0YXR1c0NoYW5nZWRIABI8Cg1zcGFjZV9pbnZpdGVzGBggASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgZIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEk0KEmNvbW1pc3Npb25pbmdfdGVzdBgaIAEoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3RIAEIJCgdwYXlsb2FkSgQIDxAQSgQIBxAIUhZhdHRyaWJ1dGVfd3JpdGVfcmVzdWx0Ug5wcm9wZXJ0eV9ldmVudCKDBQoKQXBwTWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKCWhhbmRzaGFrZRgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHBIYW5kc2hha2VIABI3Cgdjb21tYW5kGAQgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJCCgxyZWFkX3JlcXVlc3QYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZWFkUmVxdWVzdEgAEisKBHBpbmcYBiABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGluZ0gAEjwKCXN1YnNjcmliZRgHIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpYmVEZXZpY2VzSAASQAoLdW5zdWJzY3JpYmUYCCABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuVW5zdWJzY3JpYmVEZXZpY2VzSAASPgoKbWFuYWdlbWVudBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVxdWVzdEgAEkcKD2F0dHJpYnV0ZV93cml0ZRgKIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABI8Cg1zdGFydF9wYWlyaW5nGAsgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlN0YXJ0UGFpcmluZ0gAQgkKB3BheWxvYWQqogIKEEdhdGV3YXlFcnJvckNvZGUSIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASIwofR0FURVdBWV9FUlJPUl9DT0RFX05PVF9FTlRJVExFRBABEiYKIkdBVEVXQVlfRVJST1JfQ09ERV9JTlZBTElEX1JFUVVFU1QQAhIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5BVkFJTEFCTEUQAxIfChtHQVRFV0FZX0VSUk9SX0NPREVfSU5URVJOQUwQBBIsCihHQVRFV0FZX0VSUk9SX0NPREVfU0VTU0lPTl9MSU1JVF9SRUFDSEVEEAUSKgomR0FURVdBWV9FUlJPUl9DT0RFX0ZBSUxFRF9QUkVDT05ESVRJT04QBkICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_accountlink_v1_account_link, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_commissioning_v1_commissioning, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_heating_v1_heating, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_members, file_kusinta_iot_webrtc_v1_permission_push]);
30
+ fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIs8NChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SAASQAoNcm9vbV9jbGltYXRlcxgHIAEoCzInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGVMaXN0SAASOwoMcm9vbV9oaXN0b3J5GAggASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tSGlzdG9yeUgAEkYKEnByaXZhY3lfZGlzY2xvc3VyZRgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcml2YWN5RGlzY2xvc3VyZUgAElQKGWFwYXJ0bWVudF9jbGltYXRlX3N1bW1hcnkYCiABKAsyLy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASPAoNaXNzdWVkX2ludml0ZRgLIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Jc3N1ZWRJbnZpdGVIABI8Cg1zcGFjZV9pbnZpdGVzGAwgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkAKD2dhdGV3YXlfbWVtYmVycxgNIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5TWVtYmVyc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgOIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEj8KDmhlYXRpbmdfbGF5b3V0GA8gASgLMiUua3VzaW50YS5pb3QuaGVhdGluZy52MS5IZWF0aW5nTGF5b3V0SAASPwoOaGVhdGluZ19yZWNvcmQYECABKAsyJS5rdXNpbnRhLmlvdC5oZWF0aW5nLnYxLkhlYXRpbmdSZWNvcmRIABJKChJhY2NvdW50X2xpbmtfbm9uY2UYESABKAsyLC5rdXNpbnRhLmlvdC5hY2NvdW50bGluay52MS5BY2NvdW50TGlua05vbmNlSAASQQoNYWNjb3VudF9saW5rcxgSIAEoCzIoLmt1c2ludGEuaW90LmFjY291bnRsaW5rLnYxLkFjY291bnRMaW5rc0gAElMKFWNvbW1pc3Npb25pbmdfcHJvZmlsZRgTIAEoCzIyLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Byb2ZpbGVIABJRChRjb21taXNzaW9uaW5nX3JlY29yZBgUIAEoCzIxLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1JlY29yZEgAEj8KC2hvbWVfc2V0dXBzGBUgASgLMigua3VzaW50YS5pb3QuY29tbWlzc2lvbmluZy52MS5Ib21lU2V0dXBzSAASTwoTY29tbWlzc2lvbmluZ19ncmFudBgWIAEoCzIwLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ0dyYW50SAASUQoUY29tbWlzc2lvbmluZ19ncmFudHMYFyABKAsyMS5rdXNpbnRhLmlvdC5jb21taXNzaW9uaW5nLnYxLkNvbW1pc3Npb25pbmdHcmFudHNIABJGChJob3VzZWhvbGRfaGFuZG92ZXIYGCABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuSG91c2Vob2xkSGFuZG92ZXJIABJIChNob3VzZWhvbGRfaGFuZG92ZXJzGBkgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkhvdXNlaG9sZEhhbmRvdmVyc0gAEkIKEGhvdXNlaG9sZF9leHBvcnQYGiABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuSG91c2Vob2xkRXhwb3J0SABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIIogDChNDb25uZWN0b3JEZXNjcmlwdG9yEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAMgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYBCABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAUgASgIEhUKDWJyb2tlcnNfbGlua3MYBiABKAgSMgoEa2luZBgHIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAggASgJEjwKDmJhY2tlbmRfaGVhbHRoGAkgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLkJhY2tlbmRIZWFsdGgSJQodc3VwcG9ydHNfYmFja2VuZF9yZWluaXRpYWxpemUYCiABKAgiVQoTQ29ubmVjdG9yc0Fubm91bmNlZBI+Cgpjb25uZWN0b3JzGAEgAygLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbm5lY3RvckRlc2NyaXB0b3IiRwoSUm9vbUNsaW1hdGVDaGFuZ2VkEjEKBHJvb20YASABKAsyIy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLlJvb21DbGltYXRlIlYKEkNsaW1hdGVNb2RlQ2hhbmdlZBIxCgRtb2RlGAEgASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZRINCgVlbmRlZBgCIAEoCCL4DQoOR2F0ZXdheU1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJECg5zdGF0ZV9zbmFwc2hvdBgDIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VTdGF0ZVNuYXBzaG90SAASQAoPcHJvcGVydHlfcmVwb3J0GAQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVwb3J0SAASSAoRcGVybWlzc2lvbl91cGRhdGUYBSABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGl2ZVBlcm1pc3Npb25VcGRhdGVIABI+Cg5jb21tYW5kX3Jlc3VsdBgGIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kUmVzdWx0SAASKwoEcG9uZxgIIAEoCzIbLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qb25nSAASRgoSaGFuZHNoYWtlX3JlamVjdGVkGAkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkhhbmRzaGFrZVJlamVjdGVkSAASNAoFZXJyb3IYCiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9ySAASQgoQc3Vic2NyaXB0aW9uX2FjaxgLIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpcHRpb25BY2tIABI6CgxkZXZpY2VfYWRkZWQYDCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQWRkZWRIABI+Cg5kZXZpY2VfcmVtb3ZlZBgNIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VSZW1vdmVkSAASRAoRbWFuYWdlbWVudF9yZXN1bHQYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlc3VsdEgAEkAKDWRldmljZV9ldmVudHMYECABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAEkAKD3BhaXJpbmdfc3RhcnRlZBgRIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QYWlyaW5nU3RhcnRlZEgAEkIKEHBhaXJpbmdfZmluaXNoZWQYEiABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGFpcmluZ0ZpbmlzaGVkSAASOgoMbGlua19jaGFuZ2VkGBMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpbmtDaGFuZ2VkSAASSgoUY29ubmVjdG9yc19hbm5vdW5jZWQYFCABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29ubmVjdG9yc0Fubm91bmNlZEgAEkkKFHJvb21fY2xpbWF0ZV9jaGFuZ2VkGBUgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlJvb21DbGltYXRlQ2hhbmdlZEgAEkkKFGNsaW1hdGVfbW9kZV9jaGFuZ2VkGBYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsaW1hdGVNb2RlQ2hhbmdlZEgAEk0KFnNlcnZpY2Vfc3RhdHVzX2NoYW5nZWQYFyABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2VydmljZVN0YXR1c0NoYW5nZWRIABI8Cg1zcGFjZV9pbnZpdGVzGBggASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkYKEnByb21vdGlvbl9yZXF1ZXN0cxgZIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9tb3Rpb25SZXF1ZXN0c0gAEk0KEmNvbW1pc3Npb25pbmdfdGVzdBgaIAEoCzIvLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ1Rlc3RIABJRChRjb21taXNzaW9uaW5nX2dyYW50cxgbIAEoCzIxLmt1c2ludGEuaW90LmNvbW1pc3Npb25pbmcudjEuQ29tbWlzc2lvbmluZ0dyYW50c0gAEkYKEmhvdXNlaG9sZF9oYW5kb3ZlchgcIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Ib3VzZWhvbGRIYW5kb3ZlckgAQgkKB3BheWxvYWRKBAgPEBBKBAgHEAhSFmF0dHJpYnV0ZV93cml0ZV9yZXN1bHRSDnByb3BlcnR5X2V2ZW50IoMFCgpBcHBNZXNzYWdlEhIKCm1lc3NhZ2VfaWQYASABKAkSKwoHc2VudF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoJaGFuZHNoYWtlGAMgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkFwcEhhbmRzaGFrZUgAEjcKB2NvbW1hbmQYBCABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQ29tbWFuZEgAEkIKDHJlYWRfcmVxdWVzdBgFIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9wZXJ0eVJlYWRSZXF1ZXN0SAASKwoEcGluZxgGIAEoCzIbLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QaW5nSAASPAoJc3Vic2NyaWJlGAcgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlN1YnNjcmliZURldmljZXNIABJACgt1bnN1YnNjcmliZRgIIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VbnN1YnNjcmliZURldmljZXNIABI+CgptYW5hZ2VtZW50GAkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLk1hbmFnZW1lbnRSZXF1ZXN0SAASRwoPYXR0cmlidXRlX3dyaXRlGAogASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLkF0dHJpYnV0ZVdyaXRlUmVxdWVzdEgAEjwKDXN0YXJ0X3BhaXJpbmcYCyABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3RhcnRQYWlyaW5nSABCCQoHcGF5bG9hZCqiAgoQR2F0ZXdheUVycm9yQ29kZRIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIjCh9HQVRFV0FZX0VSUk9SX0NPREVfTk9UX0VOVElUTEVEEAESJgoiR0FURVdBWV9FUlJPUl9DT0RFX0lOVkFMSURfUkVRVUVTVBACEiIKHkdBVEVXQVlfRVJST1JfQ09ERV9VTkFWQUlMQUJMRRADEh8KG0dBVEVXQVlfRVJST1JfQ09ERV9JTlRFUk5BTBAEEiwKKEdBVEVXQVlfRVJST1JfQ09ERV9TRVNTSU9OX0xJTUlUX1JFQUNIRUQQBRIqCiZHQVRFV0FZX0VSUk9SX0NPREVfRkFJTEVEX1BSRUNPTkRJVElPThAGQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_accountlink_v1_account_link, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_commissioning_v1_commissioning, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_heating_v1_heating, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_household, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_members, file_kusinta_iot_webrtc_v1_permission_push]);
30
31
 
31
32
  /**
32
33
  * Describes the message kusinta.iot.webrtc.v1.Ping.
@@ -0,0 +1,490 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/webrtc/v1/household.proto (package kusinta.iot.webrtc.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { SpaceId, UserId } from "../../identity/v1/identity_pb.js";
8
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
+ import type { ApartmentClimateSummary, RoomClimateList, RoomHistory } from "../../climate/v1/climate_pb.js";
10
+ import type { CommissioningProfile } from "../../commissioning/v1/commissioning_pb.js";
11
+ import type { HeatingLayout } from "../../heating/v1/heating_pb.js";
12
+
13
+ /**
14
+ * Describes the file kusinta/iot/webrtc/v1/household.proto.
15
+ */
16
+ export declare const file_kusinta_iot_webrtc_v1_household: GenFile;
17
+
18
+ /**
19
+ * Makes a household admin of a home a resident again, at once; their residency continues
20
+ * (access.v1.MembershipRelation, HOUSEHOLD ADMIN). Answered with ManagementAck.
21
+ *
22
+ * A household admin of the home only; anyone else is refused as NOT_ENTITLED. user_id is
23
+ * never a residency id (INVALID_REQUEST). A resident of the home who is not a household admin
24
+ * is acknowledged and nothing changes; anyone else is "not_a_member", as members.proto has it.
25
+ * A demotion that would leave the home with no household admin is refused as
26
+ * "last_household_admin" (LAST ADMIN). Ends, with the demotion, the promotion requests the
27
+ * demoted member made for the home and the household invites they created there, with the
28
+ * join requests those invites made.
29
+ *
30
+ * @generated from message kusinta.iot.webrtc.v1.DemoteHouseholdAdmin
31
+ */
32
+ export declare type DemoteHouseholdAdmin = Message<"kusinta.iot.webrtc.v1.DemoteHouseholdAdmin"> & {
33
+ /**
34
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
35
+ */
36
+ homeId?: SpaceId | undefined;
37
+
38
+ /**
39
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
40
+ */
41
+ userId?: UserId | undefined;
42
+ };
43
+
44
+ /**
45
+ * Describes the message kusinta.iot.webrtc.v1.DemoteHouseholdAdmin.
46
+ * Use `create(DemoteHouseholdAdminSchema)` to create a new message.
47
+ */
48
+ export declare const DemoteHouseholdAdminSchema: GenMessage<DemoteHouseholdAdmin>;
49
+
50
+ /**
51
+ * One staff appointment of a household admin of a home, as its residents are told it.
52
+ *
53
+ * @generated from message kusinta.iot.webrtc.v1.StaffAppointment
54
+ */
55
+ export declare type StaffAppointment = Message<"kusinta.iot.webrtc.v1.StaffAppointment"> & {
56
+ /**
57
+ * The resident appointed.
58
+ *
59
+ * @generated from field: kusinta.iot.identity.v1.UserId appointee = 1;
60
+ */
61
+ appointee?: UserId | undefined;
62
+
63
+ /**
64
+ * The staff member who appointed them, and the name they gave their account
65
+ * (AppTokenClaims.name) as the gateway last learnt it; empty when none is learnt.
66
+ * Self-chosen, as MemberDetail.name is.
67
+ *
68
+ * @generated from field: kusinta.iot.identity.v1.UserId appointed_by = 2;
69
+ */
70
+ appointedBy?: UserId | undefined;
71
+
72
+ /**
73
+ * @generated from field: string appointed_by_name = 3;
74
+ */
75
+ appointedByName: string;
76
+
77
+ /**
78
+ * When the appointment took effect: the redeem, or the acceptance.
79
+ *
80
+ * @generated from field: google.protobuf.Timestamp at = 4;
81
+ */
82
+ at?: Timestamp | undefined;
83
+
84
+ /**
85
+ * @generated from field: kusinta.iot.webrtc.v1.StaffAppointmentKind kind = 5;
86
+ */
87
+ kind: StaffAppointmentKind;
88
+ };
89
+
90
+ /**
91
+ * Describes the message kusinta.iot.webrtc.v1.StaffAppointment.
92
+ * Use `create(StaffAppointmentSchema)` to create a new message.
93
+ */
94
+ export declare const StaffAppointmentSchema: GenMessage<StaffAppointment>;
95
+
96
+ /**
97
+ * Starts the handover of one home (HANDOVER, 1), answered with the HouseholdHandover, PENDING.
98
+ * Anyone HANDOVER does not name is refused as NOT_ENTITLED. A space that is not an apartment is
99
+ * INVALID_REQUEST. Starting one while one is pending answers the pending one and starts
100
+ * nothing.
101
+ *
102
+ * @generated from message kusinta.iot.webrtc.v1.StartHouseholdHandover
103
+ */
104
+ export declare type StartHouseholdHandover = Message<"kusinta.iot.webrtc.v1.StartHouseholdHandover"> & {
105
+ /**
106
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
107
+ */
108
+ homeId?: SpaceId | undefined;
109
+ };
110
+
111
+ /**
112
+ * Describes the message kusinta.iot.webrtc.v1.StartHouseholdHandover.
113
+ * Use `create(StartHouseholdHandoverSchema)` to create a new message.
114
+ */
115
+ export declare const StartHouseholdHandoverSchema: GenMessage<StartHouseholdHandover>;
116
+
117
+ /**
118
+ * Confirms a pending handover (HANDOVER, 3–4; VACANCY). Answered with ManagementAck once every
119
+ * membership of the home has ended; the wipe follows, and the handover is pushed as DONE.
120
+ * Staff confirming before staff_confirmable_from are refused as FAILED_PRECONDITION with
121
+ * metadata {"reason": "notice_running"}. A handover that is not pending, or that the caller
122
+ * may not confirm, is refused as NOT_ENTITLED, so that no handover id can be probed.
123
+ *
124
+ * @generated from message kusinta.iot.webrtc.v1.ConfirmHouseholdHandover
125
+ */
126
+ export declare type ConfirmHouseholdHandover = Message<"kusinta.iot.webrtc.v1.ConfirmHouseholdHandover"> & {
127
+ /**
128
+ * @generated from field: string handover_id = 1;
129
+ */
130
+ handoverId: string;
131
+ };
132
+
133
+ /**
134
+ * Describes the message kusinta.iot.webrtc.v1.ConfirmHouseholdHandover.
135
+ * Use `create(ConfirmHouseholdHandoverSchema)` to create a new message.
136
+ */
137
+ export declare const ConfirmHouseholdHandoverSchema: GenMessage<ConfirmHouseholdHandover>;
138
+
139
+ /**
140
+ * Cancels a pending handover (HANDOVER, 3); nothing has changed, and nothing does. Answered
141
+ * with ManagementAck, and pushed as CANCELLED. A vacated one is refused as FAILED_PRECONDITION
142
+ * with metadata {"reason": "vacated"} (VACANCY). A handover that is not pending, or that the
143
+ * caller may not cancel, is refused as NOT_ENTITLED.
144
+ *
145
+ * @generated from message kusinta.iot.webrtc.v1.CancelHouseholdHandover
146
+ */
147
+ export declare type CancelHouseholdHandover = Message<"kusinta.iot.webrtc.v1.CancelHouseholdHandover"> & {
148
+ /**
149
+ * @generated from field: string handover_id = 1;
150
+ */
151
+ handoverId: string;
152
+ };
153
+
154
+ /**
155
+ * Describes the message kusinta.iot.webrtc.v1.CancelHouseholdHandover.
156
+ * Use `create(CancelHouseholdHandoverSchema)` to create a new message.
157
+ */
158
+ export declare const CancelHouseholdHandoverSchema: GenMessage<CancelHouseholdHandover>;
159
+
160
+ /**
161
+ * Lists the pending handovers of the homes under a space the caller may be told of, answered
162
+ * with HouseholdHandovers: unset root_space_id, every one. A home's handover is told to its
163
+ * residents, and to the property owner and the gateway administrators who reach it; a
164
+ * vacated one to the departing household instead of residents (VACANCY). Anyone may
165
+ * ask; nobody is refused, and a caller told of none gets none.
166
+ *
167
+ * @generated from message kusinta.iot.webrtc.v1.ListHouseholdHandovers
168
+ */
169
+ export declare type ListHouseholdHandovers = Message<"kusinta.iot.webrtc.v1.ListHouseholdHandovers"> & {
170
+ /**
171
+ * @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
172
+ */
173
+ rootSpaceId?: SpaceId | undefined;
174
+ };
175
+
176
+ /**
177
+ * Describes the message kusinta.iot.webrtc.v1.ListHouseholdHandovers.
178
+ * Use `create(ListHouseholdHandoversSchema)` to create a new message.
179
+ */
180
+ export declare const ListHouseholdHandoversSchema: GenMessage<ListHouseholdHandovers>;
181
+
182
+ /**
183
+ * One handover of one home (HANDOVER), as told to one caller.
184
+ *
185
+ * The answer to StartHouseholdHandover, and pushed as GatewayMessage.household_handover to
186
+ * every session it is told to (ListHouseholdHandovers) whenever it is started, cancelled or
187
+ * done, or its staff_confirmable_from moves: to the household, the notice. A DONE push
188
+ * reaches the household's sessions before they lose the home.
189
+ *
190
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdHandover
191
+ */
192
+ export declare type HouseholdHandover = Message<"kusinta.iot.webrtc.v1.HouseholdHandover"> & {
193
+ /**
194
+ * Minted by the gateway, opaque.
195
+ *
196
+ * @generated from field: string handover_id = 1;
197
+ */
198
+ handoverId: string;
199
+
200
+ /**
201
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 2;
202
+ */
203
+ homeId?: SpaceId | undefined;
204
+
205
+ /**
206
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdHandoverState state = 3;
207
+ */
208
+ state: HouseholdHandoverState;
209
+
210
+ /**
211
+ * Who started it, and the name they gave their account (AppTokenClaims.name) as the gateway
212
+ * last learnt it. Given to the household; to anyone else only when started_by_staff, and
213
+ * unset otherwise, since a resident's user id would say where they live. The name is
214
+ * self-chosen, as MemberDetail.name is.
215
+ *
216
+ * @generated from field: kusinta.iot.identity.v1.UserId started_by = 4;
217
+ */
218
+ startedBy?: UserId | undefined;
219
+
220
+ /**
221
+ * @generated from field: string started_by_name = 5;
222
+ */
223
+ startedByName: string;
224
+
225
+ /**
226
+ * Set when the property owner or a gateway administrator started it, rather than the
227
+ * household. Neither this nor started_by is set when it was vacated.
228
+ *
229
+ * @generated from field: bool started_by_staff = 6;
230
+ */
231
+ startedByStaff: boolean;
232
+
233
+ /**
234
+ * @generated from field: google.protobuf.Timestamp started_at = 7;
235
+ */
236
+ startedAt?: Timestamp | undefined;
237
+
238
+ /**
239
+ * From when the property owner or a gateway administrator may confirm it, and when a vacated
240
+ * one completes on its own: 7 days after started_at, and never sooner than 7 days after the
241
+ * home's last residency ended. On a handover that is not vacated, a residency that starts
242
+ * while it is pending moves it to 7 days after that, and the handover is pushed again, so
243
+ * that a household that moves in during it has its notice too; on a vacated one nobody new
244
+ * moves in (VACANCY).
245
+ *
246
+ * @generated from field: google.protobuf.Timestamp staff_confirmable_from = 8;
247
+ */
248
+ staffConfirmableFrom?: Timestamp | undefined;
249
+
250
+ /**
251
+ * When it was cancelled or done. Unset while pending.
252
+ *
253
+ * @generated from field: google.protobuf.Timestamp ended_at = 9;
254
+ */
255
+ endedAt?: Timestamp | undefined;
256
+
257
+ /**
258
+ * Set when the home's last residency ending started it, rather than a request (VACANCY).
259
+ *
260
+ * @generated from field: bool vacated = 10;
261
+ */
262
+ vacated: boolean;
263
+ };
264
+
265
+ /**
266
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdHandover.
267
+ * Use `create(HouseholdHandoverSchema)` to create a new message.
268
+ */
269
+ export declare const HouseholdHandoverSchema: GenMessage<HouseholdHandover>;
270
+
271
+ /**
272
+ * Sets the household's own name for its home (space.v1.Space.home_name). Answered with
273
+ * ManagementAck. Any resident of the home may — a name is not governance, so it is not kept to
274
+ * household admins; anyone else is refused as NOT_ENTITLED. home_id must be an apartment
275
+ * (INVALID_REQUEST otherwise). The name is trimmed; empty clears it, and one longer than 64
276
+ * characters is refused as INVALID_REQUEST with metadata {"reason": "home_name"}. It never
277
+ * changes the apartment's own name (space.v1.Space.name), and it is wiped at the home's
278
+ * handover.
279
+ *
280
+ * @generated from message kusinta.iot.webrtc.v1.SetHomeName
281
+ */
282
+ export declare type SetHomeName = Message<"kusinta.iot.webrtc.v1.SetHomeName"> & {
283
+ /**
284
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
285
+ */
286
+ homeId?: SpaceId | undefined;
287
+
288
+ /**
289
+ * @generated from field: string name = 2;
290
+ */
291
+ name: string;
292
+ };
293
+
294
+ /**
295
+ * Describes the message kusinta.iot.webrtc.v1.SetHomeName.
296
+ * Use `create(SetHomeNameSchema)` to create a new message.
297
+ */
298
+ export declare const SetHomeNameSchema: GenMessage<SetHomeName>;
299
+
300
+ /**
301
+ * The answer to ListHouseholdHandovers.
302
+ *
303
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdHandovers
304
+ */
305
+ export declare type HouseholdHandovers = Message<"kusinta.iot.webrtc.v1.HouseholdHandovers"> & {
306
+ /**
307
+ * @generated from field: repeated kusinta.iot.webrtc.v1.HouseholdHandover handovers = 1;
308
+ */
309
+ handovers: HouseholdHandover[];
310
+ };
311
+
312
+ /**
313
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdHandovers.
314
+ * Use `create(HouseholdHandoversSchema)` to create a new message.
315
+ */
316
+ export declare const HouseholdHandoversSchema: GenMessage<HouseholdHandovers>;
317
+
318
+ /**
319
+ * Asks for one part of a home's export (EXPORT), answered with a HouseholdExport. The first
320
+ * part is asked with no part_token, and each further one with the next_part_token of the part
321
+ * before, until one comes with none. The home's residents only, and during a vacated handover
322
+ * the departing household, holding nothing recorded after their residency ended (VACANCY);
323
+ * anyone else is refused as NOT_ENTITLED.
324
+ *
325
+ * A part_token says where the next part starts. The gateway keeps nothing for it: it checks
326
+ * the token it minted when it is used, against the caller's rights then, so an interrupted
327
+ * export resumes where it stopped, within the caller's residency. A token the gateway did not
328
+ * mint, or minted for another caller, home or residency — one that has ended included, save
329
+ * during that home's vacated handover — is refused as INVALID_REQUEST with metadata
330
+ * {"reason": "part_token"}.
331
+ *
332
+ * @generated from message kusinta.iot.webrtc.v1.ExportHouseholdData
333
+ */
334
+ export declare type ExportHouseholdData = Message<"kusinta.iot.webrtc.v1.ExportHouseholdData"> & {
335
+ /**
336
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
337
+ */
338
+ homeId?: SpaceId | undefined;
339
+
340
+ /**
341
+ * @generated from field: string part_token = 2;
342
+ */
343
+ partToken: string;
344
+ };
345
+
346
+ /**
347
+ * Describes the message kusinta.iot.webrtc.v1.ExportHouseholdData.
348
+ * Use `create(ExportHouseholdDataSchema)` to create a new message.
349
+ */
350
+ export declare const ExportHouseholdDataSchema: GenMessage<ExportHouseholdData>;
351
+
352
+ /**
353
+ * One part of a home's export (EXPORT). The gateway chooses the order of the parts and how
354
+ * each is cut; together they are the whole of it, each as of when it was made. Each part is
355
+ * what the read named beside it would give the caller.
356
+ *
357
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdExport
358
+ */
359
+ export declare type HouseholdExport = Message<"kusinta.iot.webrtc.v1.HouseholdExport"> & {
360
+ /**
361
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
362
+ */
363
+ homeId?: SpaceId | undefined;
364
+
365
+ /**
366
+ * @generated from oneof kusinta.iot.webrtc.v1.HouseholdExport.part
367
+ */
368
+ part: {
369
+ /**
370
+ * The home's rooms, their settings, and the modes on the home (ListRoomClimates).
371
+ *
372
+ * @generated from field: kusinta.iot.climate.v1.RoomClimateList room_climates = 2;
373
+ */
374
+ value: RoomClimateList;
375
+ case: "roomClimates";
376
+ } | {
377
+ /**
378
+ * One room's history over at most 7 days of buckets, as GetRoomHistory answers it. A
379
+ * room's history comes in as many parts as it takes, in order.
380
+ *
381
+ * @generated from field: kusinta.iot.climate.v1.RoomHistory room_history = 3;
382
+ */
383
+ value: RoomHistory;
384
+ case: "roomHistory";
385
+ } | {
386
+ /**
387
+ * The home's climate summary over one period length (GetApartmentClimateSummary): one
388
+ * part for each of DAY, WEEK and MONTH.
389
+ *
390
+ * @generated from field: kusinta.iot.climate.v1.ApartmentClimateSummary climate_summary = 4;
391
+ */
392
+ value: ApartmentClimateSummary;
393
+ case: "climateSummary";
394
+ } | {
395
+ /**
396
+ * The home's commissioning (ListCommissioning).
397
+ *
398
+ * @generated from field: kusinta.iot.commissioning.v1.CommissioningProfile commissioning = 5;
399
+ */
400
+ value: CommissioningProfile;
401
+ case: "commissioning";
402
+ } | {
403
+ /**
404
+ * The home's heating records (ListHeating).
405
+ *
406
+ * @generated from field: kusinta.iot.heating.v1.HeatingLayout heating = 6;
407
+ */
408
+ value: HeatingLayout;
409
+ case: "heating";
410
+ } | { case: undefined; value?: undefined };
411
+
412
+ /**
413
+ * The token to ask for the next part with; empty on the last.
414
+ *
415
+ * @generated from field: string next_part_token = 7;
416
+ */
417
+ nextPartToken: string;
418
+ };
419
+
420
+ /**
421
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdExport.
422
+ * Use `create(HouseholdExportSchema)` to create a new message.
423
+ */
424
+ export declare const HouseholdExportSchema: GenMessage<HouseholdExport>;
425
+
426
+ /**
427
+ * How a staff member appointed a household admin (STAFF APPOINTMENT).
428
+ *
429
+ * @generated from enum kusinta.iot.webrtc.v1.StaffAppointmentKind
430
+ */
431
+ export enum StaffAppointmentKind {
432
+ /**
433
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_UNSPECIFIED = 0;
434
+ */
435
+ UNSPECIFIED = 0,
436
+
437
+ /**
438
+ * An appointment invite on an empty home, redeemed.
439
+ *
440
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_INVITE = 1;
441
+ */
442
+ INVITE = 1,
443
+
444
+ /**
445
+ * A promotion request to a resident of an admin-less home, accepted.
446
+ *
447
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_PROMOTION = 2;
448
+ */
449
+ PROMOTION = 2,
450
+ }
451
+
452
+ /**
453
+ * Describes the enum kusinta.iot.webrtc.v1.StaffAppointmentKind.
454
+ */
455
+ export declare const StaffAppointmentKindSchema: GenEnum<StaffAppointmentKind>;
456
+
457
+ /**
458
+ * @generated from enum kusinta.iot.webrtc.v1.HouseholdHandoverState
459
+ */
460
+ export enum HouseholdHandoverState {
461
+ /**
462
+ * A state this schema does not know: read as PENDING.
463
+ *
464
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_UNSPECIFIED = 0;
465
+ */
466
+ UNSPECIFIED = 0,
467
+
468
+ /**
469
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_PENDING = 1;
470
+ */
471
+ PENDING = 1,
472
+
473
+ /**
474
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_CANCELLED = 2;
475
+ */
476
+ CANCELLED = 2,
477
+
478
+ /**
479
+ * Confirmed, or the last residency of the home ended while it was pending.
480
+ *
481
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_DONE = 3;
482
+ */
483
+ DONE = 3,
484
+ }
485
+
486
+ /**
487
+ * Describes the enum kusinta.iot.webrtc.v1.HouseholdHandoverState.
488
+ */
489
+ export declare const HouseholdHandoverStateSchema: GenEnum<HouseholdHandoverState>;
490
+