@kusinta/iot-schema 0.2.0-beta.1 → 0.2.0-beta.10
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 +7 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +130 -0
- package/src/kusinta/iot/access/v1/acl_pb.js +19 -5
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +80 -14
- package/src/kusinta/iot/access/v1/roles_pb.js +33 -1
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +423 -6
- package/src/kusinta/iot/connector/v1/connector_pb.js +70 -12
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +25 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +1 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +16 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +34 -3
- package/src/kusinta/iot/device/v1/device_pb.js +1 -1
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +26 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +31 -4
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +14 -0
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +162 -13
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -1
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +21 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +24 -2
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -6
- package/src/kusinta/iot/webrtc/v1/command_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +12 -6
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +5 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +236 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +34 -3
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +178 -2
- package/src/kusinta/iot/webrtc/v1/management_pb.js +31 -2
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- 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 { DeviceOwnershipType } from "../../common/v1/types_pb.js";
|
|
11
14
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
12
|
-
import type { DeviceAdded,
|
|
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,205 @@ 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.
|
|
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.
|
|
330
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
|
+
/**
|
|
331
538
|
* @generated from message kusinta.iot.webrtc.v1.GatewayMessage
|
|
332
539
|
*/
|
|
333
540
|
export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessage"> & {
|
|
@@ -352,10 +559,10 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
|
|
|
352
559
|
case: "stateSnapshot";
|
|
353
560
|
} | {
|
|
354
561
|
/**
|
|
355
|
-
* @generated from field: kusinta.iot.webrtc.v1.
|
|
562
|
+
* @generated from field: kusinta.iot.webrtc.v1.PropertyReport property_report = 4;
|
|
356
563
|
*/
|
|
357
|
-
value:
|
|
358
|
-
case: "
|
|
564
|
+
value: PropertyReport;
|
|
565
|
+
case: "propertyReport";
|
|
359
566
|
} | {
|
|
360
567
|
/**
|
|
361
568
|
* @generated from field: kusinta.iot.webrtc.v1.LivePermissionUpdate permission_update = 5;
|
|
@@ -421,6 +628,24 @@ export declare type GatewayMessage = Message<"kusinta.iot.webrtc.v1.GatewayMessa
|
|
|
421
628
|
*/
|
|
422
629
|
value: DeviceEventBatch;
|
|
423
630
|
case: "deviceEvents";
|
|
631
|
+
} | {
|
|
632
|
+
/**
|
|
633
|
+
* @generated from field: kusinta.iot.webrtc.v1.PairingStarted pairing_started = 17;
|
|
634
|
+
*/
|
|
635
|
+
value: PairingStarted;
|
|
636
|
+
case: "pairingStarted";
|
|
637
|
+
} | {
|
|
638
|
+
/**
|
|
639
|
+
* @generated from field: kusinta.iot.webrtc.v1.PairingFinished pairing_finished = 18;
|
|
640
|
+
*/
|
|
641
|
+
value: PairingFinished;
|
|
642
|
+
case: "pairingFinished";
|
|
643
|
+
} | {
|
|
644
|
+
/**
|
|
645
|
+
* @generated from field: kusinta.iot.webrtc.v1.LinkChanged link_changed = 19;
|
|
646
|
+
*/
|
|
647
|
+
value: LinkChanged;
|
|
648
|
+
case: "linkChanged";
|
|
424
649
|
} | { case: undefined; value?: undefined };
|
|
425
650
|
};
|
|
426
651
|
|
|
@@ -497,6 +722,12 @@ export declare type AppMessage = Message<"kusinta.iot.webrtc.v1.AppMessage"> & {
|
|
|
497
722
|
*/
|
|
498
723
|
value: AttributeWriteRequest;
|
|
499
724
|
case: "attributeWrite";
|
|
725
|
+
} | {
|
|
726
|
+
/**
|
|
727
|
+
* @generated from field: kusinta.iot.webrtc.v1.StartPairing start_pairing = 11;
|
|
728
|
+
*/
|
|
729
|
+
value: StartPairing;
|
|
730
|
+
case: "startPairing";
|
|
500
731
|
} | { case: undefined; value?: undefined };
|
|
501
732
|
};
|
|
502
733
|
|
|
@@ -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("
|
|
23
|
+
fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIrgCChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SABCCAoGcmVzdWx0IvsBCgxTdGFydFBhaXJpbmcSOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3cSOgoQaW5pdGlhbF9zcGFjZV9pZBgDIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPQoJb3duZXJzaGlwGAQgASgOMioua3VzaW50YS5pb3QuY29tbW9uLnYxLkRldmljZU93bmVyc2hpcFR5cGUijwEKDlBhaXJpbmdTdGFydGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCKXAQoPUGFpcmluZ0ZpbmlzaGVkEhMKC2luX3JlcGx5X3RvGAEgASgJEjUKCmRldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwiTQoLTGlua0NoYW5nZWQSLQoEbGluaxgBIAEoCzIfLmt1c2ludGEuaW90LmxpbmsudjEuRGV2aWNlTGluaxIPCgdyZW1vdmVkGAIgASgIItcICg5HYXRld2F5TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkQKDnN0YXRlX3NuYXBzaG90GAMgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVN0YXRlU25hcHNob3RIABJACg9wcm9wZXJ0eV9yZXBvcnQYBCABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZXBvcnRIABJIChFwZXJtaXNzaW9uX3VwZGF0ZRgFIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXZlUGVybWlzc2lvblVwZGF0ZUgAEj4KDmNvbW1hbmRfcmVzdWx0GAYgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbW1hbmRSZXN1bHRIABIrCgRwb25nGAggASgLMhsua3VzaW50YS5pb3Qud2VicnRjLnYxLlBvbmdIABJGChJoYW5kc2hha2VfcmVqZWN0ZWQYCSABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuSGFuZHNoYWtlUmVqZWN0ZWRIABI0CgVlcnJvchgKIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JIABJCChBzdWJzY3JpcHRpb25fYWNrGAsgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlN1YnNjcmlwdGlvbkFja0gAEjoKDGRldmljZV9hZGRlZBgMIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VBZGRlZEgAEj4KDmRldmljZV9yZW1vdmVkGA0gASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZVJlbW92ZWRIABJEChFtYW5hZ2VtZW50X3Jlc3VsdBgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVzdWx0SAASQAoNZGV2aWNlX2V2ZW50cxgQIAEoCzInLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2VFdmVudEJhdGNoSAASQAoPcGFpcmluZ19zdGFydGVkGBEgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlBhaXJpbmdTdGFydGVkSAASQgoQcGFpcmluZ19maW5pc2hlZBgSIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5QYWlyaW5nRmluaXNoZWRIABI6CgxsaW5rX2NoYW5nZWQYEyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlua0NoYW5nZWRIAEIJCgdwYXlsb2FkSgQIDxAQSgQIBxAIUhZhdHRyaWJ1dGVfd3JpdGVfcmVzdWx0Ug5wcm9wZXJ0eV9ldmVudCKDBQoKQXBwTWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKCWhhbmRzaGFrZRgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHBIYW5kc2hha2VIABI3Cgdjb21tYW5kGAQgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJCCgxyZWFkX3JlcXVlc3QYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZWFkUmVxdWVzdEgAEisKBHBpbmcYBiABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGluZ0gAEjwKCXN1YnNjcmliZRgHIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpYmVEZXZpY2VzSAASQAoLdW5zdWJzY3JpYmUYCCABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuVW5zdWJzY3JpYmVEZXZpY2VzSAASPgoKbWFuYWdlbWVudBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVxdWVzdEgAEkcKD2F0dHJpYnV0ZV93cml0ZRgKIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABI8Cg1zdGFydF9wYWlyaW5nGAsgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlN0YXJ0UGFpcmluZ0gAQgkKB3BheWxvYWQq9gEKEEdhdGV3YXlFcnJvckNvZGUSIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASIwofR0FURVdBWV9FUlJPUl9DT0RFX05PVF9FTlRJVExFRBABEiYKIkdBVEVXQVlfRVJST1JfQ09ERV9JTlZBTElEX1JFUVVFU1QQAhIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5BVkFJTEFCTEUQAxIfChtHQVRFV0FZX0VSUk9SX0NPREVfSU5URVJOQUwQBBIsCihHQVRFV0FZX0VSUk9SX0NPREVfU0VTU0lPTl9MSU1JVF9SRUFDSEVEEAVCAkgBYgZwcm90bzM", [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,47 @@ 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
|
+
|
|
99
130
|
/**
|
|
100
131
|
* Describes the message kusinta.iot.webrtc.v1.GatewayMessage.
|
|
101
132
|
* Use `create(GatewayMessageSchema)` to create a new message.
|
|
102
133
|
*/
|
|
103
134
|
export const GatewayMessageSchema = /*@__PURE__*/
|
|
104
|
-
messageDesc(file_kusinta_iot_webrtc_v1_envelope,
|
|
135
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 15);
|
|
105
136
|
|
|
106
137
|
/**
|
|
107
138
|
* Describes the message kusinta.iot.webrtc.v1.AppMessage.
|
|
108
139
|
* Use `create(AppMessageSchema)` to create a new message.
|
|
109
140
|
*/
|
|
110
141
|
export const AppMessageSchema = /*@__PURE__*/
|
|
111
|
-
messageDesc(file_kusinta_iot_webrtc_v1_envelope,
|
|
142
|
+
messageDesc(file_kusinta_iot_webrtc_v1_envelope, 16);
|
|
112
143
|
|
|
113
144
|
/**
|
|
114
145
|
* Describes the enum kusinta.iot.webrtc.v1.GatewayErrorCode.
|
|
@@ -7,6 +7,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
7
7
|
import type { DeviceOwnershipType, SpaceType } from "../../common/v1/types_pb.js";
|
|
8
8
|
import type { DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
9
9
|
import type { Space } from "../../space/v1/space_pb.js";
|
|
10
|
+
import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb.js";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
@@ -265,8 +266,18 @@ export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> &
|
|
|
265
266
|
initialSpaceId?: SpaceId | undefined;
|
|
266
267
|
|
|
267
268
|
/**
|
|
268
|
-
* Evidence the claimant is standing at the device: the
|
|
269
|
-
* matched against DeviceDescriptor.serial_number.
|
|
269
|
+
* Evidence the claimant is standing at the device: the identifier printed on it,
|
|
270
|
+
* matched against DeviceDescriptor.serial_number.
|
|
271
|
+
*
|
|
272
|
+
* The match is by SUFFIX, because what a connector announces is not always the whole
|
|
273
|
+
* of what is printed and the announced value is commonly the tail of the printed one.
|
|
274
|
+
* Both sides are normalised first — lowercased, with whitespace and ASCII hyphens
|
|
275
|
+
* removed, since a label prints the value in groups and a scan does not — and the proof
|
|
276
|
+
* is accepted when what remains ends with the announced serial. Spelled out because two
|
|
277
|
+
* gateways normalising differently would accept different proofs for the same device.
|
|
278
|
+
*
|
|
279
|
+
* A serial shorter than eight characters cannot be proved at all: under a suffix rule a
|
|
280
|
+
* short one is proved by almost anything ending with it. Required precisely when the
|
|
270
281
|
* caller cannot already reach the device, which is the ordinary case for a
|
|
271
282
|
* resident claiming something they just bought — an unfiled device is invisible
|
|
272
283
|
* to them, so possession is the only thing left that can distinguish them from
|
|
@@ -373,7 +384,148 @@ export declare const ManagementAckSchema: GenMessage<ManagementAck>;
|
|
|
373
384
|
* message kind, so these can never be gated by a table keyed on the envelope case
|
|
374
385
|
* the way device messages are. Keeping them behind one case means one place that
|
|
375
386
|
* must authorize, and one refusal path that must not leak whether a target exists.
|
|
387
|
+
* Links one device to another, so the sender leads the receiver. The gateway
|
|
388
|
+
* resolves which underlying connections that needs and asks the connector for
|
|
389
|
+
* them; a caller names two devices and what the link is for.
|
|
390
|
+
*
|
|
391
|
+
* Authorized against both ends, and not symmetrically. Leading a device is a
|
|
392
|
+
* standing grant of control over it, so the receiver requires ownership or a
|
|
393
|
+
* servicing role. The sender's requirement depends on the mode: a gateway-kept
|
|
394
|
+
* link only reads what the caller can already see, while a device-to-device one
|
|
395
|
+
* writes configuration to the sender and spends its battery, which is a change
|
|
396
|
+
* to someone else's hardware.
|
|
397
|
+
*
|
|
398
|
+
* @generated from message kusinta.iot.webrtc.v1.CreateDeviceLink
|
|
399
|
+
*/
|
|
400
|
+
export declare type CreateDeviceLink = Message<"kusinta.iot.webrtc.v1.CreateDeviceLink"> & {
|
|
401
|
+
/**
|
|
402
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 1;
|
|
403
|
+
*/
|
|
404
|
+
sender?: DeviceId | undefined;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 2;
|
|
408
|
+
*/
|
|
409
|
+
receiver?: DeviceId | undefined;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 3;
|
|
413
|
+
*/
|
|
414
|
+
function: LinkFunction;
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Unset lets the gateway choose, which prefers a device-to-device link where
|
|
418
|
+
* one can be brokered: it survives a gateway outage and runs at the devices'
|
|
419
|
+
* own rate. Name one to override that.
|
|
420
|
+
*
|
|
421
|
+
* @generated from field: kusinta.iot.link.v1.LinkMode mode = 4;
|
|
422
|
+
*/
|
|
423
|
+
mode: LinkMode;
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* How a gateway-kept link is to behave, set as it is made. Carried here as
|
|
427
|
+
* well as on UpdateDeviceLink so that a link does not have to exist in a
|
|
428
|
+
* configured-by-nobody state first — a soft climate link created without a
|
|
429
|
+
* target is one that holds the room at nothing until a second request
|
|
430
|
+
* arrives, and every reader would have to handle that transient forever.
|
|
431
|
+
*
|
|
432
|
+
* Unset is still allowed and still means unconfigured, since a hard link has
|
|
433
|
+
* nothing to configure and a caller may genuinely not know the target yet.
|
|
434
|
+
*
|
|
435
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 5;
|
|
436
|
+
*/
|
|
437
|
+
settings?: LinkSettings | undefined;
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateDeviceLink.
|
|
442
|
+
* Use `create(CreateDeviceLinkSchema)` to create a new message.
|
|
443
|
+
*/
|
|
444
|
+
export declare const CreateDeviceLinkSchema: GenMessage<CreateDeviceLink>;
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* Removes a link. Note that on at least one vendor, removing a link disturbs the
|
|
448
|
+
* receiver's own settings and the connector must repair them, so this is not the
|
|
449
|
+
* no-op it appears to be.
|
|
450
|
+
*
|
|
451
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveDeviceLink
|
|
452
|
+
*/
|
|
453
|
+
export declare type RemoveDeviceLink = Message<"kusinta.iot.webrtc.v1.RemoveDeviceLink"> & {
|
|
454
|
+
/**
|
|
455
|
+
* @generated from field: string link_id = 1;
|
|
456
|
+
*/
|
|
457
|
+
linkId: string;
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceLink.
|
|
462
|
+
* Use `create(RemoveDeviceLinkSchema)` to create a new message.
|
|
463
|
+
*/
|
|
464
|
+
export declare const RemoveDeviceLinkSchema: GenMessage<RemoveDeviceLink>;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Changes how a gateway-kept link behaves — for a climate lead, the temperature
|
|
468
|
+
* it is to hold.
|
|
469
|
+
*
|
|
470
|
+
* Refused on a link that has nothing to configure — see LinkSettings — rather
|
|
471
|
+
* than accepted as a no-op, so that a caller who has mistaken which link they
|
|
472
|
+
* are holding is told.
|
|
376
473
|
*
|
|
474
|
+
* Authorized against both ends, as creating and removing the link are: deciding
|
|
475
|
+
* what temperature a room is held at is directing a device, not adjusting one,
|
|
476
|
+
* so it takes ownership of the ends or a servicing role, not the permission to
|
|
477
|
+
* turn a thermostat up.
|
|
478
|
+
*
|
|
479
|
+
* @generated from message kusinta.iot.webrtc.v1.UpdateDeviceLink
|
|
480
|
+
*/
|
|
481
|
+
export declare type UpdateDeviceLink = Message<"kusinta.iot.webrtc.v1.UpdateDeviceLink"> & {
|
|
482
|
+
/**
|
|
483
|
+
* @generated from field: string link_id = 1;
|
|
484
|
+
*/
|
|
485
|
+
linkId: string;
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Replaces the link's settings rather than patching them: the settings of one
|
|
489
|
+
* function are few and are set together, so there is no half-update worth
|
|
490
|
+
* expressing. This is why it does not follow UpdateSpace's per-field optional
|
|
491
|
+
* shape, which exists for a message whose fields genuinely move alone.
|
|
492
|
+
*
|
|
493
|
+
* Unset is refused rather than being given a meaning. It would have to mean
|
|
494
|
+
* either "leave everything alone", making the request a no-op, or "clear the
|
|
495
|
+
* settings", which is the one thing that reads like an accident — and the
|
|
496
|
+
* wire cannot tell those two callers apart.
|
|
497
|
+
*
|
|
498
|
+
* @generated from field: kusinta.iot.link.v1.LinkSettings settings = 2;
|
|
499
|
+
*/
|
|
500
|
+
settings?: LinkSettings | undefined;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateDeviceLink.
|
|
505
|
+
* Use `create(UpdateDeviceLinkSchema)` to create a new message.
|
|
506
|
+
*/
|
|
507
|
+
export declare const UpdateDeviceLinkSchema: GenMessage<UpdateDeviceLink>;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Lists links. Unset device_id lists every link among devices the caller can
|
|
511
|
+
* reach; naming one narrows it to that device's own, in either direction.
|
|
512
|
+
*
|
|
513
|
+
* @generated from message kusinta.iot.webrtc.v1.ListDeviceLinks
|
|
514
|
+
*/
|
|
515
|
+
export declare type ListDeviceLinks = Message<"kusinta.iot.webrtc.v1.ListDeviceLinks"> & {
|
|
516
|
+
/**
|
|
517
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
518
|
+
*/
|
|
519
|
+
deviceId?: DeviceId | undefined;
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Describes the message kusinta.iot.webrtc.v1.ListDeviceLinks.
|
|
524
|
+
* Use `create(ListDeviceLinksSchema)` to create a new message.
|
|
525
|
+
*/
|
|
526
|
+
export declare const ListDeviceLinksSchema: GenMessage<ListDeviceLinks>;
|
|
527
|
+
|
|
528
|
+
/**
|
|
377
529
|
* @generated from message kusinta.iot.webrtc.v1.ManagementRequest
|
|
378
530
|
*/
|
|
379
531
|
export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.ManagementRequest"> & {
|
|
@@ -440,6 +592,30 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
|
|
|
440
592
|
*/
|
|
441
593
|
value: ListSpaces;
|
|
442
594
|
case: "listSpaces";
|
|
595
|
+
} | {
|
|
596
|
+
/**
|
|
597
|
+
* @generated from field: kusinta.iot.webrtc.v1.CreateDeviceLink create_device_link = 11;
|
|
598
|
+
*/
|
|
599
|
+
value: CreateDeviceLink;
|
|
600
|
+
case: "createDeviceLink";
|
|
601
|
+
} | {
|
|
602
|
+
/**
|
|
603
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveDeviceLink remove_device_link = 12;
|
|
604
|
+
*/
|
|
605
|
+
value: RemoveDeviceLink;
|
|
606
|
+
case: "removeDeviceLink";
|
|
607
|
+
} | {
|
|
608
|
+
/**
|
|
609
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListDeviceLinks list_device_links = 13;
|
|
610
|
+
*/
|
|
611
|
+
value: ListDeviceLinks;
|
|
612
|
+
case: "listDeviceLinks";
|
|
613
|
+
} | {
|
|
614
|
+
/**
|
|
615
|
+
* @generated from field: kusinta.iot.webrtc.v1.UpdateDeviceLink update_device_link = 14;
|
|
616
|
+
*/
|
|
617
|
+
value: UpdateDeviceLink;
|
|
618
|
+
case: "updateDeviceLink";
|
|
443
619
|
} | { case: undefined; value?: undefined };
|
|
444
620
|
};
|
|
445
621
|
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
7
7
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
8
9
|
import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
12
13
|
*/
|
|
13
14
|
export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
|
|
14
|
-
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/
|
|
15
|
+
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIrABCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQizwIKC1VwZGF0ZVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI5CgpzcGFjZV90eXBlGAIgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZUgBiAEBEhEKBG5hbWUYAyABKAlIAogBARIYCgtkZXNjcmlwdGlvbhgEIAEoCUgDiAEBEhIKBWZsb29yGAUgASgFSASIAQESOwoPcGFyZW50X3NwYWNlX2lkGAYgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAEhAKBmRldGFjaBgHIAEoCEgAQg8KDXBhcmVudF9jaGFuZ2VCDQoLX3NwYWNlX3R5cGVCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9mbG9vciJSCgtEZWxldGVTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSDwoHY2FzY2FkZRgCIAEoCCJ/ChFBc3NpZ25Vc2VyVG9TcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSMAoHdXNlcl9pZBgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJFCgpMaXN0U3BhY2VzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIjgKCVNwYWNlVHJlZRIrCgZzcGFjZXMYASADKAsyGy5rdXNpbnRhLmlvdC5zcGFjZS52MS5TcGFjZSIPCg1NYW5hZ2VtZW50QWNrIpECChBDcmVhdGVEZXZpY2VMaW5rEjEKBnNlbmRlchgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCHJlY2VpdmVyGAIgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSMwoIZnVuY3Rpb24YAyABKA4yIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtGdW5jdGlvbhIrCgRtb2RlGAQgASgOMh0ua3VzaW50YS5pb3QubGluay52MS5MaW5rTW9kZRIzCghzZXR0aW5ncxgFIAEoCzIhLmt1c2ludGEuaW90LmxpbmsudjEuTGlua1NldHRpbmdzIiMKEFJlbW92ZURldmljZUxpbmsSDwoHbGlua19pZBgBIAEoCSJYChBVcGRhdGVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkSMwoIc2V0dGluZ3MYAiABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyJHCg9MaXN0RGV2aWNlTGlua3MSNAoJZGV2aWNlX2lkGAEgASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQi2AcKEU1hbmFnZW1lbnRSZXF1ZXN0EjoKDGNyZWF0ZV9zcGFjZRgBIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DcmVhdGVTcGFjZUgAEjoKDHVwZGF0ZV9zcGFjZRgCIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VcGRhdGVTcGFjZUgAEjoKDGRlbGV0ZV9zcGFjZRgDIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZWxldGVTcGFjZUgAEkgKFGFzc2lnbl91c2VyX3RvX3NwYWNlGAQgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLkFzc2lnblVzZXJUb1NwYWNlSAASTAoWcmVtb3ZlX3VzZXJfZnJvbV9zcGFjZRgFIAEoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVVc2VyRnJvbVNwYWNlSAASSgoVcGxhY2VfZGV2aWNlX2luX3NwYWNlGAYgASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLlBsYWNlRGV2aWNlSW5TcGFjZUgAElAKGHJlbW92ZV9kZXZpY2VfZnJvbV9zcGFjZRgHIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVEZXZpY2VGcm9tU3BhY2VIABI6CgxjbGFpbV9kZXZpY2UYCCABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ2xhaW1EZXZpY2VIABI+Cg5yZWxlYXNlX2RldmljZRgJIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZWxlYXNlRGV2aWNlSAASOAoLbGlzdF9zcGFjZXMYCiABKAsyIS5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdFNwYWNlc0gAEkUKEmNyZWF0ZV9kZXZpY2VfbGluaxgLIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DcmVhdGVEZXZpY2VMaW5rSAASRQoScmVtb3ZlX2RldmljZV9saW5rGAwgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZURldmljZUxpbmtIABJDChFsaXN0X2RldmljZV9saW5rcxgNIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0RGV2aWNlTGlua3NIABJFChJ1cGRhdGVfZGV2aWNlX2xpbmsYDiABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuVXBkYXRlRGV2aWNlTGlua0gAQgkKB3JlcXVlc3RCAkgBYgZwcm90bzM", [file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space]);
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Describes the message kusinta.iot.webrtc.v1.CreateSpace.
|
|
@@ -97,10 +98,38 @@ export const SpaceTreeSchema = /*@__PURE__*/
|
|
|
97
98
|
export const ManagementAckSchema = /*@__PURE__*/
|
|
98
99
|
messageDesc(file_kusinta_iot_webrtc_v1_management, 11);
|
|
99
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Describes the message kusinta.iot.webrtc.v1.CreateDeviceLink.
|
|
103
|
+
* Use `create(CreateDeviceLinkSchema)` to create a new message.
|
|
104
|
+
*/
|
|
105
|
+
export const CreateDeviceLinkSchema = /*@__PURE__*/
|
|
106
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 12);
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveDeviceLink.
|
|
110
|
+
* Use `create(RemoveDeviceLinkSchema)` to create a new message.
|
|
111
|
+
*/
|
|
112
|
+
export const RemoveDeviceLinkSchema = /*@__PURE__*/
|
|
113
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 13);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Describes the message kusinta.iot.webrtc.v1.UpdateDeviceLink.
|
|
117
|
+
* Use `create(UpdateDeviceLinkSchema)` to create a new message.
|
|
118
|
+
*/
|
|
119
|
+
export const UpdateDeviceLinkSchema = /*@__PURE__*/
|
|
120
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 14);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Describes the message kusinta.iot.webrtc.v1.ListDeviceLinks.
|
|
124
|
+
* Use `create(ListDeviceLinksSchema)` to create a new message.
|
|
125
|
+
*/
|
|
126
|
+
export const ListDeviceLinksSchema = /*@__PURE__*/
|
|
127
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 15);
|
|
128
|
+
|
|
100
129
|
/**
|
|
101
130
|
* Describes the message kusinta.iot.webrtc.v1.ManagementRequest.
|
|
102
131
|
* Use `create(ManagementRequestSchema)` to create a new message.
|
|
103
132
|
*/
|
|
104
133
|
export const ManagementRequestSchema = /*@__PURE__*/
|
|
105
|
-
messageDesc(file_kusinta_iot_webrtc_v1_management,
|
|
134
|
+
messageDesc(file_kusinta_iot_webrtc_v1_management, 16);
|
|
106
135
|
|