@kusinta/iot-schema 0.2.0-beta.12 → 0.2.0-beta.13

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.12",
3
+ "version": "0.2.0-beta.13",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": ["src"],
@@ -244,6 +244,10 @@ export declare type UserConnectRequest = Message<"kusinta.iot.signaling.v1.UserC
244
244
  sessionId: string;
245
245
 
246
246
  /**
247
+ * A payload added here, the handshake aside, belongs in UserSendRequest too:
248
+ * the half-duplex form of this leg carries the same upstream messages, and
249
+ * nothing fails if one of them is only added to one of the two.
250
+ *
247
251
  * @generated from oneof kusinta.iot.signaling.v1.UserConnectRequest.payload
248
252
  */
249
253
  payload: {
@@ -318,3 +322,118 @@ export declare type UserConnectResponse = Message<"kusinta.iot.signaling.v1.User
318
322
  */
319
323
  export declare const UserConnectResponseSchema: GenMessage<UserConnectResponse>;
320
324
 
325
+ /**
326
+ * The app leg of the protocol exists twice. UserConnect is one bidi stream, and
327
+ * is what a client uses when its transport can stream a request body. A client
328
+ * whose transport cannot — a browser, whose fetch API has no full-duplex request
329
+ * stream — uses UserListen and UserSend instead. Both forms carry the same
330
+ * messages and are served by the same relay: once a session is live, how it was
331
+ * opened is not observable.
332
+ *
333
+ * Opens the downstream half of a half-duplex app session, and carries the
334
+ * handshake that is the first frame of the bidi form. Field numbers are those of
335
+ * the equivalent UserConnectRequest, so the two cannot be confused on the wire.
336
+ *
337
+ * @generated from message kusinta.iot.signaling.v1.UserListenRequest
338
+ */
339
+ export declare type UserListenRequest = Message<"kusinta.iot.signaling.v1.UserListenRequest"> & {
340
+ /**
341
+ * @generated from field: kusinta.iot.signaling.v1.UserHandshake handshake = 1;
342
+ */
343
+ handshake?: UserHandshake | undefined;
344
+
345
+ /**
346
+ * This client's session: opaque, minted by the client, stable across
347
+ * reconnects, never a credential, and required. See the contract above.
348
+ *
349
+ * @generated from field: string session_id = 4;
350
+ */
351
+ sessionId: string;
352
+ };
353
+
354
+ /**
355
+ * Describes the message kusinta.iot.signaling.v1.UserListenRequest.
356
+ * Use `create(UserListenRequestSchema)` to create a new message.
357
+ */
358
+ export declare const UserListenRequestSchema: GenMessage<UserListenRequest>;
359
+
360
+ /**
361
+ * One message of the downstream half. Wraps the response the bidi form delivers
362
+ * directly, rather than restating its payloads: a response message is not shared
363
+ * between two rpcs, and a second copy of the oneof would be free to drift from
364
+ * the first.
365
+ *
366
+ * @generated from message kusinta.iot.signaling.v1.UserListenResponse
367
+ */
368
+ export declare type UserListenResponse = Message<"kusinta.iot.signaling.v1.UserListenResponse"> & {
369
+ /**
370
+ * @generated from field: kusinta.iot.signaling.v1.UserConnectResponse response = 1;
371
+ */
372
+ response?: UserConnectResponse | undefined;
373
+ };
374
+
375
+ /**
376
+ * Describes the message kusinta.iot.signaling.v1.UserListenResponse.
377
+ * Use `create(UserListenResponseSchema)` to create a new message.
378
+ */
379
+ export declare const UserListenResponseSchema: GenMessage<UserListenResponse>;
380
+
381
+ /**
382
+ * One upstream message of a half-duplex app session, delivered by its own call.
383
+ *
384
+ * The session must already be open, which is what makes ordering the caller's
385
+ * job: the handshake is acknowledged on the UserListen stream, and a UserSend
386
+ * issued before that acknowledgement names a session the relay does not hold
387
+ * yet. It is refused, not queued. Two sends racing each other can also arrive
388
+ * out of order, so a caller that must preserve order — an offer before the
389
+ * candidates that belong to it — issues them one at a time.
390
+ *
391
+ * @generated from message kusinta.iot.signaling.v1.UserSendRequest
392
+ */
393
+ export declare type UserSendRequest = Message<"kusinta.iot.signaling.v1.UserSendRequest"> & {
394
+ /**
395
+ * The session to deliver into. See the contract above.
396
+ *
397
+ * @generated from field: string session_id = 4;
398
+ */
399
+ sessionId: string;
400
+
401
+ /**
402
+ * @generated from oneof kusinta.iot.signaling.v1.UserSendRequest.payload
403
+ */
404
+ payload: {
405
+ /**
406
+ * @generated from field: kusinta.iot.signaling.v1.SdpOffer offer = 2;
407
+ */
408
+ value: SdpOffer;
409
+ case: "offer";
410
+ } | {
411
+ /**
412
+ * @generated from field: kusinta.iot.signaling.v1.IceCandidate ice_candidate = 3;
413
+ */
414
+ value: IceCandidate;
415
+ case: "iceCandidate";
416
+ } | { case: undefined; value?: undefined };
417
+ };
418
+
419
+ /**
420
+ * Describes the message kusinta.iot.signaling.v1.UserSendRequest.
421
+ * Use `create(UserSendRequestSchema)` to create a new message.
422
+ */
423
+ export declare const UserSendRequestSchema: GenMessage<UserSendRequest>;
424
+
425
+ /**
426
+ * Empty. Delivery is acknowledged by the call succeeding; a message that could
427
+ * not be routed fails the call instead.
428
+ *
429
+ * @generated from message kusinta.iot.signaling.v1.UserSendResponse
430
+ */
431
+ export declare type UserSendResponse = Message<"kusinta.iot.signaling.v1.UserSendResponse"> & {
432
+ };
433
+
434
+ /**
435
+ * Describes the message kusinta.iot.signaling.v1.UserSendResponse.
436
+ * Use `create(UserSendResponseSchema)` to create a new message.
437
+ */
438
+ export declare const UserSendResponseSchema: GenMessage<UserSendResponse>;
439
+
@@ -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/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi8QEKE1VzZXJDb25uZWN0UmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgEIAEoCRJDCg1oYW5kc2hha2VfYWNrGAEgASgLMioua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VBY2tIABI1CgZhbnN3ZXIYAiABKAsyIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwQW5zd2VySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkQgJIAWIGcHJvdG8z", [file_kusinta_iot_identity_v1_identity]);
12
+ fileDesc("CihrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nLnByb3RvEhhrdXNpbnRhLmlvdC5zaWduYWxpbmcudjEiFwoIU2RwT2ZmZXISCwoDc2RwGAEgASgJIhgKCVNkcEFuc3dlchILCgNzZHAYASABKAkiSwoMSWNlQ2FuZGlkYXRlEhEKCWNhbmRpZGF0ZRgBIAEoCRIPCgdzZHBfbWlkGAIgASgJEhcKD3NkcF9tbGluZV9pbmRleBgDIAEoBSILCglIZWFydEJlYXQiTgoNVXNlckhhbmRzaGFrZRI9ChF0YXJnZXRfZ2F0ZXdheV9pZBgBIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCI0ChBVc2VySGFuZHNoYWtlQWNrEhAKCGFjY2VwdGVkGAEgASgIEg4KBnJlYXNvbhgCIAEoCSKhAgoVR2F0ZXdheUNvbm5lY3RSZXF1ZXN0EjcKDnRhcmdldF91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBSABKAkSNQoGYW5zd2VyGAIgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcEFuc3dlckgAEj8KDWljZV9jYW5kaWRhdGUYAyABKAsyJi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuSWNlQ2FuZGlkYXRlSAASOAoJaGVhcnRiZWF0GAQgASgLMiMua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkhlYXJ0QmVhdEgAQgkKB3BheWxvYWQi5AEKFkdhdGV3YXlDb25uZWN0UmVzcG9uc2USNQoMZnJvbV91c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhIKCnNlc3Npb25faWQYBCABKAkSMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi5wEKElVzZXJDb25uZWN0UmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjwKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlSAASMwoFb2ZmZXIYAiABKAsyIi5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwT2ZmZXJIABI/Cg1pY2VfY2FuZGlkYXRlGAMgASgLMiYua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkljZUNhbmRpZGF0ZUgAQgkKB3BheWxvYWQi8QEKE1VzZXJDb25uZWN0UmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgEIAEoCRJDCg1oYW5kc2hha2VfYWNrGAEgASgLMioua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJIYW5kc2hha2VBY2tIABI1CgZhbnN3ZXIYAiABKAsyIy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuU2RwQW5zd2VySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkIm8KEVVzZXJMaXN0ZW5SZXF1ZXN0EjoKCWhhbmRzaGFrZRgBIAEoCzInLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VySGFuZHNoYWtlEhIKCnNlc3Npb25faWQYBCABKAlKBAgCEANKBAgDEAQiVQoSVXNlckxpc3RlblJlc3BvbnNlEj8KCHJlc3BvbnNlGAEgASgLMi0ua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVzcG9uc2UitwEKD1VzZXJTZW5kUmVxdWVzdBISCgpzZXNzaW9uX2lkGAQgASgJEjMKBW9mZmVyGAIgASgLMiIua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlNkcE9mZmVySAASPwoNaWNlX2NhbmRpZGF0ZRgDIAEoCzImLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5JY2VDYW5kaWRhdGVIAEIJCgdwYXlsb2FkSgQIARACUgloYW5kc2hha2UiEgoQVXNlclNlbmRSZXNwb25zZUICSAFiBnByb3RvMw", [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("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTKCAgoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwAUICSAFiBnByb3RvMw", [file_kusinta_iot_signaling_v1_signaling]);
12
+ fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTLQAwoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwARJpCgpVc2VyTGlzdGVuEisua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXF1ZXN0Giwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJMaXN0ZW5SZXNwb25zZTABEmEKCFVzZXJTZW5kEikua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJTZW5kUmVxdWVzdBoqLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyU2VuZFJlc3BvbnNlQgJIAWIGcHJvdG8z", [file_kusinta_iot_signaling_v1_signaling]);
13
13
 
14
14
  /**
15
15
  * @generated from service kusinta.iot.signaling.v1.GatewaySignalingService