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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/package.json +10 -2
  4. package/src/kusinta/iot/access/v1/acl_pb.d.ts +3 -3
  5. package/src/kusinta/iot/access/v1/acl_pb.js +3 -3
  6. package/src/kusinta/iot/access/v1/roles_pb.d.ts +1 -1
  7. package/src/kusinta/iot/access/v1/roles_pb.js +1 -1
  8. package/src/kusinta/iot/common/v1/types_pb.d.ts +1 -1
  9. package/src/kusinta/iot/common/v1/types_pb.js +1 -1
  10. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +31 -24
  11. package/src/kusinta/iot/connector/v1/connector_pb.js +16 -15
  12. package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +6 -6
  13. package/src/kusinta/iot/connector/v1/connector_service_pb.js +3 -3
  14. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +3 -3
  15. package/src/kusinta/iot/device/v1/descriptor_pb.js +3 -3
  16. package/src/kusinta/iot/device/v1/device_pb.d.ts +36 -4
  17. package/src/kusinta/iot/device/v1/device_pb.js +4 -4
  18. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +46 -0
  19. package/src/kusinta/iot/device/v1/matter_options_pb.js +50 -0
  20. package/src/kusinta/iot/device/v1/properties_pb.d.ts +175 -208
  21. package/src/kusinta/iot/device/v1/properties_pb.js +3 -2
  22. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +38 -5
  23. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -2
  24. package/src/kusinta/iot/identity/v1/identity_pb.d.ts +1 -1
  25. package/src/kusinta/iot/identity/v1/identity_pb.js +1 -1
  26. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
  27. package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
  28. package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
  29. package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
  30. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
  31. package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
  32. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
  33. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
  34. package/src/kusinta/iot/space/v1/space_pb.d.ts +3 -3
  35. package/src/kusinta/iot/space/v1/space_pb.js +3 -3
  36. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +16 -11
  37. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +2 -2
  38. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
  39. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
  40. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +4 -4
  41. package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -2
  42. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +69 -6
  43. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
  44. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +365 -17
  45. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +79 -11
  46. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +451 -0
  47. package/src/kusinta/iot/webrtc/v1/management_pb.js +106 -0
  48. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +10 -4
  49. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +3 -3
  50. package/src/__tests__/access.test.js +0 -134
  51. package/src/__tests__/common.test.js +0 -29
  52. package/src/__tests__/connector.test.js +0 -144
  53. package/src/__tests__/device.test.js +0 -194
  54. package/src/__tests__/identity.test.js +0 -43
  55. package/src/__tests__/space.test.js +0 -54
  56. package/src/__tests__/vendor.test.js +0 -60
  57. package/src/__tests__/webrtc.test.js +0 -268
@@ -0,0 +1,320 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/signaling/v1/signaling.proto (package kusinta.iot.signaling.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 { GatewayId, UserId } from "../../identity/v1/identity_pb.js";
8
+
9
+ /**
10
+ * Describes the file kusinta/iot/signaling/v1/signaling.proto.
11
+ */
12
+ export declare const file_kusinta_iot_signaling_v1_signaling: GenFile;
13
+
14
+ /**
15
+ * @generated from message kusinta.iot.signaling.v1.SdpOffer
16
+ */
17
+ export declare type SdpOffer = Message<"kusinta.iot.signaling.v1.SdpOffer"> & {
18
+ /**
19
+ * @generated from field: string sdp = 1;
20
+ */
21
+ sdp: string;
22
+ };
23
+
24
+ /**
25
+ * Describes the message kusinta.iot.signaling.v1.SdpOffer.
26
+ * Use `create(SdpOfferSchema)` to create a new message.
27
+ */
28
+ export declare const SdpOfferSchema: GenMessage<SdpOffer>;
29
+
30
+ /**
31
+ * @generated from message kusinta.iot.signaling.v1.SdpAnswer
32
+ */
33
+ export declare type SdpAnswer = Message<"kusinta.iot.signaling.v1.SdpAnswer"> & {
34
+ /**
35
+ * @generated from field: string sdp = 1;
36
+ */
37
+ sdp: string;
38
+ };
39
+
40
+ /**
41
+ * Describes the message kusinta.iot.signaling.v1.SdpAnswer.
42
+ * Use `create(SdpAnswerSchema)` to create a new message.
43
+ */
44
+ export declare const SdpAnswerSchema: GenMessage<SdpAnswer>;
45
+
46
+ /**
47
+ * candidate is the SDP candidate attribute line. sdp_mid / sdp_mline_index
48
+ * bind it to a media section: WebRTC's addIceCandidate requires a non-null
49
+ * sdpMid (some native WebRTC bindings crash on a null). Under BUNDLE both are
50
+ * constant ("0" / 0) for a single-m-line session, but they must be carried so
51
+ * candidates stay correct once additional m-lines (e.g. camera video) exist.
52
+ *
53
+ * @generated from message kusinta.iot.signaling.v1.IceCandidate
54
+ */
55
+ export declare type IceCandidate = Message<"kusinta.iot.signaling.v1.IceCandidate"> & {
56
+ /**
57
+ * @generated from field: string candidate = 1;
58
+ */
59
+ candidate: string;
60
+
61
+ /**
62
+ * @generated from field: string sdp_mid = 2;
63
+ */
64
+ sdpMid: string;
65
+
66
+ /**
67
+ * @generated from field: int32 sdp_mline_index = 3;
68
+ */
69
+ sdpMlineIndex: number;
70
+ };
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.signaling.v1.IceCandidate.
74
+ * Use `create(IceCandidateSchema)` to create a new message.
75
+ */
76
+ export declare const IceCandidateSchema: GenMessage<IceCandidate>;
77
+
78
+ /**
79
+ * Empty keepalive. The gateway sends this periodically on the GatewayConnect
80
+ * stream so the otherwise-idle bidi request keeps producing DATA frames, which
81
+ * resets the inactivity timers on any proxy between the two ends and stops it
82
+ * from tearing the stream down. Carries no routing target and is dropped on receipt.
83
+ *
84
+ * @generated from message kusinta.iot.signaling.v1.HeartBeat
85
+ */
86
+ export declare type HeartBeat = Message<"kusinta.iot.signaling.v1.HeartBeat"> & {
87
+ };
88
+
89
+ /**
90
+ * Describes the message kusinta.iot.signaling.v1.HeartBeat.
91
+ * Use `create(HeartBeatSchema)` to create a new message.
92
+ */
93
+ export declare const HeartBeatSchema: GenMessage<HeartBeat>;
94
+
95
+ /**
96
+ * JWT for user auth is sent in the Authorization: Bearer metadata header, not here.
97
+ * First message carries only the target gateway for stream-specific routing.
98
+ *
99
+ * @generated from message kusinta.iot.signaling.v1.UserHandshake
100
+ */
101
+ export declare type UserHandshake = Message<"kusinta.iot.signaling.v1.UserHandshake"> & {
102
+ /**
103
+ * @generated from field: kusinta.iot.identity.v1.GatewayId target_gateway_id = 1;
104
+ */
105
+ targetGatewayId?: GatewayId | undefined;
106
+ };
107
+
108
+ /**
109
+ * Describes the message kusinta.iot.signaling.v1.UserHandshake.
110
+ * Use `create(UserHandshakeSchema)` to create a new message.
111
+ */
112
+ export declare const UserHandshakeSchema: GenMessage<UserHandshake>;
113
+
114
+ /**
115
+ * @generated from message kusinta.iot.signaling.v1.UserHandshakeAck
116
+ */
117
+ export declare type UserHandshakeAck = Message<"kusinta.iot.signaling.v1.UserHandshakeAck"> & {
118
+ /**
119
+ * @generated from field: bool accepted = 1;
120
+ */
121
+ accepted: boolean;
122
+
123
+ /**
124
+ * @generated from field: string reason = 2;
125
+ */
126
+ reason: string;
127
+ };
128
+
129
+ /**
130
+ * Describes the message kusinta.iot.signaling.v1.UserHandshakeAck.
131
+ * Use `create(UserHandshakeAckSchema)` to create a new message.
132
+ */
133
+ export declare const UserHandshakeAckSchema: GenMessage<UserHandshakeAck>;
134
+
135
+ /**
136
+ * Messages sent by the building-server gateway (GatewaySignalingService.GatewayConnect stream).
137
+ * Auth: x-client-cert-fingerprint metadata header, set from the client
138
+ * certificate by the mTLS-terminating proxy in front of this service.
139
+ *
140
+ * @generated from message kusinta.iot.signaling.v1.GatewayConnectRequest
141
+ */
142
+ export declare type GatewayConnectRequest = Message<"kusinta.iot.signaling.v1.GatewayConnectRequest"> & {
143
+ /**
144
+ * @generated from field: kusinta.iot.identity.v1.UserId target_user_id = 1;
145
+ */
146
+ targetUserId?: UserId | undefined;
147
+
148
+ /**
149
+ * The session of target_user_id this message answers. See the contract above.
150
+ * Ignored on a heartbeat, which carries no routing target at all.
151
+ *
152
+ * @generated from field: string session_id = 5;
153
+ */
154
+ sessionId: string;
155
+
156
+ /**
157
+ * @generated from oneof kusinta.iot.signaling.v1.GatewayConnectRequest.payload
158
+ */
159
+ payload: {
160
+ /**
161
+ * @generated from field: kusinta.iot.signaling.v1.SdpAnswer answer = 2;
162
+ */
163
+ value: SdpAnswer;
164
+ case: "answer";
165
+ } | {
166
+ /**
167
+ * @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
168
+ */
169
+ value: IceCandidate;
170
+ case: "iceCandidate";
171
+ } | {
172
+ /**
173
+ * @generated from field: kusinta.iot.signaling.v1.HeartBeat heartbeat = 4;
174
+ */
175
+ value: HeartBeat;
176
+ case: "heartbeat";
177
+ } | { case: undefined; value?: undefined };
178
+ };
179
+
180
+ /**
181
+ * Describes the message kusinta.iot.signaling.v1.GatewayConnectRequest.
182
+ * Use `create(GatewayConnectRequestSchema)` to create a new message.
183
+ */
184
+ export declare const GatewayConnectRequestSchema: GenMessage<GatewayConnectRequest>;
185
+
186
+ /**
187
+ * Messages sent by the api-server to the building-server gateway.
188
+ *
189
+ * @generated from message kusinta.iot.signaling.v1.GatewayConnectResponse
190
+ */
191
+ export declare type GatewayConnectResponse = Message<"kusinta.iot.signaling.v1.GatewayConnectResponse"> & {
192
+ /**
193
+ * @generated from field: kusinta.iot.identity.v1.UserId from_user_id = 1;
194
+ */
195
+ fromUserId?: UserId | undefined;
196
+
197
+ /**
198
+ * The session of from_user_id this message originates from — the value the
199
+ * gateway must echo on the GatewayConnectRequest that answers it. See the
200
+ * contract above.
201
+ *
202
+ * @generated from field: string session_id = 4;
203
+ */
204
+ sessionId: string;
205
+
206
+ /**
207
+ * @generated from oneof kusinta.iot.signaling.v1.GatewayConnectResponse.payload
208
+ */
209
+ payload: {
210
+ /**
211
+ * @generated from field: kusinta.iot.signaling.v1.SdpOffer offer = 2;
212
+ */
213
+ value: SdpOffer;
214
+ case: "offer";
215
+ } | {
216
+ /**
217
+ * @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
218
+ */
219
+ value: IceCandidate;
220
+ case: "iceCandidate";
221
+ } | { case: undefined; value?: undefined };
222
+ };
223
+
224
+ /**
225
+ * Describes the message kusinta.iot.signaling.v1.GatewayConnectResponse.
226
+ * Use `create(GatewayConnectResponseSchema)` to create a new message.
227
+ */
228
+ export declare const GatewayConnectResponseSchema: GenMessage<GatewayConnectResponse>;
229
+
230
+ /**
231
+ * Messages sent by the app (GatewaySignalingService.UserConnect stream).
232
+ * Auth: Authorization: Bearer <jwt> in gRPC request metadata (validated by interceptor).
233
+ *
234
+ * @generated from message kusinta.iot.signaling.v1.UserConnectRequest
235
+ */
236
+ export declare type UserConnectRequest = Message<"kusinta.iot.signaling.v1.UserConnectRequest"> & {
237
+ /**
238
+ * This client's session, minted by the client. See the contract above. Sent on
239
+ * every message including the handshake, so the relay can key the stream on it
240
+ * from the first frame.
241
+ *
242
+ * @generated from field: string session_id = 4;
243
+ */
244
+ sessionId: string;
245
+
246
+ /**
247
+ * @generated from oneof kusinta.iot.signaling.v1.UserConnectRequest.payload
248
+ */
249
+ payload: {
250
+ /**
251
+ * @generated from field: kusinta.iot.signaling.v1.UserHandshake handshake = 1;
252
+ */
253
+ value: UserHandshake;
254
+ case: "handshake";
255
+ } | {
256
+ /**
257
+ * @generated from field: kusinta.iot.signaling.v1.SdpOffer offer = 2;
258
+ */
259
+ value: SdpOffer;
260
+ case: "offer";
261
+ } | {
262
+ /**
263
+ * @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
264
+ */
265
+ value: IceCandidate;
266
+ case: "iceCandidate";
267
+ } | { case: undefined; value?: undefined };
268
+ };
269
+
270
+ /**
271
+ * Describes the message kusinta.iot.signaling.v1.UserConnectRequest.
272
+ * Use `create(UserConnectRequestSchema)` to create a new message.
273
+ */
274
+ export declare const UserConnectRequestSchema: GenMessage<UserConnectRequest>;
275
+
276
+ /**
277
+ * Messages sent by the api-server to the app.
278
+ *
279
+ * @generated from message kusinta.iot.signaling.v1.UserConnectResponse
280
+ */
281
+ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.UserConnectResponse"> & {
282
+ /**
283
+ * Echoes the session_id of the stream this message is delivered on, so a
284
+ * client can assert the relay routed to the session it thinks it is. See the
285
+ * contract above.
286
+ *
287
+ * @generated from field: string session_id = 4;
288
+ */
289
+ sessionId: string;
290
+
291
+ /**
292
+ * @generated from oneof kusinta.iot.signaling.v1.UserConnectResponse.payload
293
+ */
294
+ payload: {
295
+ /**
296
+ * @generated from field: kusinta.iot.signaling.v1.UserHandshakeAck handshake_ack = 1;
297
+ */
298
+ value: UserHandshakeAck;
299
+ case: "handshakeAck";
300
+ } | {
301
+ /**
302
+ * @generated from field: kusinta.iot.signaling.v1.SdpAnswer answer = 2;
303
+ */
304
+ value: SdpAnswer;
305
+ case: "answer";
306
+ } | {
307
+ /**
308
+ * @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
309
+ */
310
+ value: IceCandidate;
311
+ case: "iceCandidate";
312
+ } | { case: undefined; value?: undefined };
313
+ };
314
+
315
+ /**
316
+ * Describes the message kusinta.iot.signaling.v1.UserConnectResponse.
317
+ * Use `create(UserConnectResponseSchema)` to create a new message.
318
+ */
319
+ export declare const UserConnectResponseSchema: GenMessage<UserConnectResponse>;
320
+
@@ -0,0 +1,83 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/signaling/v1/signaling.proto (package kusinta.iot.signaling.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/signaling/v1/signaling.proto.
10
+ */
11
+ export const file_kusinta_iot_signaling_v1_signaling = /*@__PURE__*/
12
+ fileDesc("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCI0ChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCSKhAgoVR2F0ZXdheUNvbm5lY3RSZXF1ZXN0EjcKDnRhcmdldF91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBSABKAkSNQoGYW5zd2VyGAIgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcEFuc3dlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASOAoJaGVhcnRiZWF0GAQgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkhlYXJ0QmVhdEgAQgkKB3BheWxvYWQi5AEKFkdhdGV3YXlDb25uZWN0UmVzcG9uc2USNQoMZnJvbV91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBCABKAkSMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi5wEKElVzZXJDb25uZWN0UmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjwKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlSAASMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi8QEKE1VzZXJDb25uZWN0UmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgEIAEoCRJDCg1oYW5kc2hha2VfYWNrGAEgASgLMioua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VBY2tIABI1CgZhbnN3ZXIYAiABKAsyIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwQW5zd2VySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkQgJIAWIGcHJvdG8z", [file_kusinta_iot_identity_v1_identity]);
13
+
14
+ /**
15
+ * Describes the message kusinta.iot.signaling.v1.SdpOffer.
16
+ * Use `create(SdpOfferSchema)` to create a new message.
17
+ */
18
+ export const SdpOfferSchema = /*@__PURE__*/
19
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 0);
20
+
21
+ /**
22
+ * Describes the message kusinta.iot.signaling.v1.SdpAnswer.
23
+ * Use `create(SdpAnswerSchema)` to create a new message.
24
+ */
25
+ export const SdpAnswerSchema = /*@__PURE__*/
26
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 1);
27
+
28
+ /**
29
+ * Describes the message kusinta.iot.signaling.v1.IceCandidate.
30
+ * Use `create(IceCandidateSchema)` to create a new message.
31
+ */
32
+ export const IceCandidateSchema = /*@__PURE__*/
33
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 2);
34
+
35
+ /**
36
+ * Describes the message kusinta.iot.signaling.v1.HeartBeat.
37
+ * Use `create(HeartBeatSchema)` to create a new message.
38
+ */
39
+ export const HeartBeatSchema = /*@__PURE__*/
40
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 3);
41
+
42
+ /**
43
+ * Describes the message kusinta.iot.signaling.v1.UserHandshake.
44
+ * Use `create(UserHandshakeSchema)` to create a new message.
45
+ */
46
+ export const UserHandshakeSchema = /*@__PURE__*/
47
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 4);
48
+
49
+ /**
50
+ * Describes the message kusinta.iot.signaling.v1.UserHandshakeAck.
51
+ * Use `create(UserHandshakeAckSchema)` to create a new message.
52
+ */
53
+ export const UserHandshakeAckSchema = /*@__PURE__*/
54
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 5);
55
+
56
+ /**
57
+ * Describes the message kusinta.iot.signaling.v1.GatewayConnectRequest.
58
+ * Use `create(GatewayConnectRequestSchema)` to create a new message.
59
+ */
60
+ export const GatewayConnectRequestSchema = /*@__PURE__*/
61
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 6);
62
+
63
+ /**
64
+ * Describes the message kusinta.iot.signaling.v1.GatewayConnectResponse.
65
+ * Use `create(GatewayConnectResponseSchema)` to create a new message.
66
+ */
67
+ export const GatewayConnectResponseSchema = /*@__PURE__*/
68
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 7);
69
+
70
+ /**
71
+ * Describes the message kusinta.iot.signaling.v1.UserConnectRequest.
72
+ * Use `create(UserConnectRequestSchema)` to create a new message.
73
+ */
74
+ export const UserConnectRequestSchema = /*@__PURE__*/
75
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 8);
76
+
77
+ /**
78
+ * Describes the message kusinta.iot.signaling.v1.UserConnectResponse.
79
+ * Use `create(UserConnectResponseSchema)` to create a new message.
80
+ */
81
+ export const UserConnectResponseSchema = /*@__PURE__*/
82
+ messageDesc(file_kusinta_iot_signaling_v1_signaling, 9);
83
+
@@ -0,0 +1,34 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/signaling/v1/signaling_service.proto (package kusinta.iot.signaling.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema } from "./signaling_pb.js";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
10
+ */
11
+ export declare const file_kusinta_iot_signaling_v1_signaling_service: GenFile;
12
+
13
+ /**
14
+ * @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
15
+ */
16
+ export declare const GatewaySignalingService: GenService<{
17
+ /**
18
+ * @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.GatewayConnect
19
+ */
20
+ gatewayConnect: {
21
+ methodKind: "bidi_streaming";
22
+ input: typeof GatewayConnectRequestSchema;
23
+ output: typeof GatewayConnectResponseSchema;
24
+ },
25
+ /**
26
+ * @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserConnect
27
+ */
28
+ userConnect: {
29
+ methodKind: "bidi_streaming";
30
+ input: typeof UserConnectRequestSchema;
31
+ output: typeof UserConnectResponseSchema;
32
+ },
33
+ }>;
34
+
@@ -0,0 +1,19 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/signaling/v1/signaling_service.proto (package kusinta.iot.signaling.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_signaling_v1_signaling } from "./signaling_pb.js";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
10
+ */
11
+ export const file_kusinta_iot_signaling_v1_signaling_service = /*@__PURE__*/
12
+ fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTKCAgoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwAUICSAFiBnByb3RvMw", [file_kusinta_iot_signaling_v1_signaling]);
13
+
14
+ /**
15
+ * @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
16
+ */
17
+ export const GatewaySignalingService = /*@__PURE__*/
18
+ serviceDesc(file_kusinta_iot_signaling_v1_signaling_service, 0);
19
+
@@ -1,11 +1,11 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/space/v1/space.proto (package kusinta.iot.space.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
- import type { DeviceId, GatewayId, SpaceId, TenantId, UserId } from "../../identity/v1/identity_pb";
8
- import type { SpaceType } from "../../common/v1/types_pb";
7
+ import type { DeviceId, GatewayId, SpaceId, TenantId, UserId } from "../../identity/v1/identity_pb.js";
8
+ import type { SpaceType } from "../../common/v1/types_pb.js";
9
9
 
10
10
  /**
11
11
  * Describes the file kusinta/iot/space/v1/space.proto.
@@ -1,10 +1,10 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/space/v1/space.proto (package kusinta.iot.space.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
- import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb";
7
- import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb";
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
8
 
9
9
  /**
10
10
  * Describes the file kusinta/iot/space/v1/space.proto.
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/vendor/homematic/v1/homematic.proto (package kusinta.iot.vendor.homematic.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -14,37 +14,42 @@ export declare const file_kusinta_iot_vendor_homematic_v1_homematic: GenFile;
14
14
  * HomeMatic-specific thermostat properties not available in Matter Thermostat cluster.
15
15
  * Add new fields at the next available field number — never reuse a removed number.
16
16
  *
17
+ * Every field is `optional`, for the same reason as device/v1/properties.proto: these are
18
+ * assembled from a PropertyUpdate stream, and zero is a real reading here too — boost_mode
19
+ * false means not boosting, control_mode 0 is an HmIP ControlMode value. Absent means never
20
+ * reported; present means a reading, including zero.
21
+ *
17
22
  * @generated from message kusinta.iot.vendor.homematic.v1.HmThermostatProps
18
23
  */
19
24
  export declare type HmThermostatProps = Message<"kusinta.iot.vendor.homematic.v1.HmThermostatProps"> & {
20
25
  /**
21
- * @generated from field: bool boost_mode = 1;
26
+ * @generated from field: optional bool boost_mode = 1;
22
27
  */
23
- boostMode: boolean;
28
+ boostMode?: boolean | undefined;
24
29
 
25
30
  /**
26
31
  * minutes remaining in boost
27
32
  *
28
- * @generated from field: float boost_time_period = 2;
33
+ * @generated from field: optional float boost_time_period = 2;
29
34
  */
30
- boostTimePeriod: number;
35
+ boostTimePeriod?: number | undefined;
31
36
 
32
37
  /**
33
38
  * HmIP ControlMode enum
34
39
  *
35
- * @generated from field: uint32 control_mode = 3;
40
+ * @generated from field: optional uint32 control_mode = 3;
36
41
  */
37
- controlMode: number;
42
+ controlMode?: number | undefined;
38
43
 
39
44
  /**
40
- * @generated from field: bool frost_protection = 4;
45
+ * @generated from field: optional bool frost_protection = 4;
41
46
  */
42
- frostProtection: boolean;
47
+ frostProtection?: boolean | undefined;
43
48
 
44
49
  /**
45
- * @generated from field: float current_profile_period = 5;
50
+ * @generated from field: optional float current_profile_period = 5;
46
51
  */
47
- currentProfilePeriod: number;
52
+ currentProfilePeriod?: number | undefined;
48
53
  };
49
54
 
50
55
  /**
@@ -1,4 +1,4 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/vendor/homematic/v1/homematic.proto (package kusinta.iot.vendor.homematic.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
@@ -8,7 +8,7 @@ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
8
8
  * Describes the file kusinta/iot/vendor/homematic/v1/homematic.proto.
9
9
  */
10
10
  export const file_kusinta_iot_vendor_homematic_v1_homematic = /*@__PURE__*/
11
- fileDesc("Ci9rdXNpbnRhL2lvdC92ZW5kb3IvaG9tZW1hdGljL3YxL2hvbWVtYXRpYy5wcm90bxIfa3VzaW50YS5pb3QudmVuZG9yLmhvbWVtYXRpYy52MSKSAQoRSG1UaGVybW9zdGF0UHJvcHMSEgoKYm9vc3RfbW9kZRgBIAEoCBIZChFib29zdF90aW1lX3BlcmlvZBgCIAEoAhIUCgxjb250cm9sX21vZGUYAyABKA0SGAoQZnJvc3RfcHJvdGVjdGlvbhgEIAEoCBIeChZjdXJyZW50X3Byb2ZpbGVfcGVyaW9kGAUgASgCIq0BChhIb21lbWF0aWNWZW5kb3JFeHRlbnNpb24SGQoRaG9tZW1hdGljX2FkZHJlc3MYASABKAkSFgoOaG9tZW1hdGljX3R5cGUYAiABKAkSSwoNaG1fdGhlcm1vc3RhdBgKIAEoCzIyLmt1c2ludGEuaW90LnZlbmRvci5ob21lbWF0aWMudjEuSG1UaGVybW9zdGF0UHJvcHNIAEIRCg9ob21lbWF0aWNfcHJvcHNCAkgBYgZwcm90bzM");
11
+ fileDesc("Ci9rdXNpbnRhL2lvdC92ZW5kb3IvaG9tZW1hdGljL3YxL2hvbWVtYXRpYy5wcm90bxIfa3VzaW50YS5pb3QudmVuZG9yLmhvbWVtYXRpYy52MSKRAgoRSG1UaGVybW9zdGF0UHJvcHMSFwoKYm9vc3RfbW9kZRgBIAEoCEgAiAEBEh4KEWJvb3N0X3RpbWVfcGVyaW9kGAIgASgCSAGIAQESGQoMY29udHJvbF9tb2RlGAMgASgNSAKIAQESHQoQZnJvc3RfcHJvdGVjdGlvbhgEIAEoCEgDiAEBEiMKFmN1cnJlbnRfcHJvZmlsZV9wZXJpb2QYBSABKAJIBIgBAUINCgtfYm9vc3RfbW9kZUIUChJfYm9vc3RfdGltZV9wZXJpb2RCDwoNX2NvbnRyb2xfbW9kZUITChFfZnJvc3RfcHJvdGVjdGlvbkIZChdfY3VycmVudF9wcm9maWxlX3BlcmlvZCKtAQoYSG9tZW1hdGljVmVuZG9yRXh0ZW5zaW9uEhkKEWhvbWVtYXRpY19hZGRyZXNzGAEgASgJEhYKDmhvbWVtYXRpY190eXBlGAIgASgJEksKDWhtX3RoZXJtb3N0YXQYCiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhtVGhlcm1vc3RhdFByb3BzSABCEQoPaG9tZW1hdGljX3Byb3BzQgJIAWIGcHJvdG8z");
12
12
 
13
13
  /**
14
14
  * Describes the message kusinta.iot.vendor.homematic.v1.HmThermostatProps.