@kusinta/iot-schema 0.2.0-beta.13 → 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kusinta/iot-schema",
3
- "version": "0.2.0-beta.13",
3
+ "version": "0.2.0-beta.14",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": ["src"],
@@ -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. 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.
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
  /**
@@ -280,6 +306,10 @@ export declare const UserConnectRequestSchema: GenMessage<UserConnectRequest>;
280
306
  /**
281
307
  * Messages sent by the api-server to the app.
282
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
+ *
283
313
  * @generated from message kusinta.iot.signaling.v1.UserConnectResponse
284
314
  */
285
315
  export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.UserConnectResponse"> & {
@@ -287,6 +317,7 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
287
317
  * Echoes the session_id of the stream this message is delivered on, so a
288
318
  * client can assert the relay routed to the session it thinks it is. See the
289
319
  * contract above.
320
+ * Ignored on a heartbeat, which carries no routing target at all.
290
321
  *
291
322
  * @generated from field: string session_id = 4;
292
323
  */
@@ -313,6 +344,22 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
313
344
  */
314
345
  value: IceCandidate;
315
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";
316
363
  } | { case: undefined; value?: undefined };
317
364
  };
318
365
 
@@ -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("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCI0ChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCSKhAgoVR2F0ZXdheUNvbm5lY3RSZXF1ZXN0EjcKDnRhcmdldF91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBSABKAkSNQoGYW5zd2VyGAIgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcEFuc3dlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASOAoJaGVhcnRiZWF0GAQgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkhlYXJ0QmVhdEgAQgkKB3BheWxvYWQi5AEKFkdhdGV3YXlDb25uZWN0UmVzcG9uc2USNQoMZnJvbV91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBCABKAkSMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi5wEKElVzZXJDb25uZWN0UmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjwKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlSAASMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi8QEKE1VzZXJDb25uZWN0UmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgEIAEoCRJDCg1oYW5kc2hha2VfYWNrGAEgASgLMioua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VBY2tIABI1CgZhbnN3ZXIYAiABKAsyIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwQW5zd2VySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkIm8KEVVzZXJMaXN0ZW5SZXF1ZXN0EjoKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlEhIKCnNlc3Npb25faWQYBCABKAlKBAgCEANKBAgDEAQiVQoSVXNlckxpc3RlblJlc3BvbnNlEj8KCHJlc3BvbnNlGAEgASgLMi0ua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVzcG9uc2UitwEKD1VzZXJTZW5kUmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjMKBW9mZmVyGAIgASgLMiIua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcE9mZmVySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkSgQIARACUgloYW5kc2hha2UiEgoQVXNlclNlbmRSZXNwb25zZUICSAFiBnByb3RvMw", [file_kusinta_iot_identity_v1_identity]);
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.