@kusinta/iot-schema 0.1.0-beta.9 → 0.2.0-beta.2

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 (46) hide show
  1. package/package.json +13 -2
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +230 -11
  3. package/src/kusinta/iot/access/v1/acl_pb.js +25 -4
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +95 -2
  5. package/src/kusinta/iot/access/v1/roles_pb.js +37 -1
  6. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +60 -30
  7. package/src/kusinta/iot/connector/v1/connector_pb.js +12 -11
  8. package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +5 -5
  9. package/src/kusinta/iot/connector/v1/connector_service_pb.js +1 -1
  10. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +238 -0
  11. package/src/kusinta/iot/device/v1/cluster_state_pb.js +54 -0
  12. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +37 -8
  13. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  14. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +162 -0
  15. package/src/kusinta/iot/device/v1/device_event_pb.js +45 -0
  16. package/src/kusinta/iot/device/v1/device_pb.d.ts +154 -28
  17. package/src/kusinta/iot/device/v1/device_pb.js +10 -2
  18. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +84 -0
  19. package/src/kusinta/iot/device/v1/matter_options_pb.js +91 -0
  20. package/src/kusinta/iot/device/v1/properties_pb.d.ts +228 -207
  21. package/src/kusinta/iot/device/v1/properties_pb.js +9 -1
  22. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +197 -8
  23. package/src/kusinta/iot/device/v1/property_update_pb.js +20 -2
  24. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
  25. package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
  26. package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
  27. package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
  28. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
  29. package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
  30. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
  31. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
  32. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +65 -47
  33. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -7
  34. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +50 -0
  35. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +53 -0
  36. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
  37. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
  38. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +276 -39
  39. package/src/kusinta/iot/webrtc/v1/command_pb.js +28 -2
  40. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +76 -7
  41. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +19 -4
  42. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +371 -24
  43. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +68 -5
  44. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +451 -0
  45. package/src/kusinta/iot/webrtc/v1/management_pb.js +106 -0
  46. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +7 -1
@@ -0,0 +1,451 @@
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/management.proto (package kusinta.iot.webrtc.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { DeviceOwnershipType, SpaceType } from "../../common/v1/types_pb.js";
8
+ import type { DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
9
+ import type { Space } from "../../space/v1/space_pb.js";
10
+
11
+ /**
12
+ * Describes the file kusinta/iot/webrtc/v1/management.proto.
13
+ */
14
+ export declare const file_kusinta_iot_webrtc_v1_management: GenFile;
15
+
16
+ /**
17
+ * Creates a space. A space with no parent_space_id is top level, which is a
18
+ * stronger request than it looks: there is no parent whose reach could authorize
19
+ * it, so it is reserved to the gateway's administrator.
20
+ *
21
+ * @generated from message kusinta.iot.webrtc.v1.CreateSpace
22
+ */
23
+ export declare type CreateSpace = Message<"kusinta.iot.webrtc.v1.CreateSpace"> & {
24
+ /**
25
+ * @generated from field: kusinta.iot.common.v1.SpaceType space_type = 1;
26
+ */
27
+ spaceType: SpaceType;
28
+
29
+ /**
30
+ * @generated from field: string name = 2;
31
+ */
32
+ name: string;
33
+
34
+ /**
35
+ * @generated from field: string description = 3;
36
+ */
37
+ description: string;
38
+
39
+ /**
40
+ * meaningful for FLOOR type
41
+ *
42
+ * @generated from field: int32 floor = 4;
43
+ */
44
+ floor: number;
45
+
46
+ /**
47
+ * unset = top level
48
+ *
49
+ * @generated from field: kusinta.iot.identity.v1.SpaceId parent_space_id = 5;
50
+ */
51
+ parentSpaceId?: SpaceId | undefined;
52
+ };
53
+
54
+ /**
55
+ * Describes the message kusinta.iot.webrtc.v1.CreateSpace.
56
+ * Use `create(CreateSpaceSchema)` to create a new message.
57
+ */
58
+ export declare const CreateSpaceSchema: GenMessage<CreateSpace>;
59
+
60
+ /**
61
+ * Changes a space in place. Every descriptive field carries explicit presence:
62
+ * absent means leave it alone, present means set it to this — including to the
63
+ * empty string, which is how a description is cleared.
64
+ *
65
+ * @generated from message kusinta.iot.webrtc.v1.UpdateSpace
66
+ */
67
+ export declare type UpdateSpace = Message<"kusinta.iot.webrtc.v1.UpdateSpace"> & {
68
+ /**
69
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
70
+ */
71
+ spaceId?: SpaceId | undefined;
72
+
73
+ /**
74
+ * @generated from field: optional kusinta.iot.common.v1.SpaceType space_type = 2;
75
+ */
76
+ spaceType?: SpaceType | undefined;
77
+
78
+ /**
79
+ * @generated from field: optional string name = 3;
80
+ */
81
+ name?: string | undefined;
82
+
83
+ /**
84
+ * @generated from field: optional string description = 4;
85
+ */
86
+ description?: string | undefined;
87
+
88
+ /**
89
+ * @generated from field: optional int32 floor = 5;
90
+ */
91
+ floor?: number | undefined;
92
+
93
+ /**
94
+ * Reparenting needs three states, not two: leave the parent alone, move to a
95
+ * new one, or become top level. A bare optional parent_space_id can only
96
+ * express the first two, so detaching gets its own case rather than being
97
+ * spelled as an empty id.
98
+ *
99
+ * @generated from oneof kusinta.iot.webrtc.v1.UpdateSpace.parent_change
100
+ */
101
+ parentChange: {
102
+ /**
103
+ * @generated from field: kusinta.iot.identity.v1.SpaceId parent_space_id = 6;
104
+ */
105
+ value: SpaceId;
106
+ case: "parentSpaceId";
107
+ } | {
108
+ /**
109
+ * @generated from field: bool detach = 7;
110
+ */
111
+ value: boolean;
112
+ case: "detach";
113
+ } | { case: undefined; value?: undefined };
114
+ };
115
+
116
+ /**
117
+ * Describes the message kusinta.iot.webrtc.v1.UpdateSpace.
118
+ * Use `create(UpdateSpaceSchema)` to create a new message.
119
+ */
120
+ export declare const UpdateSpaceSchema: GenMessage<UpdateSpace>;
121
+
122
+ /**
123
+ * Deletes a space. Refused if the space still holds devices or sub-spaces unless
124
+ * cascade is set, so that emptying a building is always something the caller
125
+ * asked for rather than something a stale client did by accident.
126
+ *
127
+ * @generated from message kusinta.iot.webrtc.v1.DeleteSpace
128
+ */
129
+ export declare type DeleteSpace = Message<"kusinta.iot.webrtc.v1.DeleteSpace"> & {
130
+ /**
131
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
132
+ */
133
+ spaceId?: SpaceId | undefined;
134
+
135
+ /**
136
+ * @generated from field: bool cascade = 2;
137
+ */
138
+ cascade: boolean;
139
+ };
140
+
141
+ /**
142
+ * Describes the message kusinta.iot.webrtc.v1.DeleteSpace.
143
+ * Use `create(DeleteSpaceSchema)` to create a new message.
144
+ */
145
+ export declare const DeleteSpaceSchema: GenMessage<DeleteSpace>;
146
+
147
+ /**
148
+ * Adds a user to a space, granting them reach of it and everything beneath it.
149
+ * The user need not be known to the gateway beforehand — identities are minted by
150
+ * the token issuer, and this records that one of them belongs here.
151
+ *
152
+ * @generated from message kusinta.iot.webrtc.v1.AssignUserToSpace
153
+ */
154
+ export declare type AssignUserToSpace = Message<"kusinta.iot.webrtc.v1.AssignUserToSpace"> & {
155
+ /**
156
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
157
+ */
158
+ spaceId?: SpaceId | undefined;
159
+
160
+ /**
161
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
162
+ */
163
+ userId?: UserId | undefined;
164
+ };
165
+
166
+ /**
167
+ * Describes the message kusinta.iot.webrtc.v1.AssignUserToSpace.
168
+ * Use `create(AssignUserToSpaceSchema)` to create a new message.
169
+ */
170
+ export declare const AssignUserToSpaceSchema: GenMessage<AssignUserToSpace>;
171
+
172
+ /**
173
+ * Removes a user's membership of a space. Losing reach also drops whatever the
174
+ * user was streaming from it, announced by LivePermissionUpdate.
175
+ *
176
+ * @generated from message kusinta.iot.webrtc.v1.RemoveUserFromSpace
177
+ */
178
+ export declare type RemoveUserFromSpace = Message<"kusinta.iot.webrtc.v1.RemoveUserFromSpace"> & {
179
+ /**
180
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
181
+ */
182
+ spaceId?: SpaceId | undefined;
183
+
184
+ /**
185
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
186
+ */
187
+ userId?: UserId | undefined;
188
+ };
189
+
190
+ /**
191
+ * Describes the message kusinta.iot.webrtc.v1.RemoveUserFromSpace.
192
+ * Use `create(RemoveUserFromSpaceSchema)` to create a new message.
193
+ */
194
+ export declare const RemoveUserFromSpaceSchema: GenMessage<RemoveUserFromSpace>;
195
+
196
+ /**
197
+ * Files a device into a space. A device may sit in several spaces at once; this
198
+ * is additive, and filing a device where it already sits is a no-op.
199
+ *
200
+ * @generated from message kusinta.iot.webrtc.v1.PlaceDeviceInSpace
201
+ */
202
+ export declare type PlaceDeviceInSpace = Message<"kusinta.iot.webrtc.v1.PlaceDeviceInSpace"> & {
203
+ /**
204
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
205
+ */
206
+ deviceId?: DeviceId | undefined;
207
+
208
+ /**
209
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
210
+ */
211
+ spaceId?: SpaceId | undefined;
212
+ };
213
+
214
+ /**
215
+ * Describes the message kusinta.iot.webrtc.v1.PlaceDeviceInSpace.
216
+ * Use `create(PlaceDeviceInSpaceSchema)` to create a new message.
217
+ */
218
+ export declare const PlaceDeviceInSpaceSchema: GenMessage<PlaceDeviceInSpace>;
219
+
220
+ /**
221
+ * Takes a device out of one space, leaving any others intact. A device in no
222
+ * space and with no owner is unfiled, and visible only to the administrator.
223
+ *
224
+ * @generated from message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace
225
+ */
226
+ export declare type RemoveDeviceFromSpace = Message<"kusinta.iot.webrtc.v1.RemoveDeviceFromSpace"> & {
227
+ /**
228
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
229
+ */
230
+ deviceId?: DeviceId | undefined;
231
+
232
+ /**
233
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
234
+ */
235
+ spaceId?: SpaceId | undefined;
236
+ };
237
+
238
+ /**
239
+ * Describes the message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace.
240
+ * Use `create(RemoveDeviceFromSpaceSchema)` to create a new message.
241
+ */
242
+ export declare const RemoveDeviceFromSpaceSchema: GenMessage<RemoveDeviceFromSpace>;
243
+
244
+ /**
245
+ * Takes ownership of a device. Ownership is reach in its own right: an owner may
246
+ * see and control their device whatever their gateway-wide role permits, and may
247
+ * file it into spaces they belong to.
248
+ *
249
+ * @generated from message kusinta.iot.webrtc.v1.ClaimDevice
250
+ */
251
+ export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> & {
252
+ /**
253
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
254
+ */
255
+ deviceId?: DeviceId | undefined;
256
+
257
+ /**
258
+ * @generated from field: kusinta.iot.common.v1.DeviceOwnershipType ownership = 2;
259
+ */
260
+ ownership: DeviceOwnershipType;
261
+
262
+ /**
263
+ * @generated from field: kusinta.iot.identity.v1.SpaceId initial_space_id = 3;
264
+ */
265
+ initialSpaceId?: SpaceId | undefined;
266
+
267
+ /**
268
+ * Evidence the claimant is standing at the device: the serial printed on it,
269
+ * matched against DeviceDescriptor.serial_number. Required precisely when the
270
+ * caller cannot already reach the device, which is the ordinary case for a
271
+ * resident claiming something they just bought — an unfiled device is invisible
272
+ * to them, so possession is the only thing left that can distinguish them from
273
+ * someone guessing ids. The administrator, who can already reach it, needs no
274
+ * proof. A device whose connector reports no serial can only be claimed by the
275
+ * administrator.
276
+ *
277
+ * @generated from field: string possession_proof = 4;
278
+ */
279
+ possessionProof: string;
280
+ };
281
+
282
+ /**
283
+ * Describes the message kusinta.iot.webrtc.v1.ClaimDevice.
284
+ * Use `create(ClaimDeviceSchema)` to create a new message.
285
+ */
286
+ export declare const ClaimDeviceSchema: GenMessage<ClaimDevice>;
287
+
288
+ /**
289
+ * Gives up ownership. The device keeps whatever space filing it has; if it has
290
+ * none it becomes unfiled.
291
+ *
292
+ * @generated from message kusinta.iot.webrtc.v1.ReleaseDevice
293
+ */
294
+ export declare type ReleaseDevice = Message<"kusinta.iot.webrtc.v1.ReleaseDevice"> & {
295
+ /**
296
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
297
+ */
298
+ deviceId?: DeviceId | undefined;
299
+ };
300
+
301
+ /**
302
+ * Describes the message kusinta.iot.webrtc.v1.ReleaseDevice.
303
+ * Use `create(ReleaseDeviceSchema)` to create a new message.
304
+ */
305
+ export declare const ReleaseDeviceSchema: GenMessage<ReleaseDevice>;
306
+
307
+ /**
308
+ * Asks for the spaces the caller can reach. Unset root_space_id means all of
309
+ * them, which for most users is one apartment and for an administrator is the
310
+ * building.
311
+ *
312
+ * @generated from message kusinta.iot.webrtc.v1.ListSpaces
313
+ */
314
+ export declare type ListSpaces = Message<"kusinta.iot.webrtc.v1.ListSpaces"> & {
315
+ /**
316
+ * @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
317
+ */
318
+ rootSpaceId?: SpaceId | undefined;
319
+ };
320
+
321
+ /**
322
+ * Describes the message kusinta.iot.webrtc.v1.ListSpaces.
323
+ * Use `create(ListSpacesSchema)` to create a new message.
324
+ */
325
+ export declare const ListSpacesSchema: GenMessage<ListSpaces>;
326
+
327
+ /**
328
+ * The spaces themselves, flat: each Space carries its own parent_space_id, so the
329
+ * structure travels with the elements and a client rebuilds the tree from them.
330
+ * A flat list also degrades honestly when it is truncated — a partial tree with
331
+ * dangling parents is still readable, where a nested one would lose whole
332
+ * subtrees.
333
+ *
334
+ * device_ids on each Space are filtered to what the caller may see. An
335
+ * unfiltered tree would list every device on the gateway by id, which is the
336
+ * enumeration channel the snapshot filter exists to close.
337
+ *
338
+ * @generated from message kusinta.iot.webrtc.v1.SpaceTree
339
+ */
340
+ export declare type SpaceTree = Message<"kusinta.iot.webrtc.v1.SpaceTree"> & {
341
+ /**
342
+ * @generated from field: repeated kusinta.iot.space.v1.Space spaces = 1;
343
+ */
344
+ spaces: Space[];
345
+ };
346
+
347
+ /**
348
+ * Describes the message kusinta.iot.webrtc.v1.SpaceTree.
349
+ * Use `create(SpaceTreeSchema)` to create a new message.
350
+ */
351
+ export declare const SpaceTreeSchema: GenMessage<SpaceTree>;
352
+
353
+ /**
354
+ * The answer to an operation that changes something and has nothing to return.
355
+ * Deliberately empty: ManagementResult.in_reply_to says which request succeeded,
356
+ * and what the change did to the caller's reach arrives on LivePermissionUpdate
357
+ * rather than here.
358
+ *
359
+ * @generated from message kusinta.iot.webrtc.v1.ManagementAck
360
+ */
361
+ export declare type ManagementAck = Message<"kusinta.iot.webrtc.v1.ManagementAck"> & {
362
+ };
363
+
364
+ /**
365
+ * Describes the message kusinta.iot.webrtc.v1.ManagementAck.
366
+ * Use `create(ManagementAckSchema)` to create a new message.
367
+ */
368
+ export declare const ManagementAckSchema: GenMessage<ManagementAck>;
369
+
370
+ /**
371
+ * A single filing operation, app → gateway. One wrapper rather than ten payload
372
+ * cases on AppMessage: authorization for filing depends on the target, not on the
373
+ * message kind, so these can never be gated by a table keyed on the envelope case
374
+ * the way device messages are. Keeping them behind one case means one place that
375
+ * must authorize, and one refusal path that must not leak whether a target exists.
376
+ *
377
+ * @generated from message kusinta.iot.webrtc.v1.ManagementRequest
378
+ */
379
+ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.ManagementRequest"> & {
380
+ /**
381
+ * @generated from oneof kusinta.iot.webrtc.v1.ManagementRequest.request
382
+ */
383
+ request: {
384
+ /**
385
+ * @generated from field: kusinta.iot.webrtc.v1.CreateSpace create_space = 1;
386
+ */
387
+ value: CreateSpace;
388
+ case: "createSpace";
389
+ } | {
390
+ /**
391
+ * @generated from field: kusinta.iot.webrtc.v1.UpdateSpace update_space = 2;
392
+ */
393
+ value: UpdateSpace;
394
+ case: "updateSpace";
395
+ } | {
396
+ /**
397
+ * @generated from field: kusinta.iot.webrtc.v1.DeleteSpace delete_space = 3;
398
+ */
399
+ value: DeleteSpace;
400
+ case: "deleteSpace";
401
+ } | {
402
+ /**
403
+ * @generated from field: kusinta.iot.webrtc.v1.AssignUserToSpace assign_user_to_space = 4;
404
+ */
405
+ value: AssignUserToSpace;
406
+ case: "assignUserToSpace";
407
+ } | {
408
+ /**
409
+ * @generated from field: kusinta.iot.webrtc.v1.RemoveUserFromSpace remove_user_from_space = 5;
410
+ */
411
+ value: RemoveUserFromSpace;
412
+ case: "removeUserFromSpace";
413
+ } | {
414
+ /**
415
+ * @generated from field: kusinta.iot.webrtc.v1.PlaceDeviceInSpace place_device_in_space = 6;
416
+ */
417
+ value: PlaceDeviceInSpace;
418
+ case: "placeDeviceInSpace";
419
+ } | {
420
+ /**
421
+ * @generated from field: kusinta.iot.webrtc.v1.RemoveDeviceFromSpace remove_device_from_space = 7;
422
+ */
423
+ value: RemoveDeviceFromSpace;
424
+ case: "removeDeviceFromSpace";
425
+ } | {
426
+ /**
427
+ * @generated from field: kusinta.iot.webrtc.v1.ClaimDevice claim_device = 8;
428
+ */
429
+ value: ClaimDevice;
430
+ case: "claimDevice";
431
+ } | {
432
+ /**
433
+ * @generated from field: kusinta.iot.webrtc.v1.ReleaseDevice release_device = 9;
434
+ */
435
+ value: ReleaseDevice;
436
+ case: "releaseDevice";
437
+ } | {
438
+ /**
439
+ * @generated from field: kusinta.iot.webrtc.v1.ListSpaces list_spaces = 10;
440
+ */
441
+ value: ListSpaces;
442
+ case: "listSpaces";
443
+ } | { case: undefined; value?: undefined };
444
+ };
445
+
446
+ /**
447
+ * Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
448
+ * Use `create(ManagementRequestSchema)` to create a new message.
449
+ */
450
+ export declare const ManagementRequestSchema: GenMessage<ManagementRequest>;
451
+
@@ -0,0 +1,106 @@
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/management.proto (package kusinta.iot.webrtc.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
7
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
8
+ import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
9
+
10
+ /**
11
+ * Describes the file kusinta/iot/webrtc/v1/management.proto.
12
+ */
13
+ export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
14
+ fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/ChFBc3NpZ25Vc2VyVG9TcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSMAoHdXNlcl9pZBgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJFCgpMaXN0U3BhY2VzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIjgKCVNwYWNlVHJlZRIrCgZzcGFjZXMYASADKAsyGy5rdXNpbnRhLmlvdC5zcGFjZS52MS5TcGFjZSIPCg1NYW5hZ2VtZW50QWNrIr4FChFNYW5hZ2VtZW50UmVxdWVzdBI6CgxjcmVhdGVfc3BhY2UYASABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ3JlYXRlU3BhY2VIABI6Cgx1cGRhdGVfc3BhY2UYAiABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuVXBkYXRlU3BhY2VIABI6CgxkZWxldGVfc3BhY2UYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGVsZXRlU3BhY2VIABJIChRhc3NpZ25fdXNlcl90b19zcGFjZRgEIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Bc3NpZ25Vc2VyVG9TcGFjZUgAEkwKFnJlbW92ZV91c2VyX2Zyb21fc3BhY2UYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlVXNlckZyb21TcGFjZUgAEkoKFXBsYWNlX2RldmljZV9pbl9zcGFjZRgGIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QbGFjZURldmljZUluU3BhY2VIABJQChhyZW1vdmVfZGV2aWNlX2Zyb21fc3BhY2UYByABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlRnJvbVNwYWNlSAASOgoMY2xhaW1fZGV2aWNlGAggASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNsYWltRGV2aWNlSAASPgoOcmVsZWFzZV9kZXZpY2UYCSABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVsZWFzZURldmljZUgAEjgKC2xpc3Rfc3BhY2VzGAogASgLMiEua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RTcGFjZXNIAEIJCgdyZXF1ZXN0QgJIAWIGcHJvdG8z", [file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_space_v1_space]);
15
+
16
+ /**
17
+ * Describes the message kusinta.iot.webrtc.v1.CreateSpace.
18
+ * Use `create(CreateSpaceSchema)` to create a new message.
19
+ */
20
+ export const CreateSpaceSchema = /*@__PURE__*/
21
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 0);
22
+
23
+ /**
24
+ * Describes the message kusinta.iot.webrtc.v1.UpdateSpace.
25
+ * Use `create(UpdateSpaceSchema)` to create a new message.
26
+ */
27
+ export const UpdateSpaceSchema = /*@__PURE__*/
28
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 1);
29
+
30
+ /**
31
+ * Describes the message kusinta.iot.webrtc.v1.DeleteSpace.
32
+ * Use `create(DeleteSpaceSchema)` to create a new message.
33
+ */
34
+ export const DeleteSpaceSchema = /*@__PURE__*/
35
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 2);
36
+
37
+ /**
38
+ * Describes the message kusinta.iot.webrtc.v1.AssignUserToSpace.
39
+ * Use `create(AssignUserToSpaceSchema)` to create a new message.
40
+ */
41
+ export const AssignUserToSpaceSchema = /*@__PURE__*/
42
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 3);
43
+
44
+ /**
45
+ * Describes the message kusinta.iot.webrtc.v1.RemoveUserFromSpace.
46
+ * Use `create(RemoveUserFromSpaceSchema)` to create a new message.
47
+ */
48
+ export const RemoveUserFromSpaceSchema = /*@__PURE__*/
49
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 4);
50
+
51
+ /**
52
+ * Describes the message kusinta.iot.webrtc.v1.PlaceDeviceInSpace.
53
+ * Use `create(PlaceDeviceInSpaceSchema)` to create a new message.
54
+ */
55
+ export const PlaceDeviceInSpaceSchema = /*@__PURE__*/
56
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 5);
57
+
58
+ /**
59
+ * Describes the message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace.
60
+ * Use `create(RemoveDeviceFromSpaceSchema)` to create a new message.
61
+ */
62
+ export const RemoveDeviceFromSpaceSchema = /*@__PURE__*/
63
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 6);
64
+
65
+ /**
66
+ * Describes the message kusinta.iot.webrtc.v1.ClaimDevice.
67
+ * Use `create(ClaimDeviceSchema)` to create a new message.
68
+ */
69
+ export const ClaimDeviceSchema = /*@__PURE__*/
70
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 7);
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.webrtc.v1.ReleaseDevice.
74
+ * Use `create(ReleaseDeviceSchema)` to create a new message.
75
+ */
76
+ export const ReleaseDeviceSchema = /*@__PURE__*/
77
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 8);
78
+
79
+ /**
80
+ * Describes the message kusinta.iot.webrtc.v1.ListSpaces.
81
+ * Use `create(ListSpacesSchema)` to create a new message.
82
+ */
83
+ export const ListSpacesSchema = /*@__PURE__*/
84
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 9);
85
+
86
+ /**
87
+ * Describes the message kusinta.iot.webrtc.v1.SpaceTree.
88
+ * Use `create(SpaceTreeSchema)` to create a new message.
89
+ */
90
+ export const SpaceTreeSchema = /*@__PURE__*/
91
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 10);
92
+
93
+ /**
94
+ * Describes the message kusinta.iot.webrtc.v1.ManagementAck.
95
+ * Use `create(ManagementAckSchema)` to create a new message.
96
+ */
97
+ export const ManagementAckSchema = /*@__PURE__*/
98
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 11);
99
+
100
+ /**
101
+ * Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
102
+ * Use `create(ManagementRequestSchema)` to create a new message.
103
+ */
104
+ export const ManagementRequestSchema = /*@__PURE__*/
105
+ messageDesc(file_kusinta_iot_webrtc_v1_management, 12);
106
+
@@ -13,7 +13,7 @@ import type { DeviceId } from "../../identity/v1/identity_pb.js";
13
13
  export declare const file_kusinta_iot_webrtc_v1_permission_push: GenFile;
14
14
 
15
15
  /**
16
- * Pushed to the Flutter app whenever the user's effective permissions change.
16
+ * Pushed to the app whenever the user's effective permissions change.
17
17
  * change_reason values: "DEVICE_ASSIGNED", "DEVICE_UNASSIGNED", "RESIDENT_CHANGED", "CONSTRAINT_UPDATED"
18
18
  *
19
19
  * @generated from message kusinta.iot.webrtc.v1.LivePermissionUpdate
@@ -25,11 +25,17 @@ export declare type LivePermissionUpdate = Message<"kusinta.iot.webrtc.v1.LivePe
25
25
  newPermissions?: EffectivePermissions | undefined;
26
26
 
27
27
  /**
28
+ * Newly entitled devices. Entitlement is not interest: the app is not subscribed
29
+ * to these until it asks via AppMessage.subscribe.
30
+ *
28
31
  * @generated from field: repeated kusinta.iot.identity.v1.DeviceId added_devices = 2;
29
32
  */
30
33
  addedDevices: DeviceId[];
31
34
 
32
35
  /**
36
+ * Devices the user may no longer see. The gateway has already dropped these from
37
+ * the app's interest set — no property events follow, and no unsubscribe is needed.
38
+ *
33
39
  * @generated from field: repeated kusinta.iot.identity.v1.DeviceId removed_devices = 3;
34
40
  */
35
41
  removedDevices: DeviceId[];