@kusinta/iot-schema 0.2.0-beta.1 → 0.2.0-beta.11

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 (40) hide show
  1. package/package.json +8 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +130 -0
  3. package/src/kusinta/iot/access/v1/acl_pb.js +19 -5
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +80 -14
  5. package/src/kusinta/iot/access/v1/roles_pb.js +33 -1
  6. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
  7. package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
  8. package/src/kusinta/iot/common/v1/types_pb.d.ts +34 -0
  9. package/src/kusinta/iot/common/v1/types_pb.js +22 -1
  10. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +476 -7
  11. package/src/kusinta/iot/connector/v1/connector_pb.js +70 -12
  12. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +25 -0
  13. package/src/kusinta/iot/device/v1/cluster_state_pb.js +1 -1
  14. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +16 -1
  15. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  16. package/src/kusinta/iot/device/v1/device_pb.d.ts +34 -3
  17. package/src/kusinta/iot/device/v1/device_pb.js +1 -1
  18. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +26 -0
  19. package/src/kusinta/iot/device/v1/matter_options_pb.js +31 -4
  20. package/src/kusinta/iot/device/v1/properties_pb.d.ts +14 -0
  21. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  22. package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
  23. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  24. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +162 -13
  25. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -1
  26. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  27. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  28. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +21 -0
  29. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +24 -2
  30. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -6
  31. package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -1
  32. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +12 -6
  33. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +5 -5
  34. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +339 -5
  35. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +48 -3
  36. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +246 -3
  37. package/src/kusinta/iot/webrtc/v1/management_pb.js +42 -5
  38. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
  39. package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
  40. package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
@@ -4,12 +4,15 @@
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
- import type { DeviceId } from "../../identity/v1/identity_pb.js";
7
+ import type { ConnectorId, DeviceId, SpaceId } from "../../identity/v1/identity_pb.js";
8
8
  import type { AttributeRef } from "../../access/v1/acl_pb.js";
9
9
  import type { Space } from "../../space/v1/space_pb.js";
10
10
  import type { ManagementAck, ManagementRequest, SpaceTree } from "./management_pb.js";
11
+ import type { DeviceLink, DeviceLinkList } from "../../link/v1/link_pb.js";
12
+ import type { PairingErrorDetail, PairingWindow } from "../../common/v1/pairing_pb.js";
13
+ import type { ConnectorKind, DeviceOwnershipType } from "../../common/v1/types_pb.js";
11
14
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
12
- import type { DeviceAdded, DevicePropertyEvent, DeviceRemoved, DeviceStateSnapshot } from "./device_state_pb.js";
15
+ import type { DeviceAdded, DeviceRemoved, DeviceStateSnapshot, PropertyReport } from "./device_state_pb.js";
13
16
  import type { LivePermissionUpdate } from "./permission_push_pb.js";
14
17
  import type { AttributeWriteRequest, CommandResult, DeviceCommand } from "./command_pb.js";
15
18
  import type { DeviceEventBatch } from "../../device/v1/device_event_pb.js";
@@ -316,6 +319,14 @@ export declare type ManagementResult = Message<"kusinta.iot.webrtc.v1.Management
316
319
  */
317
320
  value: ManagementAck;
318
321
  case: "ack";
322
+ } | {
323
+ /**
324
+ * list_device_links
325
+ *
326
+ * @generated from field: kusinta.iot.link.v1.DeviceLinkList links = 6;
327
+ */
328
+ value: DeviceLinkList;
329
+ case: "links";
319
330
  } | { case: undefined; value?: undefined };
320
331
  };
321
332
 
@@ -325,9 +336,302 @@ export declare type ManagementResult = Message<"kusinta.iot.webrtc.v1.Management
325
336
  */
326
337
  export declare const ManagementResultSchema: GenMessage<ManagementResult>;
327
338
 
339
+ /**
340
+ * Asks the gateway to put a connector into pairing mode, so a device joined during the
341
+ * window becomes the caller's rather than belonging to nobody.
342
+ *
343
+ * A payload case of its own rather than a ManagementRequest. Those are gated on a target —
344
+ * a space, a device — and that is the justification for keeping them behind one wrapper.
345
+ * This one names no target: connector_id is optional, and unset means every connector, so
346
+ * it is authorized against the caller's role and nothing else.
347
+ *
348
+ * Answered twice, and the two answers say different things at different times.
349
+ * PairingStarted reports whether the window opened; PairingFinished reports what came of
350
+ * it, seconds or minutes later, once someone has pressed a button on hardware that may be
351
+ * asleep or out of range.
352
+ *
353
+ * @generated from message kusinta.iot.webrtc.v1.StartPairing
354
+ */
355
+ export declare type StartPairing = Message<"kusinta.iot.webrtc.v1.StartPairing"> & {
356
+ /**
357
+ * Which connector to open. Unset means every connector the gateway holds, which is the
358
+ * sensible default: a device picks its hub by radio range, and asking a user to choose is
359
+ * asking them to guess at something they cannot observe.
360
+ *
361
+ * Name one where the answer is not a guess — a device that will be linked to devices on a
362
+ * particular hub has to join that hub, because links are held by the hub that brokered
363
+ * them.
364
+ *
365
+ * @generated from field: kusinta.iot.identity.v1.ConnectorId connector_id = 1;
366
+ */
367
+ connectorId?: ConnectorId | undefined;
368
+
369
+ /**
370
+ * How long, which device, how many. See PairingWindow.
371
+ *
372
+ * @generated from field: kusinta.iot.common.v1.PairingWindow window = 2;
373
+ */
374
+ window?: PairingWindow | undefined;
375
+
376
+ /**
377
+ * Where to file the device once it arrives.
378
+ *
379
+ * Optional, and the two cases differ. A caller pairing a device of their own must name a
380
+ * space they reach, so it is theirs and placed on arrival rather than sitting unfiled and
381
+ * invisible to them. A caller commissioning for a building may leave it unset: a building
382
+ * is commissioned before its spaces are recorded, and an unfiled device is visible to the
383
+ * administrator, who is the person doing the pairing.
384
+ *
385
+ * @generated from field: kusinta.iot.identity.v1.SpaceId initial_space_id = 3;
386
+ */
387
+ initialSpaceId?: SpaceId | undefined;
388
+
389
+ /**
390
+ * What the device should become. Unset lets the gateway decide from the caller's role,
391
+ * which is the reading that scales: someone commissioning fifty devices for a building
392
+ * should not come to own fifty devices because a field defaulted.
393
+ *
394
+ * The gateway refuses an ownership the caller may not confer, and never mints ownership
395
+ * for a third party — handing a device to someone else is a transfer, a separate operation
396
+ * with its own authority.
397
+ *
398
+ * @generated from field: kusinta.iot.common.v1.DeviceOwnershipType ownership = 4;
399
+ */
400
+ ownership: DeviceOwnershipType;
401
+ };
402
+
403
+ /**
404
+ * Describes the message kusinta.iot.webrtc.v1.StartPairing.
405
+ * Use `create(StartPairingSchema)` to create a new message.
406
+ */
407
+ export declare const StartPairingSchema: GenMessage<StartPairing>;
408
+
409
+ /**
410
+ * Whether the pairing window opened, gateway → app. The first of two answers to a
411
+ * StartPairing.
412
+ *
413
+ * @generated from message kusinta.iot.webrtc.v1.PairingStarted
414
+ */
415
+ export declare type PairingStarted = Message<"kusinta.iot.webrtc.v1.PairingStarted"> & {
416
+ /**
417
+ * AppMessage.message_id of the StartPairing
418
+ *
419
+ * @generated from field: string in_reply_to = 1;
420
+ */
421
+ inReplyTo: string;
422
+
423
+ /**
424
+ * When the window closes. Present when it opened, and this is the value to count down
425
+ * from — not the duration that was asked for, which both the gateway and the connector
426
+ * clamp. A countdown run on the request rather than on this one disagrees with the hub.
427
+ *
428
+ * @generated from field: google.protobuf.Timestamp expires_at = 2;
429
+ */
430
+ expiresAt?: Timestamp | undefined;
431
+
432
+ /**
433
+ * Why it did not open. Present instead of expires_at.
434
+ *
435
+ * @generated from field: kusinta.iot.common.v1.PairingErrorDetail error = 3;
436
+ */
437
+ error?: PairingErrorDetail | undefined;
438
+ };
439
+
440
+ /**
441
+ * Describes the message kusinta.iot.webrtc.v1.PairingStarted.
442
+ * Use `create(PairingStartedSchema)` to create a new message.
443
+ */
444
+ export declare const PairingStartedSchema: GenMessage<PairingStarted>;
445
+
446
+ /**
447
+ * What the pairing window produced, gateway → app. The second and last answer, sent once
448
+ * when the window closes.
449
+ *
450
+ * One message per request, not per device: a batch window attributes several, and a client
451
+ * given one message each has nothing telling it the window is over and no defined moment to
452
+ * stop waiting. The devices are listed here; each also arrives as an ordinary DeviceAdded
453
+ * as it appears, so a client may show them as they come and use this to finish.
454
+ *
455
+ * An error and a non-empty device list are not exclusive. A batch of five that attributed
456
+ * three and then expired reports both — three devices and NO_DEVICE_APPEARED — because
457
+ * "some worked" and "the window ran out" are both true and a user needs to be told both.
458
+ *
459
+ * @generated from message kusinta.iot.webrtc.v1.PairingFinished
460
+ */
461
+ export declare type PairingFinished = Message<"kusinta.iot.webrtc.v1.PairingFinished"> & {
462
+ /**
463
+ * AppMessage.message_id of the StartPairing
464
+ *
465
+ * @generated from field: string in_reply_to = 1;
466
+ */
467
+ inReplyTo: string;
468
+
469
+ /**
470
+ * @generated from field: repeated kusinta.iot.identity.v1.DeviceId device_ids = 2;
471
+ */
472
+ deviceIds: DeviceId[];
473
+
474
+ /**
475
+ * Why the window produced fewer devices than asked for, absent when it produced them all.
476
+ * Note this is not always a failure of the request: a window that simply expired unused
477
+ * ends here too, and is the ordinary result of a user changing their mind.
478
+ *
479
+ * @generated from field: kusinta.iot.common.v1.PairingErrorDetail error = 3;
480
+ */
481
+ error?: PairingErrorDetail | undefined;
482
+ };
483
+
484
+ /**
485
+ * Describes the message kusinta.iot.webrtc.v1.PairingFinished.
486
+ * Use `create(PairingFinishedSchema)` to create a new message.
487
+ */
488
+ export declare const PairingFinishedSchema: GenMessage<PairingFinished>;
489
+
328
490
  /**
329
491
  * GatewayMessage: gateway → app
492
+ * A link between two devices has changed, gateway to app.
493
+ *
494
+ * Sent without being asked for, like device_added, and for the same reason: a link's
495
+ * state is not settled when it is made. A hub accepting a link is not the two devices
496
+ * honouring it, and a link that was carrying stops when its sender goes quiet — so the
497
+ * interesting transitions all happen long after the request that created it was
498
+ * answered. Without this an app can only learn by listing every link again and
499
+ * diffing, which means a room that has quietly stopped following its wall thermostat
500
+ * looks correct until somebody reloads.
501
+ *
502
+ * Apply as an upsert keyed on link.link_id, never as an insert: the same link is sent
503
+ * again whenever its state moves.
330
504
  *
505
+ * Sent only for links the recipient is entitled to see. An unfiltered one would say
506
+ * which devices exist and how they are arranged, to somebody entitled to neither.
507
+ *
508
+ * @generated from message kusinta.iot.webrtc.v1.LinkChanged
509
+ */
510
+ export declare type LinkChanged = Message<"kusinta.iot.webrtc.v1.LinkChanged"> & {
511
+ /**
512
+ * @generated from field: kusinta.iot.link.v1.DeviceLink link = 1;
513
+ */
514
+ link?: DeviceLink | undefined;
515
+
516
+ /**
517
+ * The link is gone, rather than merely not carrying. Distinct from a BROKEN state
518
+ * because the two need opposite responses: a removal is finished business, while a
519
+ * link that has stopped carrying is a fault worth showing somebody. Announcing a
520
+ * deletion as BROKEN would leave every removed link looking like something to go
521
+ * and repair.
522
+ *
523
+ * `link` still carries the whole link when this is set, so the app can name what
524
+ * went rather than only its id.
525
+ *
526
+ * @generated from field: bool removed = 2;
527
+ */
528
+ removed: boolean;
529
+ };
530
+
531
+ /**
532
+ * Describes the message kusinta.iot.webrtc.v1.LinkChanged.
533
+ * Use `create(LinkChangedSchema)` to create a new message.
534
+ */
535
+ export declare const LinkChangedSchema: GenMessage<LinkChanged>;
536
+
537
+ /**
538
+ * One connected connector, described for the app, gateway → app.
539
+ *
540
+ * Deliberately not connector.v1.ConnectorInfo: that carries transport and endpoint,
541
+ * which are the gateway↔connector wiring and no business of the app. This is the
542
+ * app-facing projection — who the connector is and what it can do — and nothing
543
+ * about how the gateway reaches it.
544
+ *
545
+ * @generated from message kusinta.iot.webrtc.v1.ConnectorDescriptor
546
+ */
547
+ export declare type ConnectorDescriptor = Message<"kusinta.iot.webrtc.v1.ConnectorDescriptor"> & {
548
+ /**
549
+ * The routing key. Stable and unique; what StartPairing.connector_id and
550
+ * ProvisionDevice.connector_id name.
551
+ *
552
+ * @generated from field: kusinta.iot.identity.v1.ConnectorId connector_id = 1;
553
+ */
554
+ connectorId?: ConnectorId | undefined;
555
+
556
+ /**
557
+ * User-facing label, free-form, never matched on.
558
+ *
559
+ * @generated from field: string display_name = 2;
560
+ */
561
+ displayName: string;
562
+
563
+ /**
564
+ * @generated from field: repeated uint32 supported_device_type_ids = 3;
565
+ */
566
+ supportedDeviceTypeIds: number[];
567
+
568
+ /**
569
+ * The capabilities the app branches on. Copied from the connector's handshake;
570
+ * see ConnectorInfo for what each means. The app decides pairing-vs-provisioning
571
+ * and whether to offer hard links from these, never from kind.
572
+ *
573
+ * @generated from field: bool supports_pairing = 4;
574
+ */
575
+ supportsPairing: boolean;
576
+
577
+ /**
578
+ * @generated from field: bool supports_provisioning = 5;
579
+ */
580
+ supportsProvisioning: boolean;
581
+
582
+ /**
583
+ * @generated from field: bool brokers_links = 6;
584
+ */
585
+ brokersLinks: boolean;
586
+
587
+ /**
588
+ * Presentation only — an icon or an "unknown hub" fallback; see
589
+ * common.v1.ConnectorKind. Unset renders as a generic hub.
590
+ *
591
+ * @generated from field: kusinta.iot.common.v1.ConnectorKind kind = 7;
592
+ */
593
+ kind: ConnectorKind;
594
+
595
+ /**
596
+ * Installer or operator detail, free-form, for a person.
597
+ *
598
+ * @generated from field: string description = 8;
599
+ */
600
+ description: string;
601
+ };
602
+
603
+ /**
604
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorDescriptor.
605
+ * Use `create(ConnectorDescriptorSchema)` to create a new message.
606
+ */
607
+ export declare const ConnectorDescriptorSchema: GenMessage<ConnectorDescriptor>;
608
+
609
+ /**
610
+ * The connectors the gateway currently holds, gateway → app.
611
+ *
612
+ * A push, not a ManagementResult arm: a new result-oneof member is a compile error
613
+ * in a consumer whose match on the result is exhaustive, whereas a new push case is
614
+ * absorbed by that switch's default. Sent on connect and whenever the set changes —
615
+ * a connector arriving, leaving, or revising its capabilities — and replaces the
616
+ * app's whole picture each time rather than being a delta, so a client that missed
617
+ * one re-syncs from the next.
618
+ *
619
+ * @generated from message kusinta.iot.webrtc.v1.ConnectorsAnnounced
620
+ */
621
+ export declare type ConnectorsAnnounced = Message<"kusinta.iot.webrtc.v1.ConnectorsAnnounced"> & {
622
+ /**
623
+ * @generated from field: repeated kusinta.iot.webrtc.v1.ConnectorDescriptor connectors = 1;
624
+ */
625
+ connectors: ConnectorDescriptor[];
626
+ };
627
+
628
+ /**
629
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorsAnnounced.
630
+ * Use `create(ConnectorsAnnouncedSchema)` to create a new message.
631
+ */
632
+ export declare const ConnectorsAnnouncedSchema: GenMessage<ConnectorsAnnounced>;
633
+
634
+ /**
331
635
  * @generated from message kusinta.iot.webrtc.v1.GatewayMessage
332
636
  */
333
637
  export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessage"> & {
@@ -352,10 +656,10 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
352
656
  case: "stateSnapshot";
353
657
  } | {
354
658
  /**
355
- * @generated from field: kusinta.iot.webrtc.v1.DevicePropertyEvent property_event = 4;
659
+ * @generated from field: kusinta.iot.webrtc.v1.PropertyReport property_report = 4;
356
660
  */
357
- value: DevicePropertyEvent;
358
- case: "propertyEvent";
661
+ value: PropertyReport;
662
+ case: "propertyReport";
359
663
  } | {
360
664
  /**
361
665
  * @generated from field: kusinta.iot.webrtc.v1.LivePermissionUpdate permission_update = 5;
@@ -421,6 +725,30 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
421
725
  */
422
726
  value: DeviceEventBatch;
423
727
  case: "deviceEvents";
728
+ } | {
729
+ /**
730
+ * @generated from field: kusinta.iot.webrtc.v1.PairingStarted pairing_started = 17;
731
+ */
732
+ value: PairingStarted;
733
+ case: "pairingStarted";
734
+ } | {
735
+ /**
736
+ * @generated from field: kusinta.iot.webrtc.v1.PairingFinished pairing_finished = 18;
737
+ */
738
+ value: PairingFinished;
739
+ case: "pairingFinished";
740
+ } | {
741
+ /**
742
+ * @generated from field: kusinta.iot.webrtc.v1.LinkChanged link_changed = 19;
743
+ */
744
+ value: LinkChanged;
745
+ case: "linkChanged";
746
+ } | {
747
+ /**
748
+ * @generated from field: kusinta.iot.webrtc.v1.ConnectorsAnnounced connectors_announced = 20;
749
+ */
750
+ value: ConnectorsAnnounced;
751
+ case: "connectorsAnnounced";
424
752
  } | { case: undefined; value?: undefined };
425
753
  };
426
754
 
@@ -497,6 +825,12 @@ export declare type AppMessage = Message<"kusinta.iot.webrtc.v1.AppMessage"> & {
497
825
  */
498
826
  value: AttributeWriteRequest;
499
827
  case: "attributeWrite";
828
+ } | {
829
+ /**
830
+ * @generated from field: kusinta.iot.webrtc.v1.StartPairing start_pairing = 11;
831
+ */
832
+ value: StartPairing;
833
+ case: "startPairing";
500
834
  } | { case: undefined; value?: undefined };
501
835
  };
502
836
 
@@ -5,8 +5,11 @@
5
5
  import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_kusinta_iot_access_v1_acl } from "../../access/v1/acl_pb.js";
8
+ import { file_kusinta_iot_common_v1_pairing } from "../../common/v1/pairing_pb.js";
9
+ import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
8
10
  import { file_kusinta_iot_device_v1_device_event } from "../../device/v1/device_event_pb.js";
9
11
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
12
+ import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
10
13
  import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
11
14
  import { file_kusinta_iot_webrtc_v1_command } from "./command_pb.js";
12
15
  import { file_kusinta_iot_webrtc_v1_device_state } from "./device_state_pb.js";
@@ -17,7 +20,7 @@ import { file_kusinta_iot_webrtc_v1_permission_push } from "./permission_push_pb
17
20
  * Describes the file kusinta/iot/webrtc/v1/envelope.proto.
18
21
  */
19
22
  export const file_kusinta_iot_webrtc_v1_envelope = /*@__PURE__*/
20
- fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoICChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSABCCAoGcmVzdWx0IokHCg5HYXRld2F5TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkQKDnN0YXRlX3NuYXBzaG90GAMgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVN0YXRlU25hcHNob3RIABJECg5wcm9wZXJ0eV9ldmVudBgEIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VQcm9wZXJ0eUV2ZW50SAASSAoRcGVybWlzc2lvbl91cGRhdGUYBSABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGl2ZVBlcm1pc3Npb25VcGRhdGVIABI+Cg5jb21tYW5kX3Jlc3VsdBgGIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kUmVzdWx0SAASKwoEcG9uZxgIIAEoCzIbLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qb25nSAASRgoSaGFuZHNoYWtlX3JlamVjdGVkGAkgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkhhbmRzaGFrZVJlamVjdGVkSAASNAoFZXJyb3IYCiABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9ySAASQgoQc3Vic2NyaXB0aW9uX2FjaxgLIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpcHRpb25BY2tIABI6CgxkZXZpY2VfYWRkZWQYDCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQWRkZWRIABI+Cg5kZXZpY2VfcmVtb3ZlZBgNIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VSZW1vdmVkSAASRAoRbWFuYWdlbWVudF9yZXN1bHQYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlc3VsdEgAEkAKDWRldmljZV9ldmVudHMYECABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAQgkKB3BheWxvYWRKBAgPEBBKBAgHEAhSFmF0dHJpYnV0ZV93cml0ZV9yZXN1bHQixQQKCkFwcE1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4CgloYW5kc2hha2UYAyABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXBwSGFuZHNoYWtlSAASNwoHY29tbWFuZBgEIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VDb21tYW5kSAASQgoMcmVhZF9yZXF1ZXN0GAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVhZFJlcXVlc3RIABIrCgRwaW5nGAYgASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBpbmdIABI8CglzdWJzY3JpYmUYByABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3Vic2NyaWJlRGV2aWNlc0gAEkAKC3Vuc3Vic2NyaWJlGAggASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlVuc3Vic2NyaWJlRGV2aWNlc0gAEj4KCm1hbmFnZW1lbnQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlcXVlc3RIABJHCg9hdHRyaWJ1dGVfd3JpdGUYCiABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXR0cmlidXRlV3JpdGVSZXF1ZXN0SABCCQoHcGF5bG9hZCr2AQoQR2F0ZXdheUVycm9yQ29kZRIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIjCh9HQVRFV0FZX0VSUk9SX0NPREVfTk9UX0VOVElUTEVEEAESJgoiR0FURVdBWV9FUlJPUl9DT0RFX0lOVkFMSURfUkVRVUVTVBACEiIKHkdBVEVXQVlfRVJST1JfQ09ERV9VTkFWQUlMQUJMRRADEh8KG0dBVEVXQVlfRVJST1JfQ09ERV9JTlRFUk5BTBAEEiwKKEdBVEVXQVlfRVJST1JfQ09ERV9TRVNTSU9OX0xJTUlUX1JFQUNIRUQQBUICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_permission_push]);
23
+ fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIrgCChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIIqMCChNDb25uZWN0b3JEZXNjcmlwdG9yEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAMgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYBCABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAUgASgIEhUKDWJyb2tlcnNfbGlua3MYBiABKAgSMgoEa2luZBgHIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAggASgJIlUKE0Nvbm5lY3RvcnNBbm5vdW5jZWQSPgoKY29ubmVjdG9ycxgBIAMoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25uZWN0b3JEZXNjcmlwdG9yIqMJCg5HYXRld2F5TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkQKDnN0YXRlX3NuYXBzaG90GAMgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVN0YXRlU25hcHNob3RIABJACg9wcm9wZXJ0eV9yZXBvcnQYBCABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZXBvcnRIABJIChFwZXJtaXNzaW9uX3VwZGF0ZRgFIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXZlUGVybWlzc2lvblVwZGF0ZUgAEj4KDmNvbW1hbmRfcmVzdWx0GAYgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbW1hbmRSZXN1bHRIABIrCgRwb25nGAggASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBvbmdIABJGChJoYW5kc2hha2VfcmVqZWN0ZWQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuSGFuZHNoYWtlUmVqZWN0ZWRIABI0CgVlcnJvchgKIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JIABJCChBzdWJzY3JpcHRpb25fYWNrGAsgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlN1YnNjcmlwdGlvbkFja0gAEjoKDGRldmljZV9hZGRlZBgMIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VBZGRlZEgAEj4KDmRldmljZV9yZW1vdmVkGA0gASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVJlbW92ZWRIABJEChFtYW5hZ2VtZW50X3Jlc3VsdBgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVzdWx0SAASQAoNZGV2aWNlX2V2ZW50cxgQIAEoCzInLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2VFdmVudEJhdGNoSAASQAoPcGFpcmluZ19zdGFydGVkGBEgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlBhaXJpbmdTdGFydGVkSAASQgoQcGFpcmluZ19maW5pc2hlZBgSIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QYWlyaW5nRmluaXNoZWRIABI6CgxsaW5rX2NoYW5nZWQYEyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlua0NoYW5nZWRIABJKChRjb25uZWN0b3JzX2Fubm91bmNlZBgUIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25uZWN0b3JzQW5ub3VuY2VkSABCCQoHcGF5bG9hZEoECA8QEEoECAcQCFIWYXR0cmlidXRlX3dyaXRlX3Jlc3VsdFIOcHJvcGVydHlfZXZlbnQigwUKCkFwcE1lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4CgloYW5kc2hha2UYAyABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXBwSGFuZHNoYWtlSAASNwoHY29tbWFuZBgEIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VDb21tYW5kSAASQgoMcmVhZF9yZXF1ZXN0GAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlByb3BlcnR5UmVhZFJlcXVlc3RIABIrCgRwaW5nGAYgASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBpbmdIABI8CglzdWJzY3JpYmUYByABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3Vic2NyaWJlRGV2aWNlc0gAEkAKC3Vuc3Vic2NyaWJlGAggASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlVuc3Vic2NyaWJlRGV2aWNlc0gAEj4KCm1hbmFnZW1lbnQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWFuYWdlbWVudFJlcXVlc3RIABJHCg9hdHRyaWJ1dGVfd3JpdGUYCiABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXR0cmlidXRlV3JpdGVSZXF1ZXN0SAASPAoNc3RhcnRfcGFpcmluZxgLIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdGFydFBhaXJpbmdIAEIJCgdwYXlsb2FkKvYBChBHYXRld2F5RXJyb3JDb2RlEiIKHkdBVEVXQVlfRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEiMKH0dBVEVXQVlfRVJST1JfQ09ERV9OT1RfRU5USVRMRUQQARImCiJHQVRFV0FZX0VSUk9SX0NPREVfSU5WQUxJRF9SRVFVRVNUEAISIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOQVZBSUxBQkxFEAMSHwobR0FURVdBWV9FUlJPUl9DT0RFX0lOVEVSTkFMEAQSLAooR0FURVdBWV9FUlJPUl9DT0RFX1NFU1NJT05fTElNSVRfUkVBQ0hFRBAFQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_permission_push]);
21
24
 
22
25
  /**
23
26
  * Describes the message kusinta.iot.webrtc.v1.Ping.
@@ -96,19 +99,61 @@ export const GatewayErrorSchema = /*@__PURE__*/
96
99
  export const ManagementResultSchema = /*@__PURE__*/
97
100
  messageDesc(file_kusinta_iot_webrtc_v1_envelope, 10);
98
101
 
102
+ /**
103
+ * Describes the message kusinta.iot.webrtc.v1.StartPairing.
104
+ * Use `create(StartPairingSchema)` to create a new message.
105
+ */
106
+ export const StartPairingSchema = /*@__PURE__*/
107
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 11);
108
+
109
+ /**
110
+ * Describes the message kusinta.iot.webrtc.v1.PairingStarted.
111
+ * Use `create(PairingStartedSchema)` to create a new message.
112
+ */
113
+ export const PairingStartedSchema = /*@__PURE__*/
114
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 12);
115
+
116
+ /**
117
+ * Describes the message kusinta.iot.webrtc.v1.PairingFinished.
118
+ * Use `create(PairingFinishedSchema)` to create a new message.
119
+ */
120
+ export const PairingFinishedSchema = /*@__PURE__*/
121
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 13);
122
+
123
+ /**
124
+ * Describes the message kusinta.iot.webrtc.v1.LinkChanged.
125
+ * Use `create(LinkChangedSchema)` to create a new message.
126
+ */
127
+ export const LinkChangedSchema = /*@__PURE__*/
128
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 14);
129
+
130
+ /**
131
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorDescriptor.
132
+ * Use `create(ConnectorDescriptorSchema)` to create a new message.
133
+ */
134
+ export const ConnectorDescriptorSchema = /*@__PURE__*/
135
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 15);
136
+
137
+ /**
138
+ * Describes the message kusinta.iot.webrtc.v1.ConnectorsAnnounced.
139
+ * Use `create(ConnectorsAnnouncedSchema)` to create a new message.
140
+ */
141
+ export const ConnectorsAnnouncedSchema = /*@__PURE__*/
142
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 16);
143
+
99
144
  /**
100
145
  * Describes the message kusinta.iot.webrtc.v1.GatewayMessage.
101
146
  * Use `create(GatewayMessageSchema)` to create a new message.
102
147
  */
103
148
  export const GatewayMessageSchema = /*@__PURE__*/
104
- messageDesc(file_kusinta_iot_webrtc_v1_envelope, 11);
149
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 17);
105
150
 
106
151
  /**
107
152
  * Describes the message kusinta.iot.webrtc.v1.AppMessage.
108
153
  * Use `create(AppMessageSchema)` to create a new message.
109
154
  */
110
155
  export const AppMessageSchema = /*@__PURE__*/
111
- messageDesc(file_kusinta_iot_webrtc_v1_envelope, 12);
156
+ messageDesc(file_kusinta_iot_webrtc_v1_envelope, 18);
112
157
 
113
158
  /**
114
159
  * Describes the enum kusinta.iot.webrtc.v1.GatewayErrorCode.