@kusinta/iot-schema 0.1.0-beta.9 → 0.2.0-beta.10
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.
- package/package.json +19 -2
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +230 -11
- package/src/kusinta/iot/access/v1/acl_pb.js +26 -5
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +95 -2
- package/src/kusinta/iot/access/v1/roles_pb.js +37 -1
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +481 -34
- package/src/kusinta/iot/connector/v1/connector_pb.js +81 -22
- package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +5 -5
- package/src/kusinta/iot/connector/v1/connector_service_pb.js +1 -1
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +263 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +54 -0
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +53 -9
- package/src/kusinta/iot/device/v1/descriptor_pb.js +3 -1
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +162 -0
- package/src/kusinta/iot/device/v1/device_event_pb.js +45 -0
- package/src/kusinta/iot/device/v1/device_pb.d.ts +185 -28
- package/src/kusinta/iot/device/v1/device_pb.js +10 -2
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +110 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +118 -0
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +240 -205
- package/src/kusinta/iot/device/v1/properties_pb.js +9 -1
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +197 -8
- package/src/kusinta/iot/device/v1/property_update_pb.js +20 -2
- package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
- package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
- package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
- package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +202 -35
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +14 -6
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +71 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +75 -0
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +277 -39
- package/src/kusinta/iot/webrtc/v1/command_pb.js +29 -2
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +76 -7
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +603 -25
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +99 -5
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +627 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.js +135 -0
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +7 -1
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
|
@@ -0,0 +1,627 @@
|
|
|
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
|
+
import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
14
|
+
*/
|
|
15
|
+
export declare const file_kusinta_iot_webrtc_v1_management: GenFile;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Creates a space. A space with no parent_space_id is top level, which is a
|
|
19
|
+
* stronger request than it looks: there is no parent whose reach could authorize
|
|
20
|
+
* it, so it is reserved to the gateway's administrator.
|
|
21
|
+
*
|
|
22
|
+
* @generated from message kusinta.iot.webrtc.v1.CreateSpace
|
|
23
|
+
*/
|
|
24
|
+
export declare type CreateSpace = Message<"kusinta.iot.webrtc.v1.CreateSpace"> & {
|
|
25
|
+
/**
|
|
26
|
+
* @generated from field: kusinta.iot.common.v1.SpaceType space_type = 1;
|
|
27
|
+
*/
|
|
28
|
+
spaceType: SpaceType;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @generated from field: string name = 2;
|
|
32
|
+
*/
|
|
33
|
+
name: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @generated from field: string description = 3;
|
|
37
|
+
*/
|
|
38
|
+
description: string;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* meaningful for FLOOR type
|
|
42
|
+
*
|
|
43
|
+
* @generated from field: int32 floor = 4;
|
|
44
|
+
*/
|
|
45
|
+
floor: number;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* unset = top level
|
|
49
|
+
*
|
|
50
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId parent_space_id = 5;
|
|
51
|
+
*/
|
|
52
|
+
parentSpaceId?: SpaceId | undefined;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateSpace.
|
|
57
|
+
* Use `create(CreateSpaceSchema)` to create a new message.
|
|
58
|
+
*/
|
|
59
|
+
export declare const CreateSpaceSchema: GenMessage<CreateSpace>;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Changes a space in place. Every descriptive field carries explicit presence:
|
|
63
|
+
* absent means leave it alone, present means set it to this — including to the
|
|
64
|
+
* empty string, which is how a description is cleared.
|
|
65
|
+
*
|
|
66
|
+
* @generated from message kusinta.iot.webrtc.v1.UpdateSpace
|
|
67
|
+
*/
|
|
68
|
+
export declare type UpdateSpace = Message<"kusinta.iot.webrtc.v1.UpdateSpace"> & {
|
|
69
|
+
/**
|
|
70
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
71
|
+
*/
|
|
72
|
+
spaceId?: SpaceId | undefined;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @generated from field: optional kusinta.iot.common.v1.SpaceType space_type = 2;
|
|
76
|
+
*/
|
|
77
|
+
spaceType?: SpaceType | undefined;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @generated from field: optional string name = 3;
|
|
81
|
+
*/
|
|
82
|
+
name?: string | undefined;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @generated from field: optional string description = 4;
|
|
86
|
+
*/
|
|
87
|
+
description?: string | undefined;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @generated from field: optional int32 floor = 5;
|
|
91
|
+
*/
|
|
92
|
+
floor?: number | undefined;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Reparenting needs three states, not two: leave the parent alone, move to a
|
|
96
|
+
* new one, or become top level. A bare optional parent_space_id can only
|
|
97
|
+
* express the first two, so detaching gets its own case rather than being
|
|
98
|
+
* spelled as an empty id.
|
|
99
|
+
*
|
|
100
|
+
* @generated from oneof kusinta.iot.webrtc.v1.UpdateSpace.parent_change
|
|
101
|
+
*/
|
|
102
|
+
parentChange: {
|
|
103
|
+
/**
|
|
104
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId parent_space_id = 6;
|
|
105
|
+
*/
|
|
106
|
+
value: SpaceId;
|
|
107
|
+
case: "parentSpaceId";
|
|
108
|
+
} | {
|
|
109
|
+
/**
|
|
110
|
+
* @generated from field: bool detach = 7;
|
|
111
|
+
*/
|
|
112
|
+
value: boolean;
|
|
113
|
+
case: "detach";
|
|
114
|
+
} | { case: undefined; value?: undefined };
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateSpace.
|
|
119
|
+
* Use `create(UpdateSpaceSchema)` to create a new message.
|
|
120
|
+
*/
|
|
121
|
+
export declare const UpdateSpaceSchema: GenMessage<UpdateSpace>;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Deletes a space. Refused if the space still holds devices or sub-spaces unless
|
|
125
|
+
* cascade is set, so that emptying a building is always something the caller
|
|
126
|
+
* asked for rather than something a stale client did by accident.
|
|
127
|
+
*
|
|
128
|
+
* @generated from message kusinta.iot.webrtc.v1.DeleteSpace
|
|
129
|
+
*/
|
|
130
|
+
export declare type DeleteSpace = Message<"kusinta.iot.webrtc.v1.DeleteSpace"> & {
|
|
131
|
+
/**
|
|
132
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
133
|
+
*/
|
|
134
|
+
spaceId?: SpaceId | undefined;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* @generated from field: bool cascade = 2;
|
|
138
|
+
*/
|
|
139
|
+
cascade: boolean;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Describes the message kusinta.iot.webrtc.v1.DeleteSpace.
|
|
144
|
+
* Use `create(DeleteSpaceSchema)` to create a new message.
|
|
145
|
+
*/
|
|
146
|
+
export declare const DeleteSpaceSchema: GenMessage<DeleteSpace>;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Adds a user to a space, granting them reach of it and everything beneath it.
|
|
150
|
+
* The user need not be known to the gateway beforehand — identities are minted by
|
|
151
|
+
* the token issuer, and this records that one of them belongs here.
|
|
152
|
+
*
|
|
153
|
+
* @generated from message kusinta.iot.webrtc.v1.AssignUserToSpace
|
|
154
|
+
*/
|
|
155
|
+
export declare type AssignUserToSpace = Message<"kusinta.iot.webrtc.v1.AssignUserToSpace"> & {
|
|
156
|
+
/**
|
|
157
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
158
|
+
*/
|
|
159
|
+
spaceId?: SpaceId | undefined;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
|
|
163
|
+
*/
|
|
164
|
+
userId?: UserId | undefined;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Describes the message kusinta.iot.webrtc.v1.AssignUserToSpace.
|
|
169
|
+
* Use `create(AssignUserToSpaceSchema)` to create a new message.
|
|
170
|
+
*/
|
|
171
|
+
export declare const AssignUserToSpaceSchema: GenMessage<AssignUserToSpace>;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Removes a user's membership of a space. Losing reach also drops whatever the
|
|
175
|
+
* user was streaming from it, announced by LivePermissionUpdate.
|
|
176
|
+
*
|
|
177
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveUserFromSpace
|
|
178
|
+
*/
|
|
179
|
+
export declare type RemoveUserFromSpace = Message<"kusinta.iot.webrtc.v1.RemoveUserFromSpace"> & {
|
|
180
|
+
/**
|
|
181
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
182
|
+
*/
|
|
183
|
+
spaceId?: SpaceId | undefined;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
|
|
187
|
+
*/
|
|
188
|
+
userId?: UserId | undefined;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveUserFromSpace.
|
|
193
|
+
* Use `create(RemoveUserFromSpaceSchema)` to create a new message.
|
|
194
|
+
*/
|
|
195
|
+
export declare const RemoveUserFromSpaceSchema: GenMessage<RemoveUserFromSpace>;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Files a device into a space. A device may sit in several spaces at once; this
|
|
199
|
+
* is additive, and filing a device where it already sits is a no-op.
|
|
200
|
+
*
|
|
201
|
+
* @generated from message kusinta.iot.webrtc.v1.PlaceDeviceInSpace
|
|
202
|
+
*/
|
|
203
|
+
export declare type PlaceDeviceInSpace = Message<"kusinta.iot.webrtc.v1.PlaceDeviceInSpace"> & {
|
|
204
|
+
/**
|
|
205
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
206
|
+
*/
|
|
207
|
+
deviceId?: DeviceId | undefined;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
|
|
211
|
+
*/
|
|
212
|
+
spaceId?: SpaceId | undefined;
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Describes the message kusinta.iot.webrtc.v1.PlaceDeviceInSpace.
|
|
217
|
+
* Use `create(PlaceDeviceInSpaceSchema)` to create a new message.
|
|
218
|
+
*/
|
|
219
|
+
export declare const PlaceDeviceInSpaceSchema: GenMessage<PlaceDeviceInSpace>;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Takes a device out of one space, leaving any others intact. A device in no
|
|
223
|
+
* space and with no owner is unfiled, and visible only to the administrator.
|
|
224
|
+
*
|
|
225
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace
|
|
226
|
+
*/
|
|
227
|
+
export declare type RemoveDeviceFromSpace = Message<"kusinta.iot.webrtc.v1.RemoveDeviceFromSpace"> & {
|
|
228
|
+
/**
|
|
229
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
230
|
+
*/
|
|
231
|
+
deviceId?: DeviceId | undefined;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 2;
|
|
235
|
+
*/
|
|
236
|
+
spaceId?: SpaceId | undefined;
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace.
|
|
241
|
+
* Use `create(RemoveDeviceFromSpaceSchema)` to create a new message.
|
|
242
|
+
*/
|
|
243
|
+
export declare const RemoveDeviceFromSpaceSchema: GenMessage<RemoveDeviceFromSpace>;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Takes ownership of a device. Ownership is reach in its own right: an owner may
|
|
247
|
+
* see and control their device whatever their gateway-wide role permits, and may
|
|
248
|
+
* file it into spaces they belong to.
|
|
249
|
+
*
|
|
250
|
+
* @generated from message kusinta.iot.webrtc.v1.ClaimDevice
|
|
251
|
+
*/
|
|
252
|
+
export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> & {
|
|
253
|
+
/**
|
|
254
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
255
|
+
*/
|
|
256
|
+
deviceId?: DeviceId | undefined;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* @generated from field: kusinta.iot.common.v1.DeviceOwnershipType ownership = 2;
|
|
260
|
+
*/
|
|
261
|
+
ownership: DeviceOwnershipType;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId initial_space_id = 3;
|
|
265
|
+
*/
|
|
266
|
+
initialSpaceId?: SpaceId | undefined;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Evidence the claimant is standing at the device: the identifier printed on it,
|
|
270
|
+
* matched against DeviceDescriptor.serial_number.
|
|
271
|
+
*
|
|
272
|
+
* The match is by SUFFIX, because what a connector announces is not always the whole
|
|
273
|
+
* of what is printed and the announced value is commonly the tail of the printed one.
|
|
274
|
+
* Both sides are normalised first — lowercased, with whitespace and ASCII hyphens
|
|
275
|
+
* removed, since a label prints the value in groups and a scan does not — and the proof
|
|
276
|
+
* is accepted when what remains ends with the announced serial. Spelled out because two
|
|
277
|
+
* gateways normalising differently would accept different proofs for the same device.
|
|
278
|
+
*
|
|
279
|
+
* A serial shorter than eight characters cannot be proved at all: under a suffix rule a
|
|
280
|
+
* short one is proved by almost anything ending with it. Required precisely when the
|
|
281
|
+
* caller cannot already reach the device, which is the ordinary case for a
|
|
282
|
+
* resident claiming something they just bought — an unfiled device is invisible
|
|
283
|
+
* to them, so possession is the only thing left that can distinguish them from
|
|
284
|
+
* someone guessing ids. The administrator, who can already reach it, needs no
|
|
285
|
+
* proof. A device whose connector reports no serial can only be claimed by the
|
|
286
|
+
* administrator.
|
|
287
|
+
*
|
|
288
|
+
* @generated from field: string possession_proof = 4;
|
|
289
|
+
*/
|
|
290
|
+
possessionProof: string;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Describes the message kusinta.iot.webrtc.v1.ClaimDevice.
|
|
295
|
+
* Use `create(ClaimDeviceSchema)` to create a new message.
|
|
296
|
+
*/
|
|
297
|
+
export declare const ClaimDeviceSchema: GenMessage<ClaimDevice>;
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Gives up ownership. The device keeps whatever space filing it has; if it has
|
|
301
|
+
* none it becomes unfiled.
|
|
302
|
+
*
|
|
303
|
+
* @generated from message kusinta.iot.webrtc.v1.ReleaseDevice
|
|
304
|
+
*/
|
|
305
|
+
export declare type ReleaseDevice = Message<"kusinta.iot.webrtc.v1.ReleaseDevice"> & {
|
|
306
|
+
/**
|
|
307
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
308
|
+
*/
|
|
309
|
+
deviceId?: DeviceId | undefined;
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Describes the message kusinta.iot.webrtc.v1.ReleaseDevice.
|
|
314
|
+
* Use `create(ReleaseDeviceSchema)` to create a new message.
|
|
315
|
+
*/
|
|
316
|
+
export declare const ReleaseDeviceSchema: GenMessage<ReleaseDevice>;
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Asks for the spaces the caller can reach. Unset root_space_id means all of
|
|
320
|
+
* them, which for most users is one apartment and for an administrator is the
|
|
321
|
+
* building.
|
|
322
|
+
*
|
|
323
|
+
* @generated from message kusinta.iot.webrtc.v1.ListSpaces
|
|
324
|
+
*/
|
|
325
|
+
export declare type ListSpaces = Message<"kusinta.iot.webrtc.v1.ListSpaces"> & {
|
|
326
|
+
/**
|
|
327
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId root_space_id = 1;
|
|
328
|
+
*/
|
|
329
|
+
rootSpaceId?: SpaceId | undefined;
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Describes the message kusinta.iot.webrtc.v1.ListSpaces.
|
|
334
|
+
* Use `create(ListSpacesSchema)` to create a new message.
|
|
335
|
+
*/
|
|
336
|
+
export declare const ListSpacesSchema: GenMessage<ListSpaces>;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* The spaces themselves, flat: each Space carries its own parent_space_id, so the
|
|
340
|
+
* structure travels with the elements and a client rebuilds the tree from them.
|
|
341
|
+
* A flat list also degrades honestly when it is truncated — a partial tree with
|
|
342
|
+
* dangling parents is still readable, where a nested one would lose whole
|
|
343
|
+
* subtrees.
|
|
344
|
+
*
|
|
345
|
+
* device_ids on each Space are filtered to what the caller may see. An
|
|
346
|
+
* unfiltered tree would list every device on the gateway by id, which is the
|
|
347
|
+
* enumeration channel the snapshot filter exists to close.
|
|
348
|
+
*
|
|
349
|
+
* @generated from message kusinta.iot.webrtc.v1.SpaceTree
|
|
350
|
+
*/
|
|
351
|
+
export declare type SpaceTree = Message<"kusinta.iot.webrtc.v1.SpaceTree"> & {
|
|
352
|
+
/**
|
|
353
|
+
* @generated from field: repeated kusinta.iot.space.v1.Space spaces = 1;
|
|
354
|
+
*/
|
|
355
|
+
spaces: Space[];
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Describes the message kusinta.iot.webrtc.v1.SpaceTree.
|
|
360
|
+
* Use `create(SpaceTreeSchema)` to create a new message.
|
|
361
|
+
*/
|
|
362
|
+
export declare const SpaceTreeSchema: GenMessage<SpaceTree>;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* The answer to an operation that changes something and has nothing to return.
|
|
366
|
+
* Deliberately empty: ManagementResult.in_reply_to says which request succeeded,
|
|
367
|
+
* and what the change did to the caller's reach arrives on LivePermissionUpdate
|
|
368
|
+
* rather than here.
|
|
369
|
+
*
|
|
370
|
+
* @generated from message kusinta.iot.webrtc.v1.ManagementAck
|
|
371
|
+
*/
|
|
372
|
+
export declare type ManagementAck = Message<"kusinta.iot.webrtc.v1.ManagementAck"> & {
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Describes the message kusinta.iot.webrtc.v1.ManagementAck.
|
|
377
|
+
* Use `create(ManagementAckSchema)` to create a new message.
|
|
378
|
+
*/
|
|
379
|
+
export declare const ManagementAckSchema: GenMessage<ManagementAck>;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* A single filing operation, app → gateway. One wrapper rather than ten payload
|
|
383
|
+
* cases on AppMessage: authorization for filing depends on the target, not on the
|
|
384
|
+
* message kind, so these can never be gated by a table keyed on the envelope case
|
|
385
|
+
* the way device messages are. Keeping them behind one case means one place that
|
|
386
|
+
* must authorize, and one refusal path that must not leak whether a target exists.
|
|
387
|
+
* Links one device to another, so the sender leads the receiver. The gateway
|
|
388
|
+
* resolves which underlying connections that needs and asks the connector for
|
|
389
|
+
* them; a caller names two devices and what the link is for.
|
|
390
|
+
*
|
|
391
|
+
* Authorized against both ends, and not symmetrically. Leading a device is a
|
|
392
|
+
* standing grant of control over it, so the receiver requires ownership or a
|
|
393
|
+
* servicing role. The sender's requirement depends on the mode: a gateway-kept
|
|
394
|
+
* link only reads what the caller can already see, while a device-to-device one
|
|
395
|
+
* writes configuration to the sender and spends its battery, which is a change
|
|
396
|
+
* to someone else's hardware.
|
|
397
|
+
*
|
|
398
|
+
* @generated from message kusinta.iot.webrtc.v1.CreateDeviceLink
|
|
399
|
+
*/
|
|
400
|
+
export declare type CreateDeviceLink = Message<"kusinta.iot.webrtc.v1.CreateDeviceLink"> & {
|
|
401
|
+
/**
|
|
402
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 1;
|
|
403
|
+
*/
|
|
404
|
+
sender?: DeviceId | undefined;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 2;
|
|
408
|
+
*/
|
|
409
|
+
receiver?: DeviceId | undefined;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 3;
|
|
413
|
+
*/
|
|
414
|
+
function: LinkFunction;
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Unset lets the gateway choose, which prefers a device-to-device link where
|
|
418
|
+
* one can be brokered: it survives a gateway outage and runs at the devices'
|
|
419
|
+
* own rate. Name one to override that.
|
|
420
|
+
*
|
|
421
|
+
* @generated from field: kusinta.iot.link.v1.LinkMode mode = 4;
|
|
422
|
+
*/
|
|
423
|
+
mode: LinkMode;
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* How a gateway-kept link is to behave, set as it is made. Carried here as
|
|
427
|
+
* well as on UpdateDeviceLink so that a link does not have to exist in a
|
|
428
|
+
* configured-by-nobody state first — a soft climate link created without a
|
|
429
|
+
* target is one that holds the room at nothing until a second request
|
|
430
|
+
* arrives, and every reader would have to handle that transient forever.
|
|
431
|
+
*
|
|
432
|
+
* Unset is still allowed and still means unconfigured, since a hard link has
|
|
433
|
+
* nothing to configure and a caller may genuinely not know the target yet.
|
|
434
|
+
*
|
|
435
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 5;
|
|
436
|
+
*/
|
|
437
|
+
settings?: LinkSettings | undefined;
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateDeviceLink.
|
|
442
|
+
* Use `create(CreateDeviceLinkSchema)` to create a new message.
|
|
443
|
+
*/
|
|
444
|
+
export declare const CreateDeviceLinkSchema: GenMessage<CreateDeviceLink>;
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* Removes a link. Note that on at least one vendor, removing a link disturbs the
|
|
448
|
+
* receiver's own settings and the connector must repair them, so this is not the
|
|
449
|
+
* no-op it appears to be.
|
|
450
|
+
*
|
|
451
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveDeviceLink
|
|
452
|
+
*/
|
|
453
|
+
export declare type RemoveDeviceLink = Message<"kusinta.iot.webrtc.v1.RemoveDeviceLink"> & {
|
|
454
|
+
/**
|
|
455
|
+
* @generated from field: string link_id = 1;
|
|
456
|
+
*/
|
|
457
|
+
linkId: string;
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceLink.
|
|
462
|
+
* Use `create(RemoveDeviceLinkSchema)` to create a new message.
|
|
463
|
+
*/
|
|
464
|
+
export declare const RemoveDeviceLinkSchema: GenMessage<RemoveDeviceLink>;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Changes how a gateway-kept link behaves — for a climate lead, the temperature
|
|
468
|
+
* it is to hold.
|
|
469
|
+
*
|
|
470
|
+
* Refused on a link that has nothing to configure — see LinkSettings — rather
|
|
471
|
+
* than accepted as a no-op, so that a caller who has mistaken which link they
|
|
472
|
+
* are holding is told.
|
|
473
|
+
*
|
|
474
|
+
* Authorized against both ends, as creating and removing the link are: deciding
|
|
475
|
+
* what temperature a room is held at is directing a device, not adjusting one,
|
|
476
|
+
* so it takes ownership of the ends or a servicing role, not the permission to
|
|
477
|
+
* turn a thermostat up.
|
|
478
|
+
*
|
|
479
|
+
* @generated from message kusinta.iot.webrtc.v1.UpdateDeviceLink
|
|
480
|
+
*/
|
|
481
|
+
export declare type UpdateDeviceLink = Message<"kusinta.iot.webrtc.v1.UpdateDeviceLink"> & {
|
|
482
|
+
/**
|
|
483
|
+
* @generated from field: string link_id = 1;
|
|
484
|
+
*/
|
|
485
|
+
linkId: string;
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Replaces the link's settings rather than patching them: the settings of one
|
|
489
|
+
* function are few and are set together, so there is no half-update worth
|
|
490
|
+
* expressing. This is why it does not follow UpdateSpace's per-field optional
|
|
491
|
+
* shape, which exists for a message whose fields genuinely move alone.
|
|
492
|
+
*
|
|
493
|
+
* Unset is refused rather than being given a meaning. It would have to mean
|
|
494
|
+
* either "leave everything alone", making the request a no-op, or "clear the
|
|
495
|
+
* settings", which is the one thing that reads like an accident — and the
|
|
496
|
+
* wire cannot tell those two callers apart.
|
|
497
|
+
*
|
|
498
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 2;
|
|
499
|
+
*/
|
|
500
|
+
settings?: LinkSettings | undefined;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateDeviceLink.
|
|
505
|
+
* Use `create(UpdateDeviceLinkSchema)` to create a new message.
|
|
506
|
+
*/
|
|
507
|
+
export declare const UpdateDeviceLinkSchema: GenMessage<UpdateDeviceLink>;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Lists links. Unset device_id lists every link among devices the caller can
|
|
511
|
+
* reach; naming one narrows it to that device's own, in either direction.
|
|
512
|
+
*
|
|
513
|
+
* @generated from message kusinta.iot.webrtc.v1.ListDeviceLinks
|
|
514
|
+
*/
|
|
515
|
+
export declare type ListDeviceLinks = Message<"kusinta.iot.webrtc.v1.ListDeviceLinks"> & {
|
|
516
|
+
/**
|
|
517
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
518
|
+
*/
|
|
519
|
+
deviceId?: DeviceId | undefined;
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Describes the message kusinta.iot.webrtc.v1.ListDeviceLinks.
|
|
524
|
+
* Use `create(ListDeviceLinksSchema)` to create a new message.
|
|
525
|
+
*/
|
|
526
|
+
export declare const ListDeviceLinksSchema: GenMessage<ListDeviceLinks>;
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* @generated from message kusinta.iot.webrtc.v1.ManagementRequest
|
|
530
|
+
*/
|
|
531
|
+
export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.ManagementRequest"> & {
|
|
532
|
+
/**
|
|
533
|
+
* @generated from oneof kusinta.iot.webrtc.v1.ManagementRequest.request
|
|
534
|
+
*/
|
|
535
|
+
request: {
|
|
536
|
+
/**
|
|
537
|
+
* @generated from field: kusinta.iot.webrtc.v1.CreateSpace create_space = 1;
|
|
538
|
+
*/
|
|
539
|
+
value: CreateSpace;
|
|
540
|
+
case: "createSpace";
|
|
541
|
+
} | {
|
|
542
|
+
/**
|
|
543
|
+
* @generated from field: kusinta.iot.webrtc.v1.UpdateSpace update_space = 2;
|
|
544
|
+
*/
|
|
545
|
+
value: UpdateSpace;
|
|
546
|
+
case: "updateSpace";
|
|
547
|
+
} | {
|
|
548
|
+
/**
|
|
549
|
+
* @generated from field: kusinta.iot.webrtc.v1.DeleteSpace delete_space = 3;
|
|
550
|
+
*/
|
|
551
|
+
value: DeleteSpace;
|
|
552
|
+
case: "deleteSpace";
|
|
553
|
+
} | {
|
|
554
|
+
/**
|
|
555
|
+
* @generated from field: kusinta.iot.webrtc.v1.AssignUserToSpace assign_user_to_space = 4;
|
|
556
|
+
*/
|
|
557
|
+
value: AssignUserToSpace;
|
|
558
|
+
case: "assignUserToSpace";
|
|
559
|
+
} | {
|
|
560
|
+
/**
|
|
561
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveUserFromSpace remove_user_from_space = 5;
|
|
562
|
+
*/
|
|
563
|
+
value: RemoveUserFromSpace;
|
|
564
|
+
case: "removeUserFromSpace";
|
|
565
|
+
} | {
|
|
566
|
+
/**
|
|
567
|
+
* @generated from field: kusinta.iot.webrtc.v1.PlaceDeviceInSpace place_device_in_space = 6;
|
|
568
|
+
*/
|
|
569
|
+
value: PlaceDeviceInSpace;
|
|
570
|
+
case: "placeDeviceInSpace";
|
|
571
|
+
} | {
|
|
572
|
+
/**
|
|
573
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveDeviceFromSpace remove_device_from_space = 7;
|
|
574
|
+
*/
|
|
575
|
+
value: RemoveDeviceFromSpace;
|
|
576
|
+
case: "removeDeviceFromSpace";
|
|
577
|
+
} | {
|
|
578
|
+
/**
|
|
579
|
+
* @generated from field: kusinta.iot.webrtc.v1.ClaimDevice claim_device = 8;
|
|
580
|
+
*/
|
|
581
|
+
value: ClaimDevice;
|
|
582
|
+
case: "claimDevice";
|
|
583
|
+
} | {
|
|
584
|
+
/**
|
|
585
|
+
* @generated from field: kusinta.iot.webrtc.v1.ReleaseDevice release_device = 9;
|
|
586
|
+
*/
|
|
587
|
+
value: ReleaseDevice;
|
|
588
|
+
case: "releaseDevice";
|
|
589
|
+
} | {
|
|
590
|
+
/**
|
|
591
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListSpaces list_spaces = 10;
|
|
592
|
+
*/
|
|
593
|
+
value: ListSpaces;
|
|
594
|
+
case: "listSpaces";
|
|
595
|
+
} | {
|
|
596
|
+
/**
|
|
597
|
+
* @generated from field: kusinta.iot.webrtc.v1.CreateDeviceLink create_device_link = 11;
|
|
598
|
+
*/
|
|
599
|
+
value: CreateDeviceLink;
|
|
600
|
+
case: "createDeviceLink";
|
|
601
|
+
} | {
|
|
602
|
+
/**
|
|
603
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveDeviceLink remove_device_link = 12;
|
|
604
|
+
*/
|
|
605
|
+
value: RemoveDeviceLink;
|
|
606
|
+
case: "removeDeviceLink";
|
|
607
|
+
} | {
|
|
608
|
+
/**
|
|
609
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListDeviceLinks list_device_links = 13;
|
|
610
|
+
*/
|
|
611
|
+
value: ListDeviceLinks;
|
|
612
|
+
case: "listDeviceLinks";
|
|
613
|
+
} | {
|
|
614
|
+
/**
|
|
615
|
+
* @generated from field: kusinta.iot.webrtc.v1.UpdateDeviceLink update_device_link = 14;
|
|
616
|
+
*/
|
|
617
|
+
value: UpdateDeviceLink;
|
|
618
|
+
case: "updateDeviceLink";
|
|
619
|
+
} | { case: undefined; value?: undefined };
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
|
|
624
|
+
* Use `create(ManagementRequestSchema)` to create a new message.
|
|
625
|
+
*/
|
|
626
|
+
export declare const ManagementRequestSchema: GenMessage<ManagementRequest>;
|
|
627
|
+
|