@kusinta/iot-schema 0.2.0-beta.12 → 0.2.0-beta.14
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
CHANGED
|
@@ -76,10 +76,19 @@ export declare type IceCandidate = Message<"kusinta.iot.signaling.v1.IceCandidat
|
|
|
76
76
|
export declare const IceCandidateSchema: GenMessage<IceCandidate>;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
* Empty keepalive
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
79
|
+
* Empty keepalive, sent periodically on a stream that would otherwise fall
|
|
80
|
+
* silent. The DATA frames it produces reset the inactivity timers on any proxy
|
|
81
|
+
* between the two ends and stop it tearing the stream down. Carries no routing
|
|
82
|
+
* target and is dropped on receipt.
|
|
83
|
+
*
|
|
84
|
+
* Carried on two arms, each covering a half that falls silent while neither end
|
|
85
|
+
* has anything to say: the building-server gateway sends it upstream on
|
|
86
|
+
* GatewayConnect, and the api-server sends it downstream to the app on
|
|
87
|
+
* UserConnectResponse. The remaining halves have no arm — an app leg's upstream
|
|
88
|
+
* that goes idle is one the client can write on whenever it needs to.
|
|
89
|
+
*
|
|
90
|
+
* Never an acknowledgement. A heartbeat answers no message and must not be
|
|
91
|
+
* treated as confirming one.
|
|
83
92
|
*
|
|
84
93
|
* @generated from message kusinta.iot.signaling.v1.HeartBeat
|
|
85
94
|
*/
|
|
@@ -124,6 +133,23 @@ export declare type UserHandshakeAck = Message<"kusinta.iot.signaling.v1.UserHan
|
|
|
124
133
|
* @generated from field: string reason = 2;
|
|
125
134
|
*/
|
|
126
135
|
reason: string;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* How often the api-server will send a HeartBeat on this stream, in
|
|
139
|
+
* milliseconds.
|
|
140
|
+
*
|
|
141
|
+
* Advisory, and a client must not refuse a stream over it: a client that has
|
|
142
|
+
* seen no traffic at all for a small multiple of this may take the stream for
|
|
143
|
+
* gone and reattach with the same session_id, which is the difference between
|
|
144
|
+
* a renegotiation that stalls and one that reconnects. The server is free to
|
|
145
|
+
* answer with a different value on the next session.
|
|
146
|
+
*
|
|
147
|
+
* Zero means the server is not heartbeating this stream, and a client must
|
|
148
|
+
* then not infer anything from silence.
|
|
149
|
+
*
|
|
150
|
+
* @generated from field: uint32 heartbeat_interval_ms = 3;
|
|
151
|
+
*/
|
|
152
|
+
heartbeatIntervalMs: number;
|
|
127
153
|
};
|
|
128
154
|
|
|
129
155
|
/**
|
|
@@ -244,6 +270,10 @@ export declare type UserConnectRequest = Message<"kusinta.iot.signaling.v1.UserC
|
|
|
244
270
|
sessionId: string;
|
|
245
271
|
|
|
246
272
|
/**
|
|
273
|
+
* A payload added here, the handshake aside, belongs in UserSendRequest too:
|
|
274
|
+
* the half-duplex form of this leg carries the same upstream messages, and
|
|
275
|
+
* nothing fails if one of them is only added to one of the two.
|
|
276
|
+
*
|
|
247
277
|
* @generated from oneof kusinta.iot.signaling.v1.UserConnectRequest.payload
|
|
248
278
|
*/
|
|
249
279
|
payload: {
|
|
@@ -276,6 +306,10 @@ export declare const UserConnectRequestSchema: GenMessage<UserConnectRequest>;
|
|
|
276
306
|
/**
|
|
277
307
|
* Messages sent by the api-server to the app.
|
|
278
308
|
*
|
|
309
|
+
* One oneof serves both forms of the leg: UserListenResponse wraps this message
|
|
310
|
+
* rather than restating its payloads, so an arm added here reaches the bidi and
|
|
311
|
+
* half-duplex forms alike.
|
|
312
|
+
*
|
|
279
313
|
* @generated from message kusinta.iot.signaling.v1.UserConnectResponse
|
|
280
314
|
*/
|
|
281
315
|
export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.UserConnectResponse"> & {
|
|
@@ -283,6 +317,7 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
|
|
|
283
317
|
* Echoes the session_id of the stream this message is delivered on, so a
|
|
284
318
|
* client can assert the relay routed to the session it thinks it is. See the
|
|
285
319
|
* contract above.
|
|
320
|
+
* Ignored on a heartbeat, which carries no routing target at all.
|
|
286
321
|
*
|
|
287
322
|
* @generated from field: string session_id = 4;
|
|
288
323
|
*/
|
|
@@ -309,6 +344,22 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
|
|
|
309
344
|
*/
|
|
310
345
|
value: IceCandidate;
|
|
311
346
|
case: "iceCandidate";
|
|
347
|
+
} | {
|
|
348
|
+
/**
|
|
349
|
+
* Keeps a silent stream alive. UserListen is downstream-only — the client
|
|
350
|
+
* opens it with a handshake and then writes nothing — so between the
|
|
351
|
+
* acknowledgement and an answer there is no traffic in either direction, and
|
|
352
|
+
* an idle negotiation can outlast a proxy's patience. Upstream cannot help:
|
|
353
|
+
* the client has nothing to send, and it is traffic *to* the client that
|
|
354
|
+
* resets a client-side idle timer.
|
|
355
|
+
*
|
|
356
|
+
* A client that does not know this arm sees an unset payload rather than an
|
|
357
|
+
* error, which is what the oneof buys.
|
|
358
|
+
*
|
|
359
|
+
* @generated from field: kusinta.iot.signaling.v1.HeartBeat heartbeat = 5;
|
|
360
|
+
*/
|
|
361
|
+
value: HeartBeat;
|
|
362
|
+
case: "heartbeat";
|
|
312
363
|
} | { case: undefined; value?: undefined };
|
|
313
364
|
};
|
|
314
365
|
|
|
@@ -318,3 +369,118 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
|
|
|
318
369
|
*/
|
|
319
370
|
export declare const UserConnectResponseSchema: GenMessage<UserConnectResponse>;
|
|
320
371
|
|
|
372
|
+
/**
|
|
373
|
+
* The app leg of the protocol exists twice. UserConnect is one bidi stream, and
|
|
374
|
+
* is what a client uses when its transport can stream a request body. A client
|
|
375
|
+
* whose transport cannot — a browser, whose fetch API has no full-duplex request
|
|
376
|
+
* stream — uses UserListen and UserSend instead. Both forms carry the same
|
|
377
|
+
* messages and are served by the same relay: once a session is live, how it was
|
|
378
|
+
* opened is not observable.
|
|
379
|
+
*
|
|
380
|
+
* Opens the downstream half of a half-duplex app session, and carries the
|
|
381
|
+
* handshake that is the first frame of the bidi form. Field numbers are those of
|
|
382
|
+
* the equivalent UserConnectRequest, so the two cannot be confused on the wire.
|
|
383
|
+
*
|
|
384
|
+
* @generated from message kusinta.iot.signaling.v1.UserListenRequest
|
|
385
|
+
*/
|
|
386
|
+
export declare type UserListenRequest = Message<"kusinta.iot.signaling.v1.UserListenRequest"> & {
|
|
387
|
+
/**
|
|
388
|
+
* @generated from field: kusinta.iot.signaling.v1.UserHandshake handshake = 1;
|
|
389
|
+
*/
|
|
390
|
+
handshake?: UserHandshake | undefined;
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* This client's session: opaque, minted by the client, stable across
|
|
394
|
+
* reconnects, never a credential, and required. See the contract above.
|
|
395
|
+
*
|
|
396
|
+
* @generated from field: string session_id = 4;
|
|
397
|
+
*/
|
|
398
|
+
sessionId: string;
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Describes the message kusinta.iot.signaling.v1.UserListenRequest.
|
|
403
|
+
* Use `create(UserListenRequestSchema)` to create a new message.
|
|
404
|
+
*/
|
|
405
|
+
export declare const UserListenRequestSchema: GenMessage<UserListenRequest>;
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* One message of the downstream half. Wraps the response the bidi form delivers
|
|
409
|
+
* directly, rather than restating its payloads: a response message is not shared
|
|
410
|
+
* between two rpcs, and a second copy of the oneof would be free to drift from
|
|
411
|
+
* the first.
|
|
412
|
+
*
|
|
413
|
+
* @generated from message kusinta.iot.signaling.v1.UserListenResponse
|
|
414
|
+
*/
|
|
415
|
+
export declare type UserListenResponse = Message<"kusinta.iot.signaling.v1.UserListenResponse"> & {
|
|
416
|
+
/**
|
|
417
|
+
* @generated from field: kusinta.iot.signaling.v1.UserConnectResponse response = 1;
|
|
418
|
+
*/
|
|
419
|
+
response?: UserConnectResponse | undefined;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Describes the message kusinta.iot.signaling.v1.UserListenResponse.
|
|
424
|
+
* Use `create(UserListenResponseSchema)` to create a new message.
|
|
425
|
+
*/
|
|
426
|
+
export declare const UserListenResponseSchema: GenMessage<UserListenResponse>;
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* One upstream message of a half-duplex app session, delivered by its own call.
|
|
430
|
+
*
|
|
431
|
+
* The session must already be open, which is what makes ordering the caller's
|
|
432
|
+
* job: the handshake is acknowledged on the UserListen stream, and a UserSend
|
|
433
|
+
* issued before that acknowledgement names a session the relay does not hold
|
|
434
|
+
* yet. It is refused, not queued. Two sends racing each other can also arrive
|
|
435
|
+
* out of order, so a caller that must preserve order — an offer before the
|
|
436
|
+
* candidates that belong to it — issues them one at a time.
|
|
437
|
+
*
|
|
438
|
+
* @generated from message kusinta.iot.signaling.v1.UserSendRequest
|
|
439
|
+
*/
|
|
440
|
+
export declare type UserSendRequest = Message<"kusinta.iot.signaling.v1.UserSendRequest"> & {
|
|
441
|
+
/**
|
|
442
|
+
* The session to deliver into. See the contract above.
|
|
443
|
+
*
|
|
444
|
+
* @generated from field: string session_id = 4;
|
|
445
|
+
*/
|
|
446
|
+
sessionId: string;
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* @generated from oneof kusinta.iot.signaling.v1.UserSendRequest.payload
|
|
450
|
+
*/
|
|
451
|
+
payload: {
|
|
452
|
+
/**
|
|
453
|
+
* @generated from field: kusinta.iot.signaling.v1.SdpOffer offer = 2;
|
|
454
|
+
*/
|
|
455
|
+
value: SdpOffer;
|
|
456
|
+
case: "offer";
|
|
457
|
+
} | {
|
|
458
|
+
/**
|
|
459
|
+
* @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
|
|
460
|
+
*/
|
|
461
|
+
value: IceCandidate;
|
|
462
|
+
case: "iceCandidate";
|
|
463
|
+
} | { case: undefined; value?: undefined };
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Describes the message kusinta.iot.signaling.v1.UserSendRequest.
|
|
468
|
+
* Use `create(UserSendRequestSchema)` to create a new message.
|
|
469
|
+
*/
|
|
470
|
+
export declare const UserSendRequestSchema: GenMessage<UserSendRequest>;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Empty. Delivery is acknowledged by the call succeeding; a message that could
|
|
474
|
+
* not be routed fails the call instead.
|
|
475
|
+
*
|
|
476
|
+
* @generated from message kusinta.iot.signaling.v1.UserSendResponse
|
|
477
|
+
*/
|
|
478
|
+
export declare type UserSendResponse = Message<"kusinta.iot.signaling.v1.UserSendResponse"> & {
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
/**
|
|
482
|
+
* Describes the message kusinta.iot.signaling.v1.UserSendResponse.
|
|
483
|
+
* Use `create(UserSendResponseSchema)` to create a new message.
|
|
484
|
+
*/
|
|
485
|
+
export declare const UserSendResponseSchema: GenMessage<UserSendResponse>;
|
|
486
|
+
|
|
@@ -9,7 +9,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
9
9
|
* Describes the file kusinta/iot/signaling/v1/signaling.proto.
|
|
10
10
|
*/
|
|
11
11
|
export const file_kusinta_iot_signaling_v1_signaling = /*@__PURE__*/
|
|
12
|
-
fileDesc("
|
|
12
|
+
fileDesc("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCJTChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCRIdChVoZWFydGJlYXRfaW50ZXJ2YWxfbXMYAyABKA0ioQIKFUdhdGV3YXlDb25uZWN0UmVxdWVzdBI3Cg50YXJnZXRfdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBISCgpzZXNzaW9uX2lkGAUgASgJEjUKBmFuc3dlchgCIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5TZHBBbnN3ZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAEjgKCWhlYXJ0YmVhdBgEIAEoCzIjLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5IZWFydEJlYXRIAEIJCgdwYXlsb2FkIuQBChZHYXRld2F5Q29ubmVjdFJlc3BvbnNlEjUKDGZyb21fdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBISCgpzZXNzaW9uX2lkGAQgASgJEjMKBW9mZmVyGAIgASgLMiIua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcE9mZmVySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkIucBChJVc2VyQ29ubmVjdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgEIAEoCRI8CgloYW5kc2hha2UYASABKAsyJy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVXNlckhhbmRzaGFrZUgAEjMKBW9mZmVyGAIgASgLMiIua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcE9mZmVySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkIqsCChNVc2VyQ29ubmVjdFJlc3BvbnNlEhIKCnNlc3Npb25faWQYBCABKAkSQwoNaGFuZHNoYWtlX2FjaxgBIAEoCzIqLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlQWNrSAASNQoGYW5zd2VyGAIgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcEFuc3dlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASOAoJaGVhcnRiZWF0GAUgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkhlYXJ0QmVhdEgAQgkKB3BheWxvYWQibwoRVXNlckxpc3RlblJlcXVlc3QSOgoJaGFuZHNoYWtlGAEgASgLMicua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2USEgoKc2Vzc2lvbl9pZBgEIAEoCUoECAIQA0oECAMQBCJVChJVc2VyTGlzdGVuUmVzcG9uc2USPwoIcmVzcG9uc2UYASABKAsyLS5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuVXNlckNvbm5lY3RSZXNwb25zZSK3AQoPVXNlclNlbmRSZXF1ZXN0EhIKCnNlc3Npb25faWQYBCABKAkSMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWRKBAgBEAJSCWhhbmRzaGFrZSISChBVc2VyU2VuZFJlc3BvbnNlQgJIAWIGcHJvdG8z", [file_kusinta_iot_identity_v1_identity]);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Describes the message kusinta.iot.signaling.v1.SdpOffer.
|
|
@@ -81,3 +81,31 @@ export const UserConnectRequestSchema = /*@__PURE__*/
|
|
|
81
81
|
export const UserConnectResponseSchema = /*@__PURE__*/
|
|
82
82
|
messageDesc(file_kusinta_iot_signaling_v1_signaling, 9);
|
|
83
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Describes the message kusinta.iot.signaling.v1.UserListenRequest.
|
|
86
|
+
* Use `create(UserListenRequestSchema)` to create a new message.
|
|
87
|
+
*/
|
|
88
|
+
export const UserListenRequestSchema = /*@__PURE__*/
|
|
89
|
+
messageDesc(file_kusinta_iot_signaling_v1_signaling, 10);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Describes the message kusinta.iot.signaling.v1.UserListenResponse.
|
|
93
|
+
* Use `create(UserListenResponseSchema)` to create a new message.
|
|
94
|
+
*/
|
|
95
|
+
export const UserListenResponseSchema = /*@__PURE__*/
|
|
96
|
+
messageDesc(file_kusinta_iot_signaling_v1_signaling, 11);
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Describes the message kusinta.iot.signaling.v1.UserSendRequest.
|
|
100
|
+
* Use `create(UserSendRequestSchema)` to create a new message.
|
|
101
|
+
*/
|
|
102
|
+
export const UserSendRequestSchema = /*@__PURE__*/
|
|
103
|
+
messageDesc(file_kusinta_iot_signaling_v1_signaling, 12);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Describes the message kusinta.iot.signaling.v1.UserSendResponse.
|
|
107
|
+
* Use `create(UserSendResponseSchema)` to create a new message.
|
|
108
|
+
*/
|
|
109
|
+
export const UserSendResponseSchema = /*@__PURE__*/
|
|
110
|
+
messageDesc(file_kusinta_iot_signaling_v1_signaling, 13);
|
|
111
|
+
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
-
import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema } from "./signaling_pb.js";
|
|
6
|
+
import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema, UserListenRequestSchema, UserListenResponseSchema, UserSendRequestSchema, UserSendResponseSchema } from "./signaling_pb.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
|
|
@@ -30,5 +30,28 @@ export declare const GatewaySignalingService: GenService<{
|
|
|
30
30
|
input: typeof UserConnectRequestSchema;
|
|
31
31
|
output: typeof UserConnectResponseSchema;
|
|
32
32
|
},
|
|
33
|
+
/**
|
|
34
|
+
* Opens the session and its downstream half, for a client whose transport
|
|
35
|
+
* cannot stream a request body and so cannot call UserConnect. The handshake
|
|
36
|
+
* travels in the request; the acknowledgement is the stream's first message.
|
|
37
|
+
*
|
|
38
|
+
* @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserListen
|
|
39
|
+
*/
|
|
40
|
+
userListen: {
|
|
41
|
+
methodKind: "server_streaming";
|
|
42
|
+
input: typeof UserListenRequestSchema;
|
|
43
|
+
output: typeof UserListenResponseSchema;
|
|
44
|
+
},
|
|
45
|
+
/**
|
|
46
|
+
* Delivers one upstream message into a session UserListen has already opened.
|
|
47
|
+
* A call naming a session the relay does not hold is refused, not queued.
|
|
48
|
+
*
|
|
49
|
+
* @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserSend
|
|
50
|
+
*/
|
|
51
|
+
userSend: {
|
|
52
|
+
methodKind: "unary";
|
|
53
|
+
input: typeof UserSendRequestSchema;
|
|
54
|
+
output: typeof UserSendResponseSchema;
|
|
55
|
+
},
|
|
33
56
|
}>;
|
|
34
57
|
|
|
@@ -9,7 +9,7 @@ import { file_kusinta_iot_signaling_v1_signaling } from "./signaling_pb.js";
|
|
|
9
9
|
* Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
|
|
10
10
|
*/
|
|
11
11
|
export const file_kusinta_iot_signaling_v1_signaling_service = /*@__PURE__*/
|
|
12
|
-
fileDesc("
|
|
12
|
+
fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTLQAwoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwARJpCgpVc2VyTGlzdGVuEisua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXF1ZXN0Giwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXNwb25zZTABEmEKCFVzZXJTZW5kEikua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJTZW5kUmVxdWVzdBoqLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyU2VuZFJlc3BvbnNlQgJIAWIGcHJvdG8z", [file_kusinta_iot_signaling_v1_signaling]);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
|