@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,613 @@
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. Both are
66
+ * cleared once that account is deleted or removed from the gateway, when the record stays
67
+ * without them. Self-chosen, as MemberDetail.name is.
68
+ *
69
+ * @generated from field: kusinta.iot.identity.v1.UserId appointed_by = 2;
70
+ */
71
+ appointedBy?: UserId | undefined;
72
+
73
+ /**
74
+ * @generated from field: string appointed_by_name = 3;
75
+ */
76
+ appointedByName: string;
77
+
78
+ /**
79
+ * When the appointment took effect: the redeem, or the acceptance.
80
+ *
81
+ * @generated from field: google.protobuf.Timestamp at = 4;
82
+ */
83
+ at?: Timestamp | undefined;
84
+
85
+ /**
86
+ * @generated from field: kusinta.iot.webrtc.v1.StaffAppointmentKind kind = 5;
87
+ */
88
+ kind: StaffAppointmentKind;
89
+ };
90
+
91
+ /**
92
+ * Describes the message kusinta.iot.webrtc.v1.StaffAppointment.
93
+ * Use `create(StaffAppointmentSchema)` to create a new message.
94
+ */
95
+ export declare const StaffAppointmentSchema: GenMessage<StaffAppointment>;
96
+
97
+ /**
98
+ * Starts the handover of one home (HANDOVER, 1), answered with the HouseholdHandover, PENDING.
99
+ * Anyone HANDOVER does not name is refused as NOT_ENTITLED. A space that is not an apartment is
100
+ * INVALID_REQUEST. Starting one while one is pending answers the pending one and starts
101
+ * nothing.
102
+ *
103
+ * @generated from message kusinta.iot.webrtc.v1.StartHouseholdHandover
104
+ */
105
+ export declare type StartHouseholdHandover = Message<"kusinta.iot.webrtc.v1.StartHouseholdHandover"> & {
106
+ /**
107
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
108
+ */
109
+ homeId?: SpaceId | undefined;
110
+ };
111
+
112
+ /**
113
+ * Describes the message kusinta.iot.webrtc.v1.StartHouseholdHandover.
114
+ * Use `create(StartHouseholdHandoverSchema)` to create a new message.
115
+ */
116
+ export declare const StartHouseholdHandoverSchema: GenMessage<StartHouseholdHandover>;
117
+
118
+ /**
119
+ * Confirms a pending handover (HANDOVER, 3–4; VACANCY). Answered with ManagementAck once every
120
+ * membership of the home has ended; the wipe follows, and the handover is pushed as DONE.
121
+ * Staff confirming before staff_confirmable_from are refused as FAILED_PRECONDITION with
122
+ * metadata {"reason": "notice_running"}. A handover that is not pending, or that the caller
123
+ * may not confirm, is refused as NOT_ENTITLED, so that no handover id can be probed.
124
+ *
125
+ * @generated from message kusinta.iot.webrtc.v1.ConfirmHouseholdHandover
126
+ */
127
+ export declare type ConfirmHouseholdHandover = Message<"kusinta.iot.webrtc.v1.ConfirmHouseholdHandover"> & {
128
+ /**
129
+ * @generated from field: string handover_id = 1;
130
+ */
131
+ handoverId: string;
132
+ };
133
+
134
+ /**
135
+ * Describes the message kusinta.iot.webrtc.v1.ConfirmHouseholdHandover.
136
+ * Use `create(ConfirmHouseholdHandoverSchema)` to create a new message.
137
+ */
138
+ export declare const ConfirmHouseholdHandoverSchema: GenMessage<ConfirmHouseholdHandover>;
139
+
140
+ /**
141
+ * Cancels a pending handover (HANDOVER, 3); nothing has changed, and nothing does. Answered
142
+ * with ManagementAck, and pushed as CANCELLED. A vacated one is refused as FAILED_PRECONDITION
143
+ * with metadata {"reason": "vacated"} (VACANCY). A handover that is not pending, or that the
144
+ * caller may not cancel, is refused as NOT_ENTITLED.
145
+ *
146
+ * @generated from message kusinta.iot.webrtc.v1.CancelHouseholdHandover
147
+ */
148
+ export declare type CancelHouseholdHandover = Message<"kusinta.iot.webrtc.v1.CancelHouseholdHandover"> & {
149
+ /**
150
+ * @generated from field: string handover_id = 1;
151
+ */
152
+ handoverId: string;
153
+ };
154
+
155
+ /**
156
+ * Describes the message kusinta.iot.webrtc.v1.CancelHouseholdHandover.
157
+ * Use `create(CancelHouseholdHandoverSchema)` to create a new message.
158
+ */
159
+ export declare const CancelHouseholdHandoverSchema: GenMessage<CancelHouseholdHandover>;
160
+
161
+ /**
162
+ * Lists the pending handovers of the homes under a space the caller may be told of, answered
163
+ * with HouseholdHandovers: unset root_space_id, every one. A home's handover is told to its
164
+ * residents, and to the property owner and the gateway administrators who reach it; a
165
+ * vacated one to the departing household instead of residents (VACANCY). Anyone may
166
+ * ask; nobody is refused, and a caller told of none gets none.
167
+ *
168
+ * @generated from message kusinta.iot.webrtc.v1.ListHouseholdHandovers
169
+ */
170
+ export declare type ListHouseholdHandovers = Message<"kusinta.iot.webrtc.v1.ListHouseholdHandovers"> & {
171
+ /**
172
+ * @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
173
+ */
174
+ rootSpaceId?: SpaceId | undefined;
175
+ };
176
+
177
+ /**
178
+ * Describes the message kusinta.iot.webrtc.v1.ListHouseholdHandovers.
179
+ * Use `create(ListHouseholdHandoversSchema)` to create a new message.
180
+ */
181
+ export declare const ListHouseholdHandoversSchema: GenMessage<ListHouseholdHandovers>;
182
+
183
+ /**
184
+ * One handover of one home (HANDOVER), as told to one caller.
185
+ *
186
+ * The answer to StartHouseholdHandover, and pushed as GatewayMessage.household_handover to
187
+ * every session it is told to (ListHouseholdHandovers) whenever it is started, cancelled or
188
+ * done, or its staff_confirmable_from moves: to the household, the notice. A DONE push
189
+ * reaches the household's sessions before they lose the home.
190
+ *
191
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdHandover
192
+ */
193
+ export declare type HouseholdHandover = Message<"kusinta.iot.webrtc.v1.HouseholdHandover"> & {
194
+ /**
195
+ * Minted by the gateway, opaque.
196
+ *
197
+ * @generated from field: string handover_id = 1;
198
+ */
199
+ handoverId: string;
200
+
201
+ /**
202
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 2;
203
+ */
204
+ homeId?: SpaceId | undefined;
205
+
206
+ /**
207
+ * @generated from field: kusinta.iot.webrtc.v1.HouseholdHandoverState state = 3;
208
+ */
209
+ state: HouseholdHandoverState;
210
+
211
+ /**
212
+ * Who started it, and the name they gave their account (AppTokenClaims.name) as the gateway
213
+ * last learnt it. Given to the household; to anyone else only when started_by_staff, and
214
+ * unset otherwise, since a resident's user id would say where they live. The name is
215
+ * self-chosen, as MemberDetail.name is.
216
+ *
217
+ * @generated from field: kusinta.iot.identity.v1.UserId started_by = 4;
218
+ */
219
+ startedBy?: UserId | undefined;
220
+
221
+ /**
222
+ * @generated from field: string started_by_name = 5;
223
+ */
224
+ startedByName: string;
225
+
226
+ /**
227
+ * Set when the property owner or a gateway administrator started it, rather than the
228
+ * household. Neither this nor started_by is set when it was vacated.
229
+ *
230
+ * @generated from field: bool started_by_staff = 6;
231
+ */
232
+ startedByStaff: boolean;
233
+
234
+ /**
235
+ * @generated from field: google.protobuf.Timestamp started_at = 7;
236
+ */
237
+ startedAt?: Timestamp | undefined;
238
+
239
+ /**
240
+ * From when the property owner or a gateway administrator may confirm it, and when a vacated
241
+ * one completes on its own: 7 days after started_at, and never sooner than 7 days after the
242
+ * home's last residency ended. On a handover that is not vacated, a residency that starts
243
+ * while it is pending moves it to 7 days after that, and the handover is pushed again, so
244
+ * that a household that moves in during it has its notice too; on a vacated one, a new
245
+ * household moving in completes it instead (QUICK TURNOVER).
246
+ *
247
+ * @generated from field: google.protobuf.Timestamp staff_confirmable_from = 8;
248
+ */
249
+ staffConfirmableFrom?: Timestamp | undefined;
250
+
251
+ /**
252
+ * When it was cancelled or done. Unset while pending.
253
+ *
254
+ * @generated from field: google.protobuf.Timestamp ended_at = 9;
255
+ */
256
+ endedAt?: Timestamp | undefined;
257
+
258
+ /**
259
+ * Set when the home's last residency ending started it, rather than a request (VACANCY).
260
+ *
261
+ * @generated from field: bool vacated = 10;
262
+ */
263
+ vacated: boolean;
264
+
265
+ /**
266
+ * Set by the gateway per session: the session's user is a member of the household the
267
+ * handover is about — the home's residents while it is not vacated, the departing household
268
+ * (VACANCY) while it is. Someone who is both staff and in that household is told both, so a
269
+ * client offers them the household's export, and with recipient_household_admin its
270
+ * confirmation, as well as what staff may do, rather than guessing from roles which of the
271
+ * two they are.
272
+ *
273
+ * @generated from field: bool recipient_in_household = 11;
274
+ */
275
+ recipientInHousehold: boolean;
276
+
277
+ /**
278
+ * Set by the gateway per session: the session's user may confirm the handover as a household
279
+ * admin — a household admin of the home now, or, for a vacated one, one of the departing
280
+ * household's admins (VACANCY). A client offers confirmation on this, not on
281
+ * recipient_in_household, which a plain resident holds too.
282
+ *
283
+ * @generated from field: bool recipient_household_admin = 12;
284
+ */
285
+ recipientHouseholdAdmin: boolean;
286
+
287
+ /**
288
+ * Set whenever a handover is or becomes vacated, from the push that tells it so — one started
289
+ * vacated, or a pending one the last residency ending makes vacated (VACANCY): a new resident
290
+ * filed by staff may end it early, no sooner than 24 hours after the last residency ended
291
+ * (QUICK TURNOVER), so the departing household's export window runs until
292
+ * staff_confirmable_from or until then, whichever is first. An app says so
293
+ * from this field rather than from vacated, so that a handover from a gateway that predates
294
+ * it, which ends no notice early, is not misdescribed.
295
+ *
296
+ * @generated from field: bool may_end_on_move_in = 13;
297
+ */
298
+ mayEndOnMoveIn: boolean;
299
+
300
+ /**
301
+ * Set on a vacated handover done early because the property owner or a gateway administrator
302
+ * filed a new resident (QUICK TURNOVER); ended_at says when. Unset on every other.
303
+ *
304
+ * @generated from field: bool ended_by_move_in = 14;
305
+ */
306
+ endedByMoveIn: boolean;
307
+ };
308
+
309
+ /**
310
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdHandover.
311
+ * Use `create(HouseholdHandoverSchema)` to create a new message.
312
+ */
313
+ export declare const HouseholdHandoverSchema: GenMessage<HouseholdHandover>;
314
+
315
+ /**
316
+ * Erases a home's climate history (CLIMATE HISTORY), in one step, all of it or none, and
317
+ * nothing else. Answered with ManagementAck once it is erased. A household admin of the home
318
+ * only (HOUSEHOLD ADMIN, ADMIN-LESS HOME), and so not the departing household of a vacated
319
+ * handover (VACANCY); anyone else is refused as NOT_ENTITLED. home_id must be an apartment
320
+ * (INVALID_REQUEST otherwise).
321
+ *
322
+ * All of it goes, whenever it was recorded: also what the caller may not read themselves, from
323
+ * before their residency. Every resident of the home loses it, not only the caller, and each is
324
+ * told (ClimateHistoryCleared). Nothing recorded before the clear is kept, or recorded at or
325
+ * after it, a late write included: room history begins again with the first bucket that starts
326
+ * at or after the clear, and so does the history of the home's own heat source
327
+ * (climate.v1.PlantHistory, its buckets made while the plant was the home's), and the summary of
328
+ * each length with its first period that starts at or after the clear; the gateway learns its
329
+ * models and makes its plans afresh from what is recorded at or after it. The household's members, the home's rooms and their settings, its
330
+ * modes, its commissioning and its heating records stay. It cannot be undone, and the gateway
331
+ * keeps no copy: an app asks its user to confirm, saying that everyone in the home loses it, and
332
+ * offers the household's export (EXPORT) first. Later parts of an export under way give nothing
333
+ * that was erased.
334
+ *
335
+ * The clear is pushed as ClimateHistoryCleared to every session of the home's residents, the
336
+ * caller's included, before the acknowledgement.
337
+ *
338
+ * The summaries are erased for everyone they are given to, so the property owner, the gateway
339
+ * administrators and whoever else is given the apartment's summary as service
340
+ * (PrivacyDisclosure.climate_summary_period) lose its periods from before the clear too, and
341
+ * are given none until the first period that starts at or after it has closed.
342
+ *
343
+ * @generated from message kusinta.iot.webrtc.v1.ClearClimateHistory
344
+ */
345
+ export declare type ClearClimateHistory = Message<"kusinta.iot.webrtc.v1.ClearClimateHistory"> & {
346
+ /**
347
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
348
+ */
349
+ homeId?: SpaceId | undefined;
350
+ };
351
+
352
+ /**
353
+ * Describes the message kusinta.iot.webrtc.v1.ClearClimateHistory.
354
+ * Use `create(ClearClimateHistorySchema)` to create a new message.
355
+ */
356
+ export declare const ClearClimateHistorySchema: GenMessage<ClearClimateHistory>;
357
+
358
+ /**
359
+ * A home's climate history was cleared (ClearClimateHistory), pushed as
360
+ * GatewayMessage.climate_history_cleared to the sessions of its residents. An app drops on
361
+ * arrival every room history, climate summary and device event of the home it holds from before
362
+ * cleared_at, rather than keeping what the gateway no longer does, and keeps cleared_at as a
363
+ * lasting floor for the home: a sample, period or event dated before it that arrives later — an
364
+ * answer already in flight at the clear — is dropped on arrival too. The push is the live
365
+ * signal; a session that was not up for it reads the same floor from the apartment
366
+ * (space.v1.Space.climate_history_cleared_at). Nobody else is told: whoever is given the
367
+ * apartment's summary as service learns of it by reading it.
368
+ *
369
+ * @generated from message kusinta.iot.webrtc.v1.ClimateHistoryCleared
370
+ */
371
+ export declare type ClimateHistoryCleared = Message<"kusinta.iot.webrtc.v1.ClimateHistoryCleared"> & {
372
+ /**
373
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
374
+ */
375
+ homeId?: SpaceId | undefined;
376
+
377
+ /**
378
+ * @generated from field: google.protobuf.Timestamp cleared_at = 2;
379
+ */
380
+ clearedAt?: Timestamp | undefined;
381
+ };
382
+
383
+ /**
384
+ * Describes the message kusinta.iot.webrtc.v1.ClimateHistoryCleared.
385
+ * Use `create(ClimateHistoryClearedSchema)` to create a new message.
386
+ */
387
+ export declare const ClimateHistoryClearedSchema: GenMessage<ClimateHistoryCleared>;
388
+
389
+ /**
390
+ * Sets the household's own name for its home (space.v1.Space.home_name). Answered with
391
+ * ManagementAck. Any resident of the home may — a name is not governance, so it is not kept to
392
+ * household admins; anyone else is refused as NOT_ENTITLED. home_id must be an apartment
393
+ * (INVALID_REQUEST otherwise). The name is trimmed; empty clears it, and one longer than 64
394
+ * characters is refused as INVALID_REQUEST with metadata {"reason": "home_name"}. It never
395
+ * changes the apartment's own name (space.v1.Space.name), and it is wiped at the home's
396
+ * handover.
397
+ *
398
+ * @generated from message kusinta.iot.webrtc.v1.SetHomeName
399
+ */
400
+ export declare type SetHomeName = Message<"kusinta.iot.webrtc.v1.SetHomeName"> & {
401
+ /**
402
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
403
+ */
404
+ homeId?: SpaceId | undefined;
405
+
406
+ /**
407
+ * @generated from field: string name = 2;
408
+ */
409
+ name: string;
410
+ };
411
+
412
+ /**
413
+ * Describes the message kusinta.iot.webrtc.v1.SetHomeName.
414
+ * Use `create(SetHomeNameSchema)` to create a new message.
415
+ */
416
+ export declare const SetHomeNameSchema: GenMessage<SetHomeName>;
417
+
418
+ /**
419
+ * The answer to ListHouseholdHandovers.
420
+ *
421
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdHandovers
422
+ */
423
+ export declare type HouseholdHandovers = Message<"kusinta.iot.webrtc.v1.HouseholdHandovers"> & {
424
+ /**
425
+ * @generated from field: repeated kusinta.iot.webrtc.v1.HouseholdHandover handovers = 1;
426
+ */
427
+ handovers: HouseholdHandover[];
428
+ };
429
+
430
+ /**
431
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdHandovers.
432
+ * Use `create(HouseholdHandoversSchema)` to create a new message.
433
+ */
434
+ export declare const HouseholdHandoversSchema: GenMessage<HouseholdHandovers>;
435
+
436
+ /**
437
+ * Asks for one part of a home's export (EXPORT), answered with a HouseholdExport. The first
438
+ * part is asked with no part_token, and each further one with the next_part_token of the part
439
+ * before, until one comes with none. The home's residents only, and during a vacated handover
440
+ * the departing household, holding nothing recorded after their residency ended (VACANCY);
441
+ * anyone else is refused as NOT_ENTITLED.
442
+ *
443
+ * A part_token says where the next part starts. The gateway keeps nothing for it: it checks
444
+ * the token it minted when it is used, against the caller's rights then, so an interrupted
445
+ * export resumes where it stopped, within the caller's residency. A token the gateway did not
446
+ * mint, or minted for another caller, home or residency — one that has ended included, save
447
+ * during that home's vacated handover — is refused as INVALID_REQUEST with metadata
448
+ * {"reason": "part_token"}.
449
+ *
450
+ * @generated from message kusinta.iot.webrtc.v1.ExportHouseholdData
451
+ */
452
+ export declare type ExportHouseholdData = Message<"kusinta.iot.webrtc.v1.ExportHouseholdData"> & {
453
+ /**
454
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
455
+ */
456
+ homeId?: SpaceId | undefined;
457
+
458
+ /**
459
+ * @generated from field: string part_token = 2;
460
+ */
461
+ partToken: string;
462
+ };
463
+
464
+ /**
465
+ * Describes the message kusinta.iot.webrtc.v1.ExportHouseholdData.
466
+ * Use `create(ExportHouseholdDataSchema)` to create a new message.
467
+ */
468
+ export declare const ExportHouseholdDataSchema: GenMessage<ExportHouseholdData>;
469
+
470
+ /**
471
+ * One part of a home's export (EXPORT). The gateway chooses the order of the parts and how
472
+ * each is cut; together they are the whole of it, each as of when it was made. Each part is
473
+ * what the read named beside it would give the caller.
474
+ *
475
+ * @generated from message kusinta.iot.webrtc.v1.HouseholdExport
476
+ */
477
+ export declare type HouseholdExport = Message<"kusinta.iot.webrtc.v1.HouseholdExport"> & {
478
+ /**
479
+ * @generated from field: kusinta.iot.identity.v1.SpaceId home_id = 1;
480
+ */
481
+ homeId?: SpaceId | undefined;
482
+
483
+ /**
484
+ * @generated from oneof kusinta.iot.webrtc.v1.HouseholdExport.part
485
+ */
486
+ part: {
487
+ /**
488
+ * The home's rooms, their settings, and the modes on the home (ListRoomClimates).
489
+ *
490
+ * @generated from field: kusinta.iot.climate.v1.RoomClimateList room_climates = 2;
491
+ */
492
+ value: RoomClimateList;
493
+ case: "roomClimates";
494
+ } | {
495
+ /**
496
+ * One room's history at one resolution, one GetRoomHistory answer's worth. A room's history
497
+ * comes at the finest resolution held for each stretch of time, with no time given twice:
498
+ * at the finest resolution the gateway gives, from its kept_from; at each coarser one, the
499
+ * buckets from its kept_from that end at or before the next finer one's kept_from. In as
500
+ * many parts as it takes.
501
+ *
502
+ * @generated from field: kusinta.iot.climate.v1.RoomHistory room_history = 3;
503
+ */
504
+ value: RoomHistory;
505
+ case: "roomHistory";
506
+ } | {
507
+ /**
508
+ * The home's climate summary over one period length (GetApartmentClimateSummary): one
509
+ * part for each of DAY, WEEK and MONTH.
510
+ *
511
+ * @generated from field: kusinta.iot.climate.v1.ApartmentClimateSummary climate_summary = 4;
512
+ */
513
+ value: ApartmentClimateSummary;
514
+ case: "climateSummary";
515
+ } | {
516
+ /**
517
+ * The home's commissioning (ListCommissioning).
518
+ *
519
+ * @generated from field: kusinta.iot.commissioning.v1.CommissioningProfile commissioning = 5;
520
+ */
521
+ value: CommissioningProfile;
522
+ case: "commissioning";
523
+ } | {
524
+ /**
525
+ * The home's heating records (ListHeating).
526
+ *
527
+ * @generated from field: kusinta.iot.heating.v1.HeatingLayout heating = 6;
528
+ */
529
+ value: HeatingLayout;
530
+ case: "heating";
531
+ } | { case: undefined; value?: undefined };
532
+
533
+ /**
534
+ * The token to ask for the next part with; empty on the last.
535
+ *
536
+ * @generated from field: string next_part_token = 7;
537
+ */
538
+ nextPartToken: string;
539
+ };
540
+
541
+ /**
542
+ * Describes the message kusinta.iot.webrtc.v1.HouseholdExport.
543
+ * Use `create(HouseholdExportSchema)` to create a new message.
544
+ */
545
+ export declare const HouseholdExportSchema: GenMessage<HouseholdExport>;
546
+
547
+ /**
548
+ * How a staff member appointed a household admin (STAFF APPOINTMENT).
549
+ *
550
+ * @generated from enum kusinta.iot.webrtc.v1.StaffAppointmentKind
551
+ */
552
+ export enum StaffAppointmentKind {
553
+ /**
554
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_UNSPECIFIED = 0;
555
+ */
556
+ UNSPECIFIED = 0,
557
+
558
+ /**
559
+ * An appointment invite on an empty home, redeemed.
560
+ *
561
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_INVITE = 1;
562
+ */
563
+ INVITE = 1,
564
+
565
+ /**
566
+ * A promotion request to a resident of an admin-less home, accepted.
567
+ *
568
+ * @generated from enum value: STAFF_APPOINTMENT_KIND_PROMOTION = 2;
569
+ */
570
+ PROMOTION = 2,
571
+ }
572
+
573
+ /**
574
+ * Describes the enum kusinta.iot.webrtc.v1.StaffAppointmentKind.
575
+ */
576
+ export declare const StaffAppointmentKindSchema: GenEnum<StaffAppointmentKind>;
577
+
578
+ /**
579
+ * @generated from enum kusinta.iot.webrtc.v1.HouseholdHandoverState
580
+ */
581
+ export enum HouseholdHandoverState {
582
+ /**
583
+ * A state this schema does not know: read as PENDING.
584
+ *
585
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_UNSPECIFIED = 0;
586
+ */
587
+ UNSPECIFIED = 0,
588
+
589
+ /**
590
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_PENDING = 1;
591
+ */
592
+ PENDING = 1,
593
+
594
+ /**
595
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_CANCELLED = 2;
596
+ */
597
+ CANCELLED = 2,
598
+
599
+ /**
600
+ * Confirmed, or, for a vacated one, its notice passed with nobody living in the home or a new
601
+ * resident filed (QUICK TURNOVER); the wipe has run. The last residency ending while one is
602
+ * pending makes it vacated, not done (VACANCY).
603
+ *
604
+ * @generated from enum value: HOUSEHOLD_HANDOVER_STATE_DONE = 3;
605
+ */
606
+ DONE = 3,
607
+ }
608
+
609
+ /**
610
+ * Describes the enum kusinta.iot.webrtc.v1.HouseholdHandoverState.
611
+ */
612
+ export declare const HouseholdHandoverStateSchema: GenEnum<HouseholdHandoverState>;
613
+