@sukramj/fabric-ui 0.1.3 → 0.2.1

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.
@@ -298,136 +298,296 @@ export interface paths {
298
298
  patch?: never;
299
299
  trace?: never;
300
300
  };
301
- "/controller/commission": {
301
+ "/controller/status": {
302
302
  parameters: {
303
303
  query?: never;
304
304
  header?: never;
305
305
  path?: never;
306
306
  cookie?: never;
307
307
  };
308
- get?: never;
308
+ /**
309
+ * The controller's fabric, its node count and capabilities.
310
+ * @description Answered only when the host serves the controller family
311
+ * (`Options.Controller`); without it every `/controller/*` path is
312
+ * 404, which is how a page tells the family is absent.
313
+ */
314
+ get: operations["getControllerStatus"];
315
+ put?: never;
316
+ post?: never;
317
+ delete?: never;
318
+ options?: never;
319
+ head?: never;
320
+ patch?: never;
321
+ trace?: never;
322
+ };
323
+ "/controller/nodes": {
324
+ parameters: {
325
+ query?: never;
326
+ header?: never;
327
+ path?: never;
328
+ cookie?: never;
329
+ };
330
+ /** The commissioned nodes. */
331
+ get: operations["listControllerNodes"];
309
332
  put?: never;
310
- /** Commission a device from a code or QR payload, with progress. */
311
- post: {
312
- parameters: {
313
- query?: never;
314
- header?: never;
315
- path?: never;
316
- cookie?: never;
333
+ post?: never;
334
+ delete?: never;
335
+ options?: never;
336
+ head?: never;
337
+ patch?: never;
338
+ trace?: never;
339
+ };
340
+ "/controller/nodes/{id}": {
341
+ parameters: {
342
+ query?: never;
343
+ header?: never;
344
+ path: {
345
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
346
+ id: components["parameters"]["NodeID"];
317
347
  };
318
- requestBody?: never;
319
- responses: {
320
- /** @description Planned. */
321
- 501: {
322
- headers: {
323
- [name: string]: unknown;
324
- };
325
- content?: never;
326
- };
348
+ cookie?: never;
349
+ };
350
+ /** One node — record, properties, endpoints with clusters and device types. */
351
+ get: operations["getControllerNode"];
352
+ put?: never;
353
+ post?: never;
354
+ /** Decommission the node — remove our fabric from it and forget it. */
355
+ delete: operations["decommissionNode"];
356
+ options?: never;
357
+ head?: never;
358
+ patch?: never;
359
+ trace?: never;
360
+ };
361
+ "/controller/nodes/{id}/interview": {
362
+ parameters: {
363
+ query?: never;
364
+ header?: never;
365
+ path: {
366
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
367
+ id: components["parameters"]["NodeID"];
327
368
  };
369
+ cookie?: never;
328
370
  };
371
+ get?: never;
372
+ put?: never;
373
+ /** Read the whole node again, without data version filters. */
374
+ post: operations["interviewNode"];
329
375
  delete?: never;
330
376
  options?: never;
331
377
  head?: never;
332
378
  patch?: never;
333
379
  trace?: never;
334
380
  };
335
- "/controller/discovery": {
381
+ "/controller/nodes/{id}/enable": {
336
382
  parameters: {
337
383
  query?: never;
338
384
  header?: never;
339
- path?: never;
385
+ path: {
386
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
387
+ id: components["parameters"]["NodeID"];
388
+ };
340
389
  cookie?: never;
341
390
  };
342
- /** Commissionable devices on the network. */
343
- get: {
344
- parameters: {
345
- query?: never;
346
- header?: never;
347
- path?: never;
348
- cookie?: never;
391
+ get?: never;
392
+ put?: never;
393
+ /** Enable a disabled node — connect and subscribe again. */
394
+ post: operations["enableNode"];
395
+ delete?: never;
396
+ options?: never;
397
+ head?: never;
398
+ patch?: never;
399
+ trace?: never;
400
+ };
401
+ "/controller/nodes/{id}/disable": {
402
+ parameters: {
403
+ query?: never;
404
+ header?: never;
405
+ path: {
406
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
407
+ id: components["parameters"]["NodeID"];
349
408
  };
350
- requestBody?: never;
351
- responses: {
352
- /** @description Planned. */
353
- 501: {
354
- headers: {
355
- [name: string]: unknown;
356
- };
357
- content?: never;
358
- };
409
+ cookie?: never;
410
+ };
411
+ get?: never;
412
+ put?: never;
413
+ /** Disable the node — no connection, no subscription, kept on the fabric. */
414
+ post: operations["disableNode"];
415
+ delete?: never;
416
+ options?: never;
417
+ head?: never;
418
+ patch?: never;
419
+ trace?: never;
420
+ };
421
+ "/controller/nodes/{id}/auto-subscribe": {
422
+ parameters: {
423
+ query?: never;
424
+ header?: never;
425
+ path: {
426
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
427
+ id: components["parameters"]["NodeID"];
359
428
  };
429
+ cookie?: never;
360
430
  };
431
+ get?: never;
361
432
  put?: never;
362
- post?: never;
433
+ /** Turn the node's default subscription on or off. */
434
+ post: operations["setNodeAutoSubscribe"];
363
435
  delete?: never;
364
436
  options?: never;
365
437
  head?: never;
366
438
  patch?: never;
367
439
  trace?: never;
368
440
  };
369
- "/controller/nodes": {
441
+ "/controller/nodes/{id}/window": {
370
442
  parameters: {
371
443
  query?: never;
372
444
  header?: never;
373
- path?: never;
445
+ path: {
446
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
447
+ id: components["parameters"]["NodeID"];
448
+ };
374
449
  cookie?: never;
375
450
  };
376
- /** The commissioned nodes. */
377
- get: {
378
- parameters: {
379
- query?: never;
380
- header?: never;
381
- path?: never;
382
- cookie?: never;
451
+ get?: never;
452
+ put?: never;
453
+ /**
454
+ * Open an enhanced commissioning window on the node for another administrator.
455
+ * @description The answer carries the window's passcode and codes; no event and no log line does.
456
+ */
457
+ post: operations["openNodeWindow"];
458
+ delete?: never;
459
+ options?: never;
460
+ head?: never;
461
+ patch?: never;
462
+ trace?: never;
463
+ };
464
+ "/controller/nodes/{id}/window/close": {
465
+ parameters: {
466
+ query?: never;
467
+ header?: never;
468
+ path: {
469
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
470
+ id: components["parameters"]["NodeID"];
383
471
  };
384
- requestBody?: never;
385
- responses: {
386
- /** @description Planned. */
387
- 501: {
388
- headers: {
389
- [name: string]: unknown;
390
- };
391
- content?: never;
392
- };
472
+ cookie?: never;
473
+ };
474
+ get?: never;
475
+ put?: never;
476
+ /** Revoke the node's commissioning window. */
477
+ post: operations["closeNodeWindow"];
478
+ delete?: never;
479
+ options?: never;
480
+ head?: never;
481
+ patch?: never;
482
+ trace?: never;
483
+ };
484
+ "/controller/nodes/{id}/attributes": {
485
+ parameters: {
486
+ query?: never;
487
+ header?: never;
488
+ path: {
489
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
490
+ id: components["parameters"]["NodeID"];
491
+ };
492
+ cookie?: never;
493
+ };
494
+ get?: never;
495
+ /** Write one attribute. */
496
+ put: operations["writeNodeAttribute"];
497
+ /**
498
+ * Read concrete attribute paths from the node.
499
+ * @description A targeted read: every path names its endpoint, cluster and
500
+ * attribute (no wildcard, at most 32 paths). The value is the JSON
501
+ * rendering of the attribute by the cluster definitions, a struct
502
+ * keyed by field name; a path the node refused carries its status
503
+ * instead.
504
+ */
505
+ post: operations["readNodeAttributes"];
506
+ delete?: never;
507
+ options?: never;
508
+ head?: never;
509
+ patch?: never;
510
+ trace?: never;
511
+ };
512
+ "/controller/nodes/{id}/commands": {
513
+ parameters: {
514
+ query?: never;
515
+ header?: never;
516
+ path: {
517
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
518
+ id: components["parameters"]["NodeID"];
393
519
  };
520
+ cookie?: never;
394
521
  };
522
+ get?: never;
395
523
  put?: never;
396
- post?: never;
524
+ /** Invoke one command. */
525
+ post: operations["invokeNodeCommand"];
397
526
  delete?: never;
398
527
  options?: never;
399
528
  head?: never;
400
529
  patch?: never;
401
530
  trace?: never;
402
531
  };
403
- "/controller/nodes/{id}": {
532
+ "/controller/nodes/{id}/acl": {
404
533
  parameters: {
405
534
  query?: never;
406
535
  header?: never;
407
- path?: never;
536
+ path: {
537
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
538
+ id: components["parameters"]["NodeID"];
539
+ };
408
540
  cookie?: never;
409
541
  };
410
- /** One node — endpoints, attributes, subscriptions, bindings, ACL, window, OTA, Thread dataset. */
411
- get: {
412
- parameters: {
413
- query?: never;
414
- header?: never;
415
- path: {
416
- id: string;
417
- };
418
- cookie?: never;
542
+ /** The node's access control entries of our fabric. */
543
+ get: operations["getNodeAcl"];
544
+ /**
545
+ * Replace our fabric's access control entries on the node.
546
+ * @description The whole list is written in one write of the AccessControl `ACL`
547
+ * attribute. A list without an Administer entry for this controller
548
+ * locks it out of the node; the page warns before it sends one.
549
+ */
550
+ put: operations["setNodeAcl"];
551
+ post?: never;
552
+ delete?: never;
553
+ options?: never;
554
+ head?: never;
555
+ patch?: never;
556
+ trace?: never;
557
+ };
558
+ "/controller/nodes/{id}/bindings": {
559
+ parameters: {
560
+ query?: never;
561
+ header?: never;
562
+ path: {
563
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
564
+ id: components["parameters"]["NodeID"];
419
565
  };
420
- requestBody?: never;
421
- responses: {
422
- /** @description Planned. */
423
- 501: {
424
- headers: {
425
- [name: string]: unknown;
426
- };
427
- content?: never;
428
- };
566
+ cookie?: never;
567
+ };
568
+ /** The binding targets of every endpoint with a Binding cluster. */
569
+ get: operations["getNodeBindings"];
570
+ /** Replace our fabric's binding targets on one endpoint. */
571
+ put: operations["setNodeBindings"];
572
+ post?: never;
573
+ delete?: never;
574
+ options?: never;
575
+ head?: never;
576
+ patch?: never;
577
+ trace?: never;
578
+ };
579
+ "/controller/nodes/{id}/icd": {
580
+ parameters: {
581
+ query?: never;
582
+ header?: never;
583
+ path: {
584
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
585
+ id: components["parameters"]["NodeID"];
429
586
  };
587
+ cookie?: never;
430
588
  };
589
+ /** The node's intermittently-connected-device state. */
590
+ get: operations["getNodeIcd"];
431
591
  put?: never;
432
592
  post?: never;
433
593
  delete?: never;
@@ -436,33 +596,59 @@ export interface paths {
436
596
  patch?: never;
437
597
  trace?: never;
438
598
  };
439
- "/controller/fabric/label": {
599
+ "/controller/nodes/{id}/icd/register": {
440
600
  parameters: {
441
601
  query?: never;
442
602
  header?: never;
443
- path?: never;
603
+ path: {
604
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
605
+ id: components["parameters"]["NodeID"];
606
+ };
444
607
  cookie?: never;
445
608
  };
446
609
  get?: never;
447
- /** The controller's fabric label. */
448
- put: {
449
- parameters: {
450
- query?: never;
451
- header?: never;
452
- path?: never;
453
- cookie?: never;
610
+ put?: never;
611
+ /** Register this controller as the node's check-in client. */
612
+ post: operations["registerNodeIcd"];
613
+ delete?: never;
614
+ options?: never;
615
+ head?: never;
616
+ patch?: never;
617
+ trace?: never;
618
+ };
619
+ "/controller/nodes/{id}/icd/unregister": {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path: {
624
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
625
+ id: components["parameters"]["NodeID"];
454
626
  };
455
- requestBody?: never;
456
- responses: {
457
- /** @description Planned. */
458
- 501: {
459
- headers: {
460
- [name: string]: unknown;
461
- };
462
- content?: never;
463
- };
627
+ cookie?: never;
628
+ };
629
+ get?: never;
630
+ put?: never;
631
+ /** Unregister this controller; with force, forget the registration without the node. */
632
+ post: operations["unregisterNodeIcd"];
633
+ delete?: never;
634
+ options?: never;
635
+ head?: never;
636
+ patch?: never;
637
+ trace?: never;
638
+ };
639
+ "/controller/nodes/{id}/fabrics": {
640
+ parameters: {
641
+ query?: never;
642
+ header?: never;
643
+ path: {
644
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
645
+ id: components["parameters"]["NodeID"];
464
646
  };
647
+ cookie?: never;
465
648
  };
649
+ /** Every fabric on the node, ours marked. */
650
+ get: operations["listNodeFabrics"];
651
+ put?: never;
466
652
  post?: never;
467
653
  delete?: never;
468
654
  options?: never;
@@ -470,55 +656,228 @@ export interface paths {
470
656
  patch?: never;
471
657
  trace?: never;
472
658
  };
473
- }
474
- export type webhooks = Record<string, never>;
475
- export interface components {
476
- schemas: {
477
- Problem: {
478
- type: string;
479
- title: string;
480
- status: number;
481
- detail?: string;
482
- instance?: string;
483
- /** @enum {string} */
484
- code: "bad_request" | "forbidden" | "conflict" | "not_found" | "service_unready" | "internal" | "payload_too_large";
485
- };
486
- Status: {
487
- enabled: boolean;
488
- listening: boolean;
489
- listen_addr?: string;
490
- /** @description Absent when the node runs no health probe. */
491
- healthy?: boolean;
492
- health_note?: string;
493
- endpoint_count: number;
494
- fabric_count: number;
495
- /** @description Enabled selection items; absent without a selection. */
496
- enabled_count?: number;
497
- advertising: boolean;
498
- commissioning_window_open: boolean;
499
- commissioning_window_duration_seconds?: number;
500
- /**
501
- * @description Which window is open — the node's own on its configured credentials, a basic one on fresh credentials, an administrator's enhanced one; absent without a node.
502
- * @enum {string}
503
- */
504
- window_kind?: "none" | "own" | "basic" | "enhanced";
505
- /**
506
- * Format: date-time
507
- * @description When the open window's timer closes it
508
- */
509
- window_deadline?: string;
510
- /** @description Whether the host serves a selection. */
511
- exposure: boolean;
512
- /** @description The admin token of token mode; absent when the host decides admin rights. */
513
- csrf_token?: string;
514
- /** @description The host's findings about its own configuration; absent when the host reports none (no Options.Warnings), empty when it finds nothing. */
515
- warnings?: components["schemas"]["Warning"][];
659
+ "/controller/nodes/{id}/fabrics/{index}": {
660
+ parameters: {
661
+ query?: never;
662
+ header?: never;
663
+ path: {
664
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
665
+ id: components["parameters"]["NodeID"];
666
+ index: number;
667
+ };
668
+ cookie?: never;
516
669
  };
517
- Warning: {
518
- /** @description The kind of finding, stable across host releases. */
519
- code: string;
520
- /** @description What is wrong, in the host's language. */
521
- message: string;
670
+ get?: never;
671
+ put?: never;
672
+ post?: never;
673
+ /**
674
+ * Remove another administrator's fabric from the node (RemoveFabric).
675
+ * @description Our own fabric is removed with `DELETE /controller/nodes/{id}`; naming it here is 400.
676
+ */
677
+ delete: operations["removeNodeFabric"];
678
+ options?: never;
679
+ head?: never;
680
+ patch?: never;
681
+ trace?: never;
682
+ };
683
+ "/controller/commission": {
684
+ parameters: {
685
+ query?: never;
686
+ header?: never;
687
+ path?: never;
688
+ cookie?: never;
689
+ };
690
+ get?: never;
691
+ put?: never;
692
+ /**
693
+ * Commission a device from a code or QR payload, or a discovered device and its passcode.
694
+ * @description The answer arrives when the commissioning ends; the stream reports
695
+ * `commissioning_progress` meanwhile. The passcode and the code are
696
+ * never logged and never in an event.
697
+ */
698
+ post: operations["commissionNode"];
699
+ delete?: never;
700
+ options?: never;
701
+ head?: never;
702
+ patch?: never;
703
+ trace?: never;
704
+ };
705
+ "/controller/discovery": {
706
+ parameters: {
707
+ query?: never;
708
+ header?: never;
709
+ path?: never;
710
+ cookie?: never;
711
+ };
712
+ /** Commissionable devices on the network. */
713
+ get: operations["discoverDevices"];
714
+ put?: never;
715
+ post?: never;
716
+ delete?: never;
717
+ options?: never;
718
+ head?: never;
719
+ patch?: never;
720
+ trace?: never;
721
+ };
722
+ "/controller/credentials": {
723
+ parameters: {
724
+ query?: never;
725
+ header?: never;
726
+ path?: never;
727
+ cookie?: never;
728
+ };
729
+ /** The stored Wi-Fi and Thread credentials, by name; never a secret. */
730
+ get: operations["listCredentials"];
731
+ /** Store a Wi-Fi credential or a Thread dataset (write-only). */
732
+ put: operations["setCredential"];
733
+ post?: never;
734
+ /** Remove a stored credential. */
735
+ delete: operations["removeCredential"];
736
+ options?: never;
737
+ head?: never;
738
+ patch?: never;
739
+ trace?: never;
740
+ };
741
+ "/controller/fabric/label": {
742
+ parameters: {
743
+ query?: never;
744
+ header?: never;
745
+ path?: never;
746
+ cookie?: never;
747
+ };
748
+ get?: never;
749
+ /** The controller's fabric label, pushed to every node. */
750
+ put: operations["setFabricLabel"];
751
+ post?: never;
752
+ delete?: never;
753
+ options?: never;
754
+ head?: never;
755
+ patch?: never;
756
+ trace?: never;
757
+ };
758
+ "/controller/updates": {
759
+ parameters: {
760
+ query?: never;
761
+ header?: never;
762
+ path?: never;
763
+ cookie?: never;
764
+ };
765
+ /** The software update queue. */
766
+ get: operations["listUpdates"];
767
+ put?: never;
768
+ post?: never;
769
+ delete?: never;
770
+ options?: never;
771
+ head?: never;
772
+ patch?: never;
773
+ trace?: never;
774
+ };
775
+ "/controller/updates/consent": {
776
+ parameters: {
777
+ query?: never;
778
+ header?: never;
779
+ path?: never;
780
+ cookie?: never;
781
+ };
782
+ get?: never;
783
+ put?: never;
784
+ /** Consent to one node's update to a version. */
785
+ post: operations["consentUpdate"];
786
+ delete?: never;
787
+ options?: never;
788
+ head?: never;
789
+ patch?: never;
790
+ trace?: never;
791
+ };
792
+ "/controller/updates/check": {
793
+ parameters: {
794
+ query?: never;
795
+ header?: never;
796
+ path?: never;
797
+ cookie?: never;
798
+ };
799
+ get?: never;
800
+ put?: never;
801
+ /** Ask every node for an available update. */
802
+ post: operations["checkUpdates"];
803
+ delete?: never;
804
+ options?: never;
805
+ head?: never;
806
+ patch?: never;
807
+ trace?: never;
808
+ };
809
+ "/controller/stream": {
810
+ parameters: {
811
+ query?: never;
812
+ header?: never;
813
+ path?: never;
814
+ cookie?: never;
815
+ };
816
+ /**
817
+ * Server-sent events of the controller.
818
+ * @description `event:` is one of node_added, node_updated, node_removed,
819
+ * connection, subscription, commissioning_progress, update; `data:`
820
+ * is a `ControllerEvent`. A comment line arrives every 15 s. No
821
+ * payload carries a passcode or a credential.
822
+ */
823
+ get: operations["controllerStream"];
824
+ put?: never;
825
+ post?: never;
826
+ delete?: never;
827
+ options?: never;
828
+ head?: never;
829
+ patch?: never;
830
+ trace?: never;
831
+ };
832
+ }
833
+ export type webhooks = Record<string, never>;
834
+ export interface components {
835
+ schemas: {
836
+ Problem: {
837
+ type: string;
838
+ title: string;
839
+ status: number;
840
+ detail?: string;
841
+ instance?: string;
842
+ /** @enum {string} */
843
+ code: "bad_request" | "forbidden" | "conflict" | "not_found" | "service_unready" | "internal" | "payload_too_large" | "node_error";
844
+ };
845
+ Status: {
846
+ enabled: boolean;
847
+ listening: boolean;
848
+ listen_addr?: string;
849
+ /** @description Absent when the node runs no health probe. */
850
+ healthy?: boolean;
851
+ health_note?: string;
852
+ endpoint_count: number;
853
+ fabric_count: number;
854
+ /** @description Enabled selection items; absent without a selection. */
855
+ enabled_count?: number;
856
+ advertising: boolean;
857
+ commissioning_window_open: boolean;
858
+ commissioning_window_duration_seconds?: number;
859
+ /**
860
+ * @description Which window is open — the node's own on its configured credentials, a basic one on fresh credentials, an administrator's enhanced one; absent without a node.
861
+ * @enum {string}
862
+ */
863
+ window_kind?: "none" | "own" | "basic" | "enhanced";
864
+ /**
865
+ * Format: date-time
866
+ * @description When the open window's timer closes it
867
+ */
868
+ window_deadline?: string;
869
+ /** @description Whether the host serves a selection. */
870
+ exposure: boolean;
871
+ /** @description The admin token of token mode; absent when the host decides admin rights. */
872
+ csrf_token?: string;
873
+ /** @description The host's findings about its own configuration; absent when the host reports none (no Options.Warnings), empty when it finds nothing. */
874
+ warnings?: components["schemas"]["Warning"][];
875
+ };
876
+ Warning: {
877
+ /** @description The kind of finding, stable across host releases. */
878
+ code: string;
879
+ /** @description What is wrong, in the host's language. */
880
+ message: string;
522
881
  /**
523
882
  * Format: date-time
524
883
  * @description When the host first saw it; absent when unknown.
@@ -753,294 +1112,1468 @@ export interface components {
753
1112
  discriminator?: number;
754
1113
  duration_seconds?: number;
755
1114
  };
756
- ExposureEvent: {
757
- keys: string[];
1115
+ ExposureEvent: {
1116
+ keys: string[];
1117
+ };
1118
+ ControllerStatus: {
1119
+ /** @description Always true; the route is absent without a controller. */
1120
+ enabled: boolean;
1121
+ fabric_id_hex: string;
1122
+ compressed_fabric_id_hex: string;
1123
+ fabric_index: number;
1124
+ /** @description The controller's own operational node id. */
1125
+ node_id_hex: string;
1126
+ vendor_id: number;
1127
+ vendor_name: string;
1128
+ label: string;
1129
+ node_count: number;
1130
+ capabilities: components["schemas"]["ControllerCapabilities"];
1131
+ /** @description The admin token of token mode */
1132
+ csrf_token?: string;
1133
+ };
1134
+ ControllerCapabilities: {
1135
+ /** @description The controller runs an OTA provider; the update routes answer. */
1136
+ ota: boolean;
1137
+ /** @description The host stores Wi-Fi and Thread credentials; the credential routes answer. */
1138
+ credentials: boolean;
1139
+ /** @description The controller can commission over Bluetooth LE. */
1140
+ ble: boolean;
1141
+ };
1142
+ /** @enum {string} */
1143
+ ConnectionState: "connected" | "disconnected" | "reconnecting" | "waiting_for_discovery";
1144
+ ControllerNodeSummary: {
1145
+ node_id_hex: string;
1146
+ vendor_id?: number;
1147
+ vendor_name?: string;
1148
+ product_id?: number;
1149
+ product_name?: string;
1150
+ node_label?: string;
1151
+ connection: components["schemas"]["ConnectionState"];
1152
+ subscription_active: boolean;
1153
+ disabled: boolean;
1154
+ /** @description The node has ICD Management. */
1155
+ icd: boolean;
1156
+ addresses: string[];
1157
+ /** Format: date-time */
1158
+ commissioned_at?: string;
1159
+ };
1160
+ ControllerNodeList: {
1161
+ nodes: components["schemas"]["ControllerNodeSummary"][];
1162
+ };
1163
+ NodeRecord: {
1164
+ /** @description Our fabric index. */
1165
+ fabric_index: number;
1166
+ /** @description The index the node gave our fabric; absent when unknown. */
1167
+ fabric_index_on_peer?: number;
1168
+ addresses: string[];
1169
+ hostname?: string;
1170
+ /** Format: date-time */
1171
+ discovered_at?: string;
1172
+ /** Format: date-time */
1173
+ commissioned_at?: string;
1174
+ discriminator?: number;
1175
+ announced_vendor_id?: number;
1176
+ announced_product_id?: number;
1177
+ announced_device_type?: number;
1178
+ device_name?: string;
1179
+ };
1180
+ NodeProperties: {
1181
+ supports_thread: boolean;
1182
+ supports_wifi: boolean;
1183
+ supports_ethernet: boolean;
1184
+ mains_powered: boolean;
1185
+ battery_powered: boolean;
1186
+ intermittently_connected: boolean;
1187
+ long_idle_time_operating?: boolean;
1188
+ thread_sleepy_end_device?: boolean;
1189
+ idle_mode_duration_seconds?: number;
1190
+ specification_version?: number;
1191
+ serial_number?: string;
1192
+ software_version?: string;
1193
+ device_types: number[];
1194
+ };
1195
+ NodeDeviceType: {
1196
+ id: number;
1197
+ id_hex: string;
1198
+ /** @description The device type's name; empty for one the schema does not know. */
1199
+ name: string;
1200
+ revision?: number;
1201
+ };
1202
+ NodeCluster: {
1203
+ id: number;
1204
+ id_hex: string;
1205
+ /** @description The cluster's name; empty for one the schema does not know. */
1206
+ name: string;
1207
+ revision: number;
1208
+ features: string[];
1209
+ };
1210
+ NodeEndpoint: {
1211
+ endpoint: number;
1212
+ /** @description The endpoint whose parts list names this one; absent for the root and top-level endpoints. */
1213
+ parent?: number;
1214
+ name?: string;
1215
+ device_types: components["schemas"]["NodeDeviceType"][];
1216
+ clusters: components["schemas"]["NodeCluster"][];
1217
+ };
1218
+ ControllerNodeDetail: {
1219
+ node: components["schemas"]["ControllerNodeSummary"];
1220
+ record: components["schemas"]["NodeRecord"];
1221
+ properties: components["schemas"]["NodeProperties"];
1222
+ endpoints: components["schemas"]["NodeEndpoint"][];
1223
+ };
1224
+ AutoSubscribeRequest: {
1225
+ enabled: boolean;
1226
+ };
1227
+ NodeWindowRequest: {
1228
+ /** @description How long the window stays open; 0 or absent is the node's default (900 s). */
1229
+ timeout_seconds?: number;
1230
+ };
1231
+ NodeWindow: {
1232
+ manual_code: string;
1233
+ qr_code: string;
1234
+ passcode: number;
1235
+ discriminator: number;
1236
+ vendor_id: number;
1237
+ product_id: number;
1238
+ timeout_seconds: number;
1239
+ };
1240
+ AttributePath: {
1241
+ endpoint: number;
1242
+ /** @description The cluster id in hex, `0x` optional ("0x0006"). */
1243
+ cluster_hex: string;
1244
+ /** @description The attribute id in hex, `0x` optional. */
1245
+ attribute_hex: string;
1246
+ };
1247
+ ReadRequest: {
1248
+ paths: components["schemas"]["AttributePath"][];
1249
+ /** @description Read fabric-scoped lists filtered to our fabric; absent is true. */
1250
+ fabric_filtered?: boolean;
1251
+ };
1252
+ AttributeValue: {
1253
+ endpoint: number;
1254
+ cluster_hex: string;
1255
+ attribute_hex: string;
1256
+ /** @description The attribute's value as JSON; absent when the node answered a status. */
1257
+ value?: unknown;
1258
+ /** @description The node's status for the path; absent on success. */
1259
+ status?: number;
1260
+ };
1261
+ AttributeValueList: {
1262
+ values: components["schemas"]["AttributeValue"][];
1263
+ };
1264
+ WriteRequest: {
1265
+ endpoint: number;
1266
+ cluster_hex: string;
1267
+ attribute_hex: string;
1268
+ /** @description The value as JSON */
1269
+ value: unknown;
1270
+ /** @description A timed write with this timeout; absent writes untimed unless the attribute needs it. */
1271
+ timed_ms?: number;
1272
+ };
1273
+ WriteResult: {
1274
+ /** @description The node's status; 0 is success. */
1275
+ status: number;
1276
+ cluster_status?: number;
1277
+ };
1278
+ InvokeRequest: {
1279
+ endpoint: number;
1280
+ cluster_hex: string;
1281
+ command_hex: string;
1282
+ /** @description The command's fields by name; absent or null is the empty payload. */
1283
+ payload?: unknown;
1284
+ timed_ms?: number;
1285
+ };
1286
+ InvokeResult: {
1287
+ /** @description The node's status; 0 is success. */
1288
+ status: number;
1289
+ cluster_status?: number;
1290
+ /** @description The response command's id; absent without a response command. */
1291
+ response_command_hex?: string;
1292
+ /** @description The response command's fields by name; absent without one. */
1293
+ response?: unknown;
1294
+ };
1295
+ AclTarget: {
1296
+ /** @description Absent is any cluster. */
1297
+ cluster_hex?: string;
1298
+ /** @description Absent is any endpoint. */
1299
+ endpoint?: number;
1300
+ /** @description Absent is any device type. */
1301
+ device_type_hex?: string;
1302
+ };
1303
+ AclEntry: {
1304
+ /** @enum {string} */
1305
+ privilege: "view" | "proxy_view" | "operate" | "manage" | "administer";
1306
+ /** @enum {string} */
1307
+ auth_mode: "pase" | "case" | "group";
1308
+ /** @description Node ids (CASE), group ids (Group) or CATs in hex; empty is every subject of the auth mode. */
1309
+ subjects_hex: string[];
1310
+ /** @description Empty is the whole node. */
1311
+ targets: components["schemas"]["AclTarget"][];
1312
+ /** @description Set by the node; ignored in a write. */
1313
+ fabric_index?: number;
1314
+ };
1315
+ AclEntryList: {
1316
+ entries: components["schemas"]["AclEntry"][];
1317
+ };
1318
+ BindingTarget: {
1319
+ /** @description A unicast target's node; with `endpoint`. */
1320
+ node_id_hex?: string;
1321
+ /** @description A groupcast target's group id. */
1322
+ group?: number;
1323
+ endpoint?: number;
1324
+ /** @description Absent is every client cluster of the endpoint. */
1325
+ cluster_hex?: string;
1326
+ /** @description Set by the node; ignored in a write. */
1327
+ fabric_index?: number;
1328
+ };
1329
+ EndpointBindings: {
1330
+ endpoint: number;
1331
+ bindings: components["schemas"]["BindingTarget"][];
1332
+ };
1333
+ BindingList: {
1334
+ endpoints: components["schemas"]["EndpointBindings"][];
1335
+ };
1336
+ IcdState: {
1337
+ supported: boolean;
1338
+ lit_supported: boolean;
1339
+ registered: boolean;
1340
+ /** @enum {string} */
1341
+ operating_mode?: "sit" | "lit";
1342
+ awake?: boolean;
1343
+ available?: boolean;
1344
+ /** Format: date-time */
1345
+ next_check_in?: string;
1346
+ /** Format: date-time */
1347
+ last_check_in?: string;
1348
+ };
1349
+ IcdRegisterRequest: {
1350
+ /** @description Register although other administrators' vendors may not support LIT. */
1351
+ allow_multi_admin?: boolean;
1352
+ };
1353
+ IcdUnregisterRequest: {
1354
+ /** @description Forget the registration without asking the node. */
1355
+ force?: boolean;
1356
+ };
1357
+ NodeFabric: {
1358
+ fabric_index: number;
1359
+ fabric_id_hex: string;
1360
+ node_id_hex: string;
1361
+ vendor_id: number;
1362
+ vendor_name: string;
1363
+ label: string;
1364
+ /** @description This controller's fabric. */
1365
+ own: boolean;
1366
+ };
1367
+ NodeFabricList: {
1368
+ fabrics: components["schemas"]["NodeFabric"][];
1369
+ };
1370
+ DiscoveredRef: {
1371
+ instance_name: string;
1372
+ /** @description Searched for again when the controller no longer holds the discovery. */
1373
+ long_discriminator?: number;
1374
+ };
1375
+ /** @description Either `code`, or `discovered` with `passcode`. */
1376
+ CommissionRequest: {
1377
+ /** @description A QR payload ("MT:…") or a manual pairing code. */
1378
+ code?: string;
1379
+ discovered?: components["schemas"]["DiscoveredRef"];
1380
+ passcode?: number;
1381
+ /** @description The stored Wi-Fi credential to put the device on. */
1382
+ wifi_id?: string;
1383
+ /** @description The stored Thread dataset to put the device on. */
1384
+ thread_id?: string;
1385
+ /** @description Never commission over Bluetooth LE. */
1386
+ network_only?: boolean;
1387
+ /** @description The whole commissioning's bound; absent is the controller's default. */
1388
+ timeout_seconds?: number;
1389
+ };
1390
+ Discovered: {
1391
+ instance_name: string;
1392
+ hostname?: string;
1393
+ addresses: string[];
1394
+ port?: number;
1395
+ long_discriminator: number;
1396
+ vendor_id?: number;
1397
+ vendor_name?: string;
1398
+ product_id?: number;
1399
+ device_type?: number;
1400
+ device_name?: string;
1401
+ commissioning_mode: number;
1402
+ pairing_hint?: number;
1403
+ pairing_instruction?: string;
1404
+ };
1405
+ DiscoveredList: {
1406
+ devices: components["schemas"]["Discovered"][];
1407
+ };
1408
+ Credential: {
1409
+ /** @enum {string} */
1410
+ kind: "wifi" | "thread";
1411
+ id: string;
1412
+ /** @description The SSID of a Wi-Fi credential */
1413
+ name: string;
1414
+ };
1415
+ CredentialList: {
1416
+ credentials: components["schemas"]["Credential"][];
1417
+ };
1418
+ CredentialRequest: {
1419
+ /** @enum {string} */
1420
+ kind: "wifi" | "thread";
1421
+ id: string;
1422
+ /** @description Wi-Fi; required for it. */
1423
+ ssid?: string;
1424
+ /** @description Wi-Fi; write-only. */
1425
+ passphrase?: string;
1426
+ /** @description Thread; the operational dataset as hex MeshCoP TLVs */
1427
+ dataset_hex?: string;
1428
+ };
1429
+ FabricLabelRequest: {
1430
+ label: string;
1431
+ };
1432
+ PendingUpdate: {
1433
+ node_id_hex: string;
1434
+ vendor_id: number;
1435
+ product_id: number;
1436
+ target_software_version: number;
1437
+ /** @enum {string} */
1438
+ status: "queued" | "in_progress" | "stalled";
1439
+ /** @description The last status the node reported; absent before one. */
1440
+ progress_status?: string;
1441
+ /** Format: date-time */
1442
+ progress_at?: string;
1443
+ transferred?: number;
1444
+ length?: number;
1445
+ };
1446
+ UpdateQueue: {
1447
+ available: boolean;
1448
+ queue: components["schemas"]["PendingUpdate"][];
1449
+ };
1450
+ UpdateConsentRequest: {
1451
+ node_id_hex: string;
1452
+ vendor_id: number;
1453
+ product_id: number;
1454
+ target_software_version: number;
1455
+ };
1456
+ AvailableUpdate: {
1457
+ node_id_hex: string;
1458
+ vendor_id: number;
1459
+ product_id: number;
1460
+ software_version: number;
1461
+ software_version_string: string;
1462
+ };
1463
+ AvailableUpdateList: {
1464
+ updates: components["schemas"]["AvailableUpdate"][];
1465
+ };
1466
+ /** @description The payload of every controller stream event. */
1467
+ ControllerEvent: {
1468
+ /** @description The node the event is about; absent for a controller-wide one. */
1469
+ node_id_hex?: string;
1470
+ connection?: components["schemas"]["ConnectionState"];
1471
+ /** @description subscription: whether the default subscription is up. */
1472
+ active?: boolean;
1473
+ /**
1474
+ * @description commissioning_progress: the commissioning's phase.
1475
+ * @enum {string}
1476
+ */
1477
+ phase?: "started" | "succeeded" | "failed";
1478
+ /** @description commissioning_progress failed: what went wrong (no secret). */
1479
+ detail?: string;
1480
+ };
1481
+ };
1482
+ responses: {
1483
+ /** @description An RFC 9457 problem. */
1484
+ Problem: {
1485
+ headers: {
1486
+ [name: string]: unknown;
1487
+ };
1488
+ content: {
1489
+ "application/problem+json": components["schemas"]["Problem"];
1490
+ };
1491
+ };
1492
+ };
1493
+ parameters: {
1494
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
1495
+ NodeID: string;
1496
+ };
1497
+ requestBodies: never;
1498
+ headers: never;
1499
+ pathItems: never;
1500
+ }
1501
+ export type $defs = Record<string, never>;
1502
+ export interface operations {
1503
+ getNodeStatus: {
1504
+ parameters: {
1505
+ query?: never;
1506
+ header?: never;
1507
+ path?: never;
1508
+ cookie?: never;
1509
+ };
1510
+ requestBody?: never;
1511
+ responses: {
1512
+ /** @description The status; `enabled` is false when the host serves no node. */
1513
+ 200: {
1514
+ headers: {
1515
+ [name: string]: unknown;
1516
+ };
1517
+ content: {
1518
+ "application/json": components["schemas"]["Status"];
1519
+ };
1520
+ };
1521
+ };
1522
+ };
1523
+ listFabrics: {
1524
+ parameters: {
1525
+ query?: never;
1526
+ header?: never;
1527
+ path?: never;
1528
+ cookie?: never;
1529
+ };
1530
+ requestBody?: never;
1531
+ responses: {
1532
+ /** @description The fabrics. */
1533
+ 200: {
1534
+ headers: {
1535
+ [name: string]: unknown;
1536
+ };
1537
+ content: {
1538
+ "application/json": components["schemas"]["FabricList"];
1539
+ };
1540
+ };
1541
+ 500: components["responses"]["Problem"];
1542
+ 503: components["responses"]["Problem"];
1543
+ };
1544
+ };
1545
+ removeFabric: {
1546
+ parameters: {
1547
+ query?: never;
1548
+ header?: never;
1549
+ path: {
1550
+ index: number;
1551
+ };
1552
+ cookie?: never;
1553
+ };
1554
+ requestBody?: never;
1555
+ responses: {
1556
+ /** @description Removed. */
1557
+ 204: {
1558
+ headers: {
1559
+ [name: string]: unknown;
1560
+ };
1561
+ content?: never;
1562
+ };
1563
+ 400: components["responses"]["Problem"];
1564
+ 403: components["responses"]["Problem"];
1565
+ 500: components["responses"]["Problem"];
1566
+ 503: components["responses"]["Problem"];
1567
+ };
1568
+ };
1569
+ getPairing: {
1570
+ parameters: {
1571
+ query?: never;
1572
+ header?: never;
1573
+ path?: never;
1574
+ cookie?: never;
1575
+ };
1576
+ requestBody?: never;
1577
+ responses: {
1578
+ /** @description The codes. */
1579
+ 200: {
1580
+ headers: {
1581
+ [name: string]: unknown;
1582
+ };
1583
+ content: {
1584
+ "application/json": components["schemas"]["Pairing"];
1585
+ };
1586
+ };
1587
+ 403: components["responses"]["Problem"];
1588
+ 503: components["responses"]["Problem"];
1589
+ };
1590
+ };
1591
+ openWindow: {
1592
+ parameters: {
1593
+ query?: never;
1594
+ header?: never;
1595
+ path?: never;
1596
+ cookie?: never;
1597
+ };
1598
+ requestBody: {
1599
+ content: {
1600
+ "application/json": components["schemas"]["WindowRequest"];
1601
+ };
1602
+ };
1603
+ responses: {
1604
+ /** @description The window is open; the codes commission through it. */
1605
+ 200: {
1606
+ headers: {
1607
+ [name: string]: unknown;
1608
+ };
1609
+ content: {
1610
+ "application/json": components["schemas"]["Window"];
1611
+ };
1612
+ };
1613
+ 400: components["responses"]["Problem"];
1614
+ 403: components["responses"]["Problem"];
1615
+ 409: components["responses"]["Problem"];
1616
+ 500: components["responses"]["Problem"];
1617
+ 503: components["responses"]["Problem"];
1618
+ };
1619
+ };
1620
+ closeWindow: {
1621
+ parameters: {
1622
+ query?: never;
1623
+ header?: never;
1624
+ path?: never;
1625
+ cookie?: never;
1626
+ };
1627
+ requestBody?: never;
1628
+ responses: {
1629
+ /** @description Closed. */
1630
+ 204: {
1631
+ headers: {
1632
+ [name: string]: unknown;
1633
+ };
1634
+ content?: never;
1635
+ };
1636
+ 403: components["responses"]["Problem"];
1637
+ 500: components["responses"]["Problem"];
1638
+ 503: components["responses"]["Problem"];
1639
+ };
1640
+ };
1641
+ listEndpoints: {
1642
+ parameters: {
1643
+ query?: never;
1644
+ header?: never;
1645
+ path?: never;
1646
+ cookie?: never;
1647
+ };
1648
+ requestBody?: never;
1649
+ responses: {
1650
+ /** @description The endpoints. */
1651
+ 200: {
1652
+ headers: {
1653
+ [name: string]: unknown;
1654
+ };
1655
+ content: {
1656
+ "application/json": components["schemas"]["EndpointList"];
1657
+ };
1658
+ };
1659
+ 503: components["responses"]["Problem"];
1660
+ };
1661
+ };
1662
+ listSessions: {
1663
+ parameters: {
1664
+ query?: never;
1665
+ header?: never;
1666
+ path?: never;
1667
+ cookie?: never;
1668
+ };
1669
+ requestBody?: never;
1670
+ responses: {
1671
+ /** @description The sessions. */
1672
+ 200: {
1673
+ headers: {
1674
+ [name: string]: unknown;
1675
+ };
1676
+ content: {
1677
+ "application/json": components["schemas"]["SessionList"];
1678
+ };
1679
+ };
1680
+ 503: components["responses"]["Problem"];
1681
+ };
1682
+ };
1683
+ getMdns: {
1684
+ parameters: {
1685
+ query?: never;
1686
+ header?: never;
1687
+ path?: never;
1688
+ cookie?: never;
1689
+ };
1690
+ requestBody?: never;
1691
+ responses: {
1692
+ /** @description The advertisement. */
1693
+ 200: {
1694
+ headers: {
1695
+ [name: string]: unknown;
1696
+ };
1697
+ content: {
1698
+ "application/json": components["schemas"]["Mdns"];
1699
+ };
1700
+ };
1701
+ 503: components["responses"]["Problem"];
1702
+ };
1703
+ };
1704
+ getCompatibility: {
1705
+ parameters: {
1706
+ query?: never;
1707
+ header?: never;
1708
+ path?: never;
1709
+ cookie?: never;
1710
+ };
1711
+ requestBody?: never;
1712
+ responses: {
1713
+ /** @description The report. */
1714
+ 200: {
1715
+ headers: {
1716
+ [name: string]: unknown;
1717
+ };
1718
+ content: {
1719
+ "application/json": components["schemas"]["Compatibility"];
1720
+ };
1721
+ };
1722
+ 503: components["responses"]["Problem"];
1723
+ };
1724
+ };
1725
+ listDiagnosticEvents: {
1726
+ parameters: {
1727
+ query?: never;
1728
+ header?: never;
1729
+ path?: never;
1730
+ cookie?: never;
1731
+ };
1732
+ requestBody?: never;
1733
+ responses: {
1734
+ /** @description The trace. */
1735
+ 200: {
1736
+ headers: {
1737
+ [name: string]: unknown;
1738
+ };
1739
+ content: {
1740
+ "application/json": components["schemas"]["DiagnosticEventList"];
1741
+ };
1742
+ };
1743
+ 503: components["responses"]["Problem"];
1744
+ };
1745
+ };
1746
+ getExposureSchema: {
1747
+ parameters: {
1748
+ query?: never;
1749
+ header?: never;
1750
+ path?: never;
1751
+ cookie?: never;
1752
+ };
1753
+ requestBody?: never;
1754
+ responses: {
1755
+ /** @description The schema. */
1756
+ 200: {
1757
+ headers: {
1758
+ [name: string]: unknown;
1759
+ };
1760
+ content: {
1761
+ "application/json": components["schemas"]["ExposureSchema"];
1762
+ };
1763
+ };
1764
+ 500: components["responses"]["Problem"];
1765
+ 503: components["responses"]["Problem"];
1766
+ };
1767
+ };
1768
+ listExposure: {
1769
+ parameters: {
1770
+ query?: never;
1771
+ header?: never;
1772
+ path?: never;
1773
+ cookie?: never;
1774
+ };
1775
+ requestBody?: never;
1776
+ responses: {
1777
+ /** @description The items. */
1778
+ 200: {
1779
+ headers: {
1780
+ [name: string]: unknown;
1781
+ };
1782
+ content: {
1783
+ "application/json": components["schemas"]["ItemList"];
1784
+ };
1785
+ };
1786
+ 500: components["responses"]["Problem"];
1787
+ 503: components["responses"]["Problem"];
1788
+ };
1789
+ };
1790
+ applyExposure: {
1791
+ parameters: {
1792
+ query?: never;
1793
+ header?: never;
1794
+ path?: never;
1795
+ cookie?: never;
1796
+ };
1797
+ requestBody: {
1798
+ content: {
1799
+ "application/json": components["schemas"]["UpdateList"];
1800
+ };
1801
+ };
1802
+ responses: {
1803
+ /** @description Applied. */
1804
+ 200: {
1805
+ headers: {
1806
+ [name: string]: unknown;
1807
+ };
1808
+ content: {
1809
+ "application/json": components["schemas"]["Applied"];
1810
+ };
1811
+ };
1812
+ /** @description The batch was empty. */
1813
+ 204: {
1814
+ headers: {
1815
+ [name: string]: unknown;
1816
+ };
1817
+ content?: never;
1818
+ };
1819
+ 400: components["responses"]["Problem"];
1820
+ 403: components["responses"]["Problem"];
1821
+ 500: components["responses"]["Problem"];
1822
+ 503: components["responses"]["Problem"];
1823
+ };
1824
+ };
1825
+ previewExposure: {
1826
+ parameters: {
1827
+ query?: never;
1828
+ header?: never;
1829
+ path?: never;
1830
+ cookie?: never;
1831
+ };
1832
+ requestBody: {
1833
+ content: {
1834
+ "application/json": components["schemas"]["UpdateList"];
1835
+ };
1836
+ };
1837
+ responses: {
1838
+ /** @description The touched items after the changes. */
1839
+ 200: {
1840
+ headers: {
1841
+ [name: string]: unknown;
1842
+ };
1843
+ content: {
1844
+ "application/json": components["schemas"]["ItemList"];
1845
+ };
1846
+ };
1847
+ 400: components["responses"]["Problem"];
1848
+ 403: components["responses"]["Problem"];
1849
+ 500: components["responses"]["Problem"];
1850
+ 503: components["responses"]["Problem"];
1851
+ };
1852
+ };
1853
+ reassemble: {
1854
+ parameters: {
1855
+ query?: never;
1856
+ header?: never;
1857
+ path?: never;
1858
+ cookie?: never;
1859
+ };
1860
+ requestBody?: never;
1861
+ responses: {
1862
+ /** @description Reassembled. */
1863
+ 204: {
1864
+ headers: {
1865
+ [name: string]: unknown;
1866
+ };
1867
+ content?: never;
1868
+ };
1869
+ 403: components["responses"]["Problem"];
1870
+ 500: components["responses"]["Problem"];
1871
+ 503: components["responses"]["Problem"];
1872
+ };
1873
+ };
1874
+ factoryReset: {
1875
+ parameters: {
1876
+ query?: never;
1877
+ header?: never;
1878
+ path?: never;
1879
+ cookie?: never;
1880
+ };
1881
+ requestBody: {
1882
+ content: {
1883
+ "application/json": components["schemas"]["FactoryResetRequest"];
1884
+ };
1885
+ };
1886
+ responses: {
1887
+ /** @description Every fabric is removed. */
1888
+ 204: {
1889
+ headers: {
1890
+ [name: string]: unknown;
1891
+ };
1892
+ content?: never;
1893
+ };
1894
+ 400: components["responses"]["Problem"];
1895
+ 403: components["responses"]["Problem"];
1896
+ 500: components["responses"]["Problem"];
1897
+ 503: components["responses"]["Problem"];
1898
+ };
1899
+ };
1900
+ stream: {
1901
+ parameters: {
1902
+ query?: never;
1903
+ header?: never;
1904
+ path?: never;
1905
+ cookie?: never;
1906
+ };
1907
+ requestBody?: never;
1908
+ responses: {
1909
+ /** @description The event stream. */
1910
+ 200: {
1911
+ headers: {
1912
+ [name: string]: unknown;
1913
+ };
1914
+ content: {
1915
+ "text/event-stream": string;
1916
+ };
1917
+ };
1918
+ };
1919
+ };
1920
+ getControllerStatus: {
1921
+ parameters: {
1922
+ query?: never;
1923
+ header?: never;
1924
+ path?: never;
1925
+ cookie?: never;
1926
+ };
1927
+ requestBody?: never;
1928
+ responses: {
1929
+ /** @description The status. */
1930
+ 200: {
1931
+ headers: {
1932
+ [name: string]: unknown;
1933
+ };
1934
+ content: {
1935
+ "application/json": components["schemas"]["ControllerStatus"];
1936
+ };
1937
+ };
1938
+ };
1939
+ };
1940
+ listControllerNodes: {
1941
+ parameters: {
1942
+ query?: never;
1943
+ header?: never;
1944
+ path?: never;
1945
+ cookie?: never;
1946
+ };
1947
+ requestBody?: never;
1948
+ responses: {
1949
+ /** @description The nodes, by node id. */
1950
+ 200: {
1951
+ headers: {
1952
+ [name: string]: unknown;
1953
+ };
1954
+ content: {
1955
+ "application/json": components["schemas"]["ControllerNodeList"];
1956
+ };
1957
+ };
1958
+ };
1959
+ };
1960
+ getControllerNode: {
1961
+ parameters: {
1962
+ query?: never;
1963
+ header?: never;
1964
+ path: {
1965
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
1966
+ id: components["parameters"]["NodeID"];
1967
+ };
1968
+ cookie?: never;
1969
+ };
1970
+ requestBody?: never;
1971
+ responses: {
1972
+ /** @description The node. */
1973
+ 200: {
1974
+ headers: {
1975
+ [name: string]: unknown;
1976
+ };
1977
+ content: {
1978
+ "application/json": components["schemas"]["ControllerNodeDetail"];
1979
+ };
1980
+ };
1981
+ 400: components["responses"]["Problem"];
1982
+ 404: components["responses"]["Problem"];
1983
+ };
1984
+ };
1985
+ decommissionNode: {
1986
+ parameters: {
1987
+ query?: never;
1988
+ header?: never;
1989
+ path: {
1990
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
1991
+ id: components["parameters"]["NodeID"];
1992
+ };
1993
+ cookie?: never;
1994
+ };
1995
+ requestBody?: never;
1996
+ responses: {
1997
+ /** @description The node is decommissioned. */
1998
+ 204: {
1999
+ headers: {
2000
+ [name: string]: unknown;
2001
+ };
2002
+ content?: never;
2003
+ };
2004
+ 400: components["responses"]["Problem"];
2005
+ 403: components["responses"]["Problem"];
2006
+ 404: components["responses"]["Problem"];
2007
+ 500: components["responses"]["Problem"];
2008
+ 502: components["responses"]["Problem"];
2009
+ };
2010
+ };
2011
+ interviewNode: {
2012
+ parameters: {
2013
+ query?: never;
2014
+ header?: never;
2015
+ path: {
2016
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2017
+ id: components["parameters"]["NodeID"];
2018
+ };
2019
+ cookie?: never;
2020
+ };
2021
+ requestBody?: never;
2022
+ responses: {
2023
+ /** @description The node was read. */
2024
+ 204: {
2025
+ headers: {
2026
+ [name: string]: unknown;
2027
+ };
2028
+ content?: never;
2029
+ };
2030
+ 400: components["responses"]["Problem"];
2031
+ 403: components["responses"]["Problem"];
2032
+ 404: components["responses"]["Problem"];
2033
+ 502: components["responses"]["Problem"];
2034
+ };
2035
+ };
2036
+ enableNode: {
2037
+ parameters: {
2038
+ query?: never;
2039
+ header?: never;
2040
+ path: {
2041
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2042
+ id: components["parameters"]["NodeID"];
2043
+ };
2044
+ cookie?: never;
2045
+ };
2046
+ requestBody?: never;
2047
+ responses: {
2048
+ /** @description The node is enabled. */
2049
+ 204: {
2050
+ headers: {
2051
+ [name: string]: unknown;
2052
+ };
2053
+ content?: never;
2054
+ };
2055
+ 400: components["responses"]["Problem"];
2056
+ 403: components["responses"]["Problem"];
2057
+ 404: components["responses"]["Problem"];
2058
+ 500: components["responses"]["Problem"];
2059
+ };
2060
+ };
2061
+ disableNode: {
2062
+ parameters: {
2063
+ query?: never;
2064
+ header?: never;
2065
+ path: {
2066
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2067
+ id: components["parameters"]["NodeID"];
2068
+ };
2069
+ cookie?: never;
2070
+ };
2071
+ requestBody?: never;
2072
+ responses: {
2073
+ /** @description The node is disabled. */
2074
+ 204: {
2075
+ headers: {
2076
+ [name: string]: unknown;
2077
+ };
2078
+ content?: never;
2079
+ };
2080
+ 400: components["responses"]["Problem"];
2081
+ 403: components["responses"]["Problem"];
2082
+ 404: components["responses"]["Problem"];
2083
+ 500: components["responses"]["Problem"];
2084
+ };
2085
+ };
2086
+ setNodeAutoSubscribe: {
2087
+ parameters: {
2088
+ query?: never;
2089
+ header?: never;
2090
+ path: {
2091
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2092
+ id: components["parameters"]["NodeID"];
2093
+ };
2094
+ cookie?: never;
2095
+ };
2096
+ requestBody: {
2097
+ content: {
2098
+ "application/json": components["schemas"]["AutoSubscribeRequest"];
2099
+ };
2100
+ };
2101
+ responses: {
2102
+ /** @description The setting is applied. */
2103
+ 204: {
2104
+ headers: {
2105
+ [name: string]: unknown;
2106
+ };
2107
+ content?: never;
2108
+ };
2109
+ 400: components["responses"]["Problem"];
2110
+ 403: components["responses"]["Problem"];
2111
+ 404: components["responses"]["Problem"];
2112
+ 500: components["responses"]["Problem"];
2113
+ };
2114
+ };
2115
+ openNodeWindow: {
2116
+ parameters: {
2117
+ query?: never;
2118
+ header?: never;
2119
+ path: {
2120
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2121
+ id: components["parameters"]["NodeID"];
2122
+ };
2123
+ cookie?: never;
2124
+ };
2125
+ requestBody?: {
2126
+ content: {
2127
+ "application/json": components["schemas"]["NodeWindowRequest"];
2128
+ };
2129
+ };
2130
+ responses: {
2131
+ /** @description The window is open. */
2132
+ 200: {
2133
+ headers: {
2134
+ [name: string]: unknown;
2135
+ };
2136
+ content: {
2137
+ "application/json": components["schemas"]["NodeWindow"];
2138
+ };
2139
+ };
2140
+ 400: components["responses"]["Problem"];
2141
+ 403: components["responses"]["Problem"];
2142
+ 404: components["responses"]["Problem"];
2143
+ 502: components["responses"]["Problem"];
2144
+ };
2145
+ };
2146
+ closeNodeWindow: {
2147
+ parameters: {
2148
+ query?: never;
2149
+ header?: never;
2150
+ path: {
2151
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2152
+ id: components["parameters"]["NodeID"];
2153
+ };
2154
+ cookie?: never;
2155
+ };
2156
+ requestBody?: never;
2157
+ responses: {
2158
+ /** @description No window is open any more. */
2159
+ 204: {
2160
+ headers: {
2161
+ [name: string]: unknown;
2162
+ };
2163
+ content?: never;
2164
+ };
2165
+ 400: components["responses"]["Problem"];
2166
+ 403: components["responses"]["Problem"];
2167
+ 404: components["responses"]["Problem"];
2168
+ 502: components["responses"]["Problem"];
2169
+ };
2170
+ };
2171
+ writeNodeAttribute: {
2172
+ parameters: {
2173
+ query?: never;
2174
+ header?: never;
2175
+ path: {
2176
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2177
+ id: components["parameters"]["NodeID"];
2178
+ };
2179
+ cookie?: never;
2180
+ };
2181
+ requestBody: {
2182
+ content: {
2183
+ "application/json": components["schemas"]["WriteRequest"];
2184
+ };
2185
+ };
2186
+ responses: {
2187
+ /** @description The node's status for the write; a refusal is a status, not a problem. */
2188
+ 200: {
2189
+ headers: {
2190
+ [name: string]: unknown;
2191
+ };
2192
+ content: {
2193
+ "application/json": components["schemas"]["WriteResult"];
2194
+ };
2195
+ };
2196
+ 400: components["responses"]["Problem"];
2197
+ 403: components["responses"]["Problem"];
2198
+ 404: components["responses"]["Problem"];
2199
+ 502: components["responses"]["Problem"];
758
2200
  };
759
2201
  };
760
- responses: {
761
- /** @description An RFC 9457 problem. */
762
- Problem: {
763
- headers: {
764
- [name: string]: unknown;
2202
+ readNodeAttributes: {
2203
+ parameters: {
2204
+ query?: never;
2205
+ header?: never;
2206
+ path: {
2207
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2208
+ id: components["parameters"]["NodeID"];
765
2209
  };
2210
+ cookie?: never;
2211
+ };
2212
+ requestBody: {
766
2213
  content: {
767
- "application/problem+json": components["schemas"]["Problem"];
2214
+ "application/json": components["schemas"]["ReadRequest"];
2215
+ };
2216
+ };
2217
+ responses: {
2218
+ /** @description One entry per path the node answered. */
2219
+ 200: {
2220
+ headers: {
2221
+ [name: string]: unknown;
2222
+ };
2223
+ content: {
2224
+ "application/json": components["schemas"]["AttributeValueList"];
2225
+ };
768
2226
  };
2227
+ 400: components["responses"]["Problem"];
2228
+ 404: components["responses"]["Problem"];
2229
+ 502: components["responses"]["Problem"];
769
2230
  };
770
2231
  };
771
- parameters: never;
772
- requestBodies: never;
773
- headers: never;
774
- pathItems: never;
775
- }
776
- export type $defs = Record<string, never>;
777
- export interface operations {
778
- getNodeStatus: {
2232
+ invokeNodeCommand: {
779
2233
  parameters: {
780
2234
  query?: never;
781
2235
  header?: never;
782
- path?: never;
2236
+ path: {
2237
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2238
+ id: components["parameters"]["NodeID"];
2239
+ };
783
2240
  cookie?: never;
784
2241
  };
785
- requestBody?: never;
2242
+ requestBody: {
2243
+ content: {
2244
+ "application/json": components["schemas"]["InvokeRequest"];
2245
+ };
2246
+ };
786
2247
  responses: {
787
- /** @description The status; `enabled` is false when the host serves no node. */
2248
+ /** @description The node's status and, when it answered with one, its response's fields. */
788
2249
  200: {
789
2250
  headers: {
790
2251
  [name: string]: unknown;
791
2252
  };
792
2253
  content: {
793
- "application/json": components["schemas"]["Status"];
2254
+ "application/json": components["schemas"]["InvokeResult"];
794
2255
  };
795
2256
  };
2257
+ 400: components["responses"]["Problem"];
2258
+ 403: components["responses"]["Problem"];
2259
+ 404: components["responses"]["Problem"];
2260
+ 502: components["responses"]["Problem"];
796
2261
  };
797
2262
  };
798
- listFabrics: {
2263
+ getNodeAcl: {
799
2264
  parameters: {
800
2265
  query?: never;
801
2266
  header?: never;
802
- path?: never;
2267
+ path: {
2268
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2269
+ id: components["parameters"]["NodeID"];
2270
+ };
803
2271
  cookie?: never;
804
2272
  };
805
2273
  requestBody?: never;
806
2274
  responses: {
807
- /** @description The fabrics. */
2275
+ /** @description The entries. */
808
2276
  200: {
809
2277
  headers: {
810
2278
  [name: string]: unknown;
811
2279
  };
812
2280
  content: {
813
- "application/json": components["schemas"]["FabricList"];
2281
+ "application/json": components["schemas"]["AclEntryList"];
814
2282
  };
815
2283
  };
816
- 500: components["responses"]["Problem"];
817
- 503: components["responses"]["Problem"];
2284
+ 400: components["responses"]["Problem"];
2285
+ 404: components["responses"]["Problem"];
2286
+ 502: components["responses"]["Problem"];
818
2287
  };
819
2288
  };
820
- removeFabric: {
2289
+ setNodeAcl: {
821
2290
  parameters: {
822
2291
  query?: never;
823
2292
  header?: never;
824
2293
  path: {
825
- index: number;
2294
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2295
+ id: components["parameters"]["NodeID"];
826
2296
  };
827
2297
  cookie?: never;
828
2298
  };
829
- requestBody?: never;
2299
+ requestBody: {
2300
+ content: {
2301
+ "application/json": components["schemas"]["AclEntryList"];
2302
+ };
2303
+ };
830
2304
  responses: {
831
- /** @description Removed. */
832
- 204: {
2305
+ /** @description The node's status for the write. */
2306
+ 200: {
833
2307
  headers: {
834
2308
  [name: string]: unknown;
835
2309
  };
836
- content?: never;
2310
+ content: {
2311
+ "application/json": components["schemas"]["WriteResult"];
2312
+ };
837
2313
  };
838
2314
  400: components["responses"]["Problem"];
839
2315
  403: components["responses"]["Problem"];
840
- 500: components["responses"]["Problem"];
841
- 503: components["responses"]["Problem"];
2316
+ 404: components["responses"]["Problem"];
2317
+ 502: components["responses"]["Problem"];
842
2318
  };
843
2319
  };
844
- getPairing: {
2320
+ getNodeBindings: {
845
2321
  parameters: {
846
2322
  query?: never;
847
2323
  header?: never;
848
- path?: never;
2324
+ path: {
2325
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2326
+ id: components["parameters"]["NodeID"];
2327
+ };
849
2328
  cookie?: never;
850
2329
  };
851
2330
  requestBody?: never;
852
2331
  responses: {
853
- /** @description The codes. */
2332
+ /** @description The bindings by endpoint. */
854
2333
  200: {
855
2334
  headers: {
856
2335
  [name: string]: unknown;
857
2336
  };
858
2337
  content: {
859
- "application/json": components["schemas"]["Pairing"];
2338
+ "application/json": components["schemas"]["BindingList"];
860
2339
  };
861
2340
  };
862
- 403: components["responses"]["Problem"];
863
- 503: components["responses"]["Problem"];
2341
+ 400: components["responses"]["Problem"];
2342
+ 404: components["responses"]["Problem"];
2343
+ 502: components["responses"]["Problem"];
864
2344
  };
865
2345
  };
866
- openWindow: {
2346
+ setNodeBindings: {
867
2347
  parameters: {
868
2348
  query?: never;
869
2349
  header?: never;
870
- path?: never;
2350
+ path: {
2351
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2352
+ id: components["parameters"]["NodeID"];
2353
+ };
871
2354
  cookie?: never;
872
2355
  };
873
2356
  requestBody: {
874
2357
  content: {
875
- "application/json": components["schemas"]["WindowRequest"];
2358
+ "application/json": components["schemas"]["EndpointBindings"];
876
2359
  };
877
2360
  };
878
2361
  responses: {
879
- /** @description The window is open; the codes commission through it. */
2362
+ /** @description The node's status for the write. */
880
2363
  200: {
881
2364
  headers: {
882
2365
  [name: string]: unknown;
883
2366
  };
884
2367
  content: {
885
- "application/json": components["schemas"]["Window"];
2368
+ "application/json": components["schemas"]["WriteResult"];
886
2369
  };
887
2370
  };
888
2371
  400: components["responses"]["Problem"];
889
2372
  403: components["responses"]["Problem"];
890
- 409: components["responses"]["Problem"];
891
- 500: components["responses"]["Problem"];
892
- 503: components["responses"]["Problem"];
2373
+ 404: components["responses"]["Problem"];
2374
+ 502: components["responses"]["Problem"];
893
2375
  };
894
2376
  };
895
- closeWindow: {
2377
+ getNodeIcd: {
896
2378
  parameters: {
897
2379
  query?: never;
898
2380
  header?: never;
899
- path?: never;
2381
+ path: {
2382
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2383
+ id: components["parameters"]["NodeID"];
2384
+ };
900
2385
  cookie?: never;
901
2386
  };
902
2387
  requestBody?: never;
903
2388
  responses: {
904
- /** @description Closed. */
905
- 204: {
2389
+ /** @description The state; `supported` is false for a node without ICD Management. */
2390
+ 200: {
906
2391
  headers: {
907
2392
  [name: string]: unknown;
908
2393
  };
909
- content?: never;
2394
+ content: {
2395
+ "application/json": components["schemas"]["IcdState"];
2396
+ };
910
2397
  };
911
- 403: components["responses"]["Problem"];
912
- 500: components["responses"]["Problem"];
913
- 503: components["responses"]["Problem"];
2398
+ 400: components["responses"]["Problem"];
2399
+ 404: components["responses"]["Problem"];
914
2400
  };
915
2401
  };
916
- listEndpoints: {
2402
+ registerNodeIcd: {
917
2403
  parameters: {
918
2404
  query?: never;
919
2405
  header?: never;
920
- path?: never;
2406
+ path: {
2407
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2408
+ id: components["parameters"]["NodeID"];
2409
+ };
921
2410
  cookie?: never;
922
2411
  };
923
- requestBody?: never;
2412
+ requestBody?: {
2413
+ content: {
2414
+ "application/json": components["schemas"]["IcdRegisterRequest"];
2415
+ };
2416
+ };
924
2417
  responses: {
925
- /** @description The endpoints. */
2418
+ /** @description The state after the registration. */
926
2419
  200: {
927
2420
  headers: {
928
2421
  [name: string]: unknown;
929
2422
  };
930
2423
  content: {
931
- "application/json": components["schemas"]["EndpointList"];
2424
+ "application/json": components["schemas"]["IcdState"];
932
2425
  };
933
2426
  };
934
- 503: components["responses"]["Problem"];
2427
+ 400: components["responses"]["Problem"];
2428
+ 403: components["responses"]["Problem"];
2429
+ 404: components["responses"]["Problem"];
2430
+ 409: components["responses"]["Problem"];
2431
+ 502: components["responses"]["Problem"];
935
2432
  };
936
2433
  };
937
- listSessions: {
2434
+ unregisterNodeIcd: {
938
2435
  parameters: {
939
2436
  query?: never;
940
2437
  header?: never;
941
- path?: never;
2438
+ path: {
2439
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2440
+ id: components["parameters"]["NodeID"];
2441
+ };
942
2442
  cookie?: never;
943
2443
  };
944
- requestBody?: never;
2444
+ requestBody?: {
2445
+ content: {
2446
+ "application/json": components["schemas"]["IcdUnregisterRequest"];
2447
+ };
2448
+ };
945
2449
  responses: {
946
- /** @description The sessions. */
2450
+ /** @description The state after the unregistration. */
947
2451
  200: {
948
2452
  headers: {
949
2453
  [name: string]: unknown;
950
2454
  };
951
2455
  content: {
952
- "application/json": components["schemas"]["SessionList"];
2456
+ "application/json": components["schemas"]["IcdState"];
953
2457
  };
954
2458
  };
955
- 503: components["responses"]["Problem"];
2459
+ 400: components["responses"]["Problem"];
2460
+ 403: components["responses"]["Problem"];
2461
+ 404: components["responses"]["Problem"];
2462
+ 502: components["responses"]["Problem"];
956
2463
  };
957
2464
  };
958
- getMdns: {
2465
+ listNodeFabrics: {
959
2466
  parameters: {
960
2467
  query?: never;
961
2468
  header?: never;
962
- path?: never;
2469
+ path: {
2470
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2471
+ id: components["parameters"]["NodeID"];
2472
+ };
963
2473
  cookie?: never;
964
2474
  };
965
2475
  requestBody?: never;
966
2476
  responses: {
967
- /** @description The advertisement. */
2477
+ /** @description The fabrics. */
968
2478
  200: {
969
2479
  headers: {
970
2480
  [name: string]: unknown;
971
2481
  };
972
2482
  content: {
973
- "application/json": components["schemas"]["Mdns"];
2483
+ "application/json": components["schemas"]["NodeFabricList"];
974
2484
  };
975
2485
  };
976
- 503: components["responses"]["Problem"];
2486
+ 400: components["responses"]["Problem"];
2487
+ 404: components["responses"]["Problem"];
2488
+ 502: components["responses"]["Problem"];
977
2489
  };
978
2490
  };
979
- getCompatibility: {
2491
+ removeNodeFabric: {
980
2492
  parameters: {
981
2493
  query?: never;
982
2494
  header?: never;
983
- path?: never;
2495
+ path: {
2496
+ /** @description The node id as 16-digit hex (`node_id_hex`); case and leading zeros are free. */
2497
+ id: components["parameters"]["NodeID"];
2498
+ index: number;
2499
+ };
984
2500
  cookie?: never;
985
2501
  };
986
2502
  requestBody?: never;
987
2503
  responses: {
988
- /** @description The report. */
989
- 200: {
2504
+ /** @description The fabric is removed. */
2505
+ 204: {
990
2506
  headers: {
991
2507
  [name: string]: unknown;
992
2508
  };
993
- content: {
994
- "application/json": components["schemas"]["Compatibility"];
995
- };
2509
+ content?: never;
996
2510
  };
997
- 503: components["responses"]["Problem"];
2511
+ 400: components["responses"]["Problem"];
2512
+ 403: components["responses"]["Problem"];
2513
+ 404: components["responses"]["Problem"];
2514
+ 502: components["responses"]["Problem"];
998
2515
  };
999
2516
  };
1000
- listDiagnosticEvents: {
2517
+ commissionNode: {
1001
2518
  parameters: {
1002
2519
  query?: never;
1003
2520
  header?: never;
1004
2521
  path?: never;
1005
2522
  cookie?: never;
1006
2523
  };
1007
- requestBody?: never;
2524
+ requestBody: {
2525
+ content: {
2526
+ "application/json": components["schemas"]["CommissionRequest"];
2527
+ };
2528
+ };
1008
2529
  responses: {
1009
- /** @description The trace. */
2530
+ /** @description The commissioned node. */
1010
2531
  200: {
1011
2532
  headers: {
1012
2533
  [name: string]: unknown;
1013
2534
  };
1014
2535
  content: {
1015
- "application/json": components["schemas"]["DiagnosticEventList"];
2536
+ "application/json": components["schemas"]["ControllerNodeDetail"];
1016
2537
  };
1017
2538
  };
2539
+ 400: components["responses"]["Problem"];
2540
+ 403: components["responses"]["Problem"];
2541
+ 404: components["responses"]["Problem"];
2542
+ 502: components["responses"]["Problem"];
1018
2543
  503: components["responses"]["Problem"];
1019
2544
  };
1020
2545
  };
1021
- getExposureSchema: {
2546
+ discoverDevices: {
1022
2547
  parameters: {
1023
- query?: never;
2548
+ query?: {
2549
+ /** @description What `value` selects by; absent is `any`. */
2550
+ filter?: "any" | "long_discriminator" | "short_discriminator" | "vendor" | "device_type";
2551
+ /** @description The discriminator, vendor id or device type; required with every filter but `any`. */
2552
+ value?: number;
2553
+ /** @description How long to listen, in seconds; absent is 3. */
2554
+ timeout?: number;
2555
+ };
1024
2556
  header?: never;
1025
2557
  path?: never;
1026
2558
  cookie?: never;
1027
2559
  };
1028
2560
  requestBody?: never;
1029
2561
  responses: {
1030
- /** @description The schema. */
2562
+ /** @description Every device that answered, each once. */
1031
2563
  200: {
1032
2564
  headers: {
1033
2565
  [name: string]: unknown;
1034
2566
  };
1035
2567
  content: {
1036
- "application/json": components["schemas"]["ExposureSchema"];
2568
+ "application/json": components["schemas"]["DiscoveredList"];
1037
2569
  };
1038
2570
  };
2571
+ 400: components["responses"]["Problem"];
2572
+ 403: components["responses"]["Problem"];
1039
2573
  500: components["responses"]["Problem"];
1040
- 503: components["responses"]["Problem"];
1041
2574
  };
1042
2575
  };
1043
- listExposure: {
2576
+ listCredentials: {
1044
2577
  parameters: {
1045
2578
  query?: never;
1046
2579
  header?: never;
@@ -1049,20 +2582,20 @@ export interface operations {
1049
2582
  };
1050
2583
  requestBody?: never;
1051
2584
  responses: {
1052
- /** @description The items. */
2585
+ /** @description The credentials. */
1053
2586
  200: {
1054
2587
  headers: {
1055
2588
  [name: string]: unknown;
1056
2589
  };
1057
2590
  content: {
1058
- "application/json": components["schemas"]["ItemList"];
2591
+ "application/json": components["schemas"]["CredentialList"];
1059
2592
  };
1060
2593
  };
1061
2594
  500: components["responses"]["Problem"];
1062
2595
  503: components["responses"]["Problem"];
1063
2596
  };
1064
2597
  };
1065
- applyExposure: {
2598
+ setCredential: {
1066
2599
  parameters: {
1067
2600
  query?: never;
1068
2601
  header?: never;
@@ -1071,20 +2604,36 @@ export interface operations {
1071
2604
  };
1072
2605
  requestBody: {
1073
2606
  content: {
1074
- "application/json": components["schemas"]["UpdateList"];
2607
+ "application/json": components["schemas"]["CredentialRequest"];
1075
2608
  };
1076
2609
  };
1077
2610
  responses: {
1078
- /** @description Applied. */
1079
- 200: {
2611
+ /** @description Stored. */
2612
+ 204: {
1080
2613
  headers: {
1081
2614
  [name: string]: unknown;
1082
2615
  };
1083
- content: {
1084
- "application/json": components["schemas"]["Applied"];
1085
- };
2616
+ content?: never;
1086
2617
  };
1087
- /** @description The batch was empty. */
2618
+ 400: components["responses"]["Problem"];
2619
+ 403: components["responses"]["Problem"];
2620
+ 500: components["responses"]["Problem"];
2621
+ 503: components["responses"]["Problem"];
2622
+ };
2623
+ };
2624
+ removeCredential: {
2625
+ parameters: {
2626
+ query: {
2627
+ kind: "wifi" | "thread";
2628
+ id: string;
2629
+ };
2630
+ header?: never;
2631
+ path?: never;
2632
+ cookie?: never;
2633
+ };
2634
+ requestBody?: never;
2635
+ responses: {
2636
+ /** @description Removed. */
1088
2637
  204: {
1089
2638
  headers: {
1090
2639
  [name: string]: unknown;
@@ -1093,11 +2642,12 @@ export interface operations {
1093
2642
  };
1094
2643
  400: components["responses"]["Problem"];
1095
2644
  403: components["responses"]["Problem"];
2645
+ 404: components["responses"]["Problem"];
1096
2646
  500: components["responses"]["Problem"];
1097
2647
  503: components["responses"]["Problem"];
1098
2648
  };
1099
2649
  };
1100
- previewExposure: {
2650
+ setFabricLabel: {
1101
2651
  parameters: {
1102
2652
  query?: never;
1103
2653
  header?: never;
@@ -1106,26 +2656,23 @@ export interface operations {
1106
2656
  };
1107
2657
  requestBody: {
1108
2658
  content: {
1109
- "application/json": components["schemas"]["UpdateList"];
2659
+ "application/json": components["schemas"]["FabricLabelRequest"];
1110
2660
  };
1111
2661
  };
1112
2662
  responses: {
1113
- /** @description The touched items after the changes. */
1114
- 200: {
2663
+ /** @description The label is set; the nodes get it in the background. */
2664
+ 204: {
1115
2665
  headers: {
1116
2666
  [name: string]: unknown;
1117
2667
  };
1118
- content: {
1119
- "application/json": components["schemas"]["ItemList"];
1120
- };
2668
+ content?: never;
1121
2669
  };
1122
2670
  400: components["responses"]["Problem"];
1123
2671
  403: components["responses"]["Problem"];
1124
2672
  500: components["responses"]["Problem"];
1125
- 503: components["responses"]["Problem"];
1126
2673
  };
1127
2674
  };
1128
- reassemble: {
2675
+ listUpdates: {
1129
2676
  parameters: {
1130
2677
  query?: never;
1131
2678
  header?: never;
@@ -1134,19 +2681,18 @@ export interface operations {
1134
2681
  };
1135
2682
  requestBody?: never;
1136
2683
  responses: {
1137
- /** @description Reassembled. */
1138
- 204: {
2684
+ /** @description The queue; `available` is false when the controller runs no OTA provider. */
2685
+ 200: {
1139
2686
  headers: {
1140
2687
  [name: string]: unknown;
1141
2688
  };
1142
- content?: never;
2689
+ content: {
2690
+ "application/json": components["schemas"]["UpdateQueue"];
2691
+ };
1143
2692
  };
1144
- 403: components["responses"]["Problem"];
1145
- 500: components["responses"]["Problem"];
1146
- 503: components["responses"]["Problem"];
1147
2693
  };
1148
2694
  };
1149
- factoryReset: {
2695
+ consentUpdate: {
1150
2696
  parameters: {
1151
2697
  query?: never;
1152
2698
  header?: never;
@@ -1155,11 +2701,11 @@ export interface operations {
1155
2701
  };
1156
2702
  requestBody: {
1157
2703
  content: {
1158
- "application/json": components["schemas"]["FactoryResetRequest"];
2704
+ "application/json": components["schemas"]["UpdateConsentRequest"];
1159
2705
  };
1160
2706
  };
1161
2707
  responses: {
1162
- /** @description Every fabric is removed. */
2708
+ /** @description The consent is recorded. */
1163
2709
  204: {
1164
2710
  headers: {
1165
2711
  [name: string]: unknown;
@@ -1168,11 +2714,35 @@ export interface operations {
1168
2714
  };
1169
2715
  400: components["responses"]["Problem"];
1170
2716
  403: components["responses"]["Problem"];
2717
+ 404: components["responses"]["Problem"];
1171
2718
  500: components["responses"]["Problem"];
1172
2719
  503: components["responses"]["Problem"];
1173
2720
  };
1174
2721
  };
1175
- stream: {
2722
+ checkUpdates: {
2723
+ parameters: {
2724
+ query?: never;
2725
+ header?: never;
2726
+ path?: never;
2727
+ cookie?: never;
2728
+ };
2729
+ requestBody?: never;
2730
+ responses: {
2731
+ /** @description The updates the nodes can take. */
2732
+ 200: {
2733
+ headers: {
2734
+ [name: string]: unknown;
2735
+ };
2736
+ content: {
2737
+ "application/json": components["schemas"]["AvailableUpdateList"];
2738
+ };
2739
+ };
2740
+ 403: components["responses"]["Problem"];
2741
+ 500: components["responses"]["Problem"];
2742
+ 503: components["responses"]["Problem"];
2743
+ };
2744
+ };
2745
+ controllerStream: {
1176
2746
  parameters: {
1177
2747
  query?: never;
1178
2748
  header?: never;