@sukramj/fabric-ui 0.1.2 → 0.2.0

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.
@@ -681,7 +1040,7 @@ export interface components {
681
1040
  label: string;
682
1041
  /** @description Offer a value filter built from the listed values. */
683
1042
  filter: boolean;
684
- /** @description Default false. The field is a comma-separated list: shown as chips, filtered by membership, the filter's options built from the individual values. */
1043
+ /** @description Default false. The field is list-valued: its values are the item's lists entry for the key (or, deprecated until v0.2.0, the comma split of its fields entry when lists has no such key); shown as chips, filtered by membership, the filter's options built from the individual values. */
685
1044
  multi?: boolean;
686
1045
  };
687
1046
  FilterOption: {
@@ -692,7 +1051,7 @@ export interface components {
692
1051
  field: string;
693
1052
  label: string;
694
1053
  options: components["schemas"]["FilterOption"][];
695
- /** @description Default false. Match by membership in the field's comma-separated list (values trimmed; an empty value never matches) instead of equality. */
1054
+ /** @description Default false. Match by membership in the item's list for the field (its lists entry, or, deprecated until v0.2.0, the comma split of its fields entry, values trimmed; an empty value never matches) instead of equality. */
696
1055
  multi?: boolean;
697
1056
  };
698
1057
  ExposureSchema: {
@@ -715,6 +1074,10 @@ export interface components {
715
1074
  fields: {
716
1075
  [key: string]: string;
717
1076
  };
1077
+ /** @description Optional. The values of list-valued (multi) fields, by field key: one entry per value, no separator semantics, so a value may contain a comma. Wins over the comma-separated fields entry of the same key. */
1078
+ lists?: {
1079
+ [key: string]: string[];
1080
+ };
718
1081
  verdict: components["schemas"]["Verdict"];
719
1082
  enabled: boolean;
720
1083
  /** @description Where the verdict comes from */
@@ -749,294 +1112,1468 @@ export interface components {
749
1112
  discriminator?: number;
750
1113
  duration_seconds?: number;
751
1114
  };
752
- ExposureEvent: {
753
- 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"];
754
2200
  };
755
2201
  };
756
- responses: {
757
- /** @description An RFC 9457 problem. */
758
- Problem: {
759
- headers: {
760
- [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"];
761
2209
  };
2210
+ cookie?: never;
2211
+ };
2212
+ requestBody: {
762
2213
  content: {
763
- "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
+ };
764
2226
  };
2227
+ 400: components["responses"]["Problem"];
2228
+ 404: components["responses"]["Problem"];
2229
+ 502: components["responses"]["Problem"];
765
2230
  };
766
2231
  };
767
- parameters: never;
768
- requestBodies: never;
769
- headers: never;
770
- pathItems: never;
771
- }
772
- export type $defs = Record<string, never>;
773
- export interface operations {
774
- getNodeStatus: {
2232
+ invokeNodeCommand: {
775
2233
  parameters: {
776
2234
  query?: never;
777
2235
  header?: never;
778
- 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
+ };
779
2240
  cookie?: never;
780
2241
  };
781
- requestBody?: never;
2242
+ requestBody: {
2243
+ content: {
2244
+ "application/json": components["schemas"]["InvokeRequest"];
2245
+ };
2246
+ };
782
2247
  responses: {
783
- /** @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. */
784
2249
  200: {
785
2250
  headers: {
786
2251
  [name: string]: unknown;
787
2252
  };
788
2253
  content: {
789
- "application/json": components["schemas"]["Status"];
2254
+ "application/json": components["schemas"]["InvokeResult"];
790
2255
  };
791
2256
  };
2257
+ 400: components["responses"]["Problem"];
2258
+ 403: components["responses"]["Problem"];
2259
+ 404: components["responses"]["Problem"];
2260
+ 502: components["responses"]["Problem"];
792
2261
  };
793
2262
  };
794
- listFabrics: {
2263
+ getNodeAcl: {
795
2264
  parameters: {
796
2265
  query?: never;
797
2266
  header?: never;
798
- 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
+ };
799
2271
  cookie?: never;
800
2272
  };
801
2273
  requestBody?: never;
802
2274
  responses: {
803
- /** @description The fabrics. */
2275
+ /** @description The entries. */
804
2276
  200: {
805
2277
  headers: {
806
2278
  [name: string]: unknown;
807
2279
  };
808
2280
  content: {
809
- "application/json": components["schemas"]["FabricList"];
2281
+ "application/json": components["schemas"]["AclEntryList"];
810
2282
  };
811
2283
  };
812
- 500: components["responses"]["Problem"];
813
- 503: components["responses"]["Problem"];
2284
+ 400: components["responses"]["Problem"];
2285
+ 404: components["responses"]["Problem"];
2286
+ 502: components["responses"]["Problem"];
814
2287
  };
815
2288
  };
816
- removeFabric: {
2289
+ setNodeAcl: {
817
2290
  parameters: {
818
2291
  query?: never;
819
2292
  header?: never;
820
2293
  path: {
821
- 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"];
822
2296
  };
823
2297
  cookie?: never;
824
2298
  };
825
- requestBody?: never;
2299
+ requestBody: {
2300
+ content: {
2301
+ "application/json": components["schemas"]["AclEntryList"];
2302
+ };
2303
+ };
826
2304
  responses: {
827
- /** @description Removed. */
828
- 204: {
2305
+ /** @description The node's status for the write. */
2306
+ 200: {
829
2307
  headers: {
830
2308
  [name: string]: unknown;
831
2309
  };
832
- content?: never;
2310
+ content: {
2311
+ "application/json": components["schemas"]["WriteResult"];
2312
+ };
833
2313
  };
834
2314
  400: components["responses"]["Problem"];
835
2315
  403: components["responses"]["Problem"];
836
- 500: components["responses"]["Problem"];
837
- 503: components["responses"]["Problem"];
2316
+ 404: components["responses"]["Problem"];
2317
+ 502: components["responses"]["Problem"];
838
2318
  };
839
2319
  };
840
- getPairing: {
2320
+ getNodeBindings: {
841
2321
  parameters: {
842
2322
  query?: never;
843
2323
  header?: never;
844
- 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
+ };
845
2328
  cookie?: never;
846
2329
  };
847
2330
  requestBody?: never;
848
2331
  responses: {
849
- /** @description The codes. */
2332
+ /** @description The bindings by endpoint. */
850
2333
  200: {
851
2334
  headers: {
852
2335
  [name: string]: unknown;
853
2336
  };
854
2337
  content: {
855
- "application/json": components["schemas"]["Pairing"];
2338
+ "application/json": components["schemas"]["BindingList"];
856
2339
  };
857
2340
  };
858
- 403: components["responses"]["Problem"];
859
- 503: components["responses"]["Problem"];
2341
+ 400: components["responses"]["Problem"];
2342
+ 404: components["responses"]["Problem"];
2343
+ 502: components["responses"]["Problem"];
860
2344
  };
861
2345
  };
862
- openWindow: {
2346
+ setNodeBindings: {
863
2347
  parameters: {
864
2348
  query?: never;
865
2349
  header?: never;
866
- 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
+ };
867
2354
  cookie?: never;
868
2355
  };
869
2356
  requestBody: {
870
2357
  content: {
871
- "application/json": components["schemas"]["WindowRequest"];
2358
+ "application/json": components["schemas"]["EndpointBindings"];
872
2359
  };
873
2360
  };
874
2361
  responses: {
875
- /** @description The window is open; the codes commission through it. */
2362
+ /** @description The node's status for the write. */
876
2363
  200: {
877
2364
  headers: {
878
2365
  [name: string]: unknown;
879
2366
  };
880
2367
  content: {
881
- "application/json": components["schemas"]["Window"];
2368
+ "application/json": components["schemas"]["WriteResult"];
882
2369
  };
883
2370
  };
884
2371
  400: components["responses"]["Problem"];
885
2372
  403: components["responses"]["Problem"];
886
- 409: components["responses"]["Problem"];
887
- 500: components["responses"]["Problem"];
888
- 503: components["responses"]["Problem"];
2373
+ 404: components["responses"]["Problem"];
2374
+ 502: components["responses"]["Problem"];
889
2375
  };
890
2376
  };
891
- closeWindow: {
2377
+ getNodeIcd: {
892
2378
  parameters: {
893
2379
  query?: never;
894
2380
  header?: never;
895
- 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
+ };
896
2385
  cookie?: never;
897
2386
  };
898
2387
  requestBody?: never;
899
2388
  responses: {
900
- /** @description Closed. */
901
- 204: {
2389
+ /** @description The state; `supported` is false for a node without ICD Management. */
2390
+ 200: {
902
2391
  headers: {
903
2392
  [name: string]: unknown;
904
2393
  };
905
- content?: never;
2394
+ content: {
2395
+ "application/json": components["schemas"]["IcdState"];
2396
+ };
906
2397
  };
907
- 403: components["responses"]["Problem"];
908
- 500: components["responses"]["Problem"];
909
- 503: components["responses"]["Problem"];
2398
+ 400: components["responses"]["Problem"];
2399
+ 404: components["responses"]["Problem"];
910
2400
  };
911
2401
  };
912
- listEndpoints: {
2402
+ registerNodeIcd: {
913
2403
  parameters: {
914
2404
  query?: never;
915
2405
  header?: never;
916
- 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
+ };
917
2410
  cookie?: never;
918
2411
  };
919
- requestBody?: never;
2412
+ requestBody?: {
2413
+ content: {
2414
+ "application/json": components["schemas"]["IcdRegisterRequest"];
2415
+ };
2416
+ };
920
2417
  responses: {
921
- /** @description The endpoints. */
2418
+ /** @description The state after the registration. */
922
2419
  200: {
923
2420
  headers: {
924
2421
  [name: string]: unknown;
925
2422
  };
926
2423
  content: {
927
- "application/json": components["schemas"]["EndpointList"];
2424
+ "application/json": components["schemas"]["IcdState"];
928
2425
  };
929
2426
  };
930
- 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"];
931
2432
  };
932
2433
  };
933
- listSessions: {
2434
+ unregisterNodeIcd: {
934
2435
  parameters: {
935
2436
  query?: never;
936
2437
  header?: never;
937
- 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
+ };
938
2442
  cookie?: never;
939
2443
  };
940
- requestBody?: never;
2444
+ requestBody?: {
2445
+ content: {
2446
+ "application/json": components["schemas"]["IcdUnregisterRequest"];
2447
+ };
2448
+ };
941
2449
  responses: {
942
- /** @description The sessions. */
2450
+ /** @description The state after the unregistration. */
943
2451
  200: {
944
2452
  headers: {
945
2453
  [name: string]: unknown;
946
2454
  };
947
2455
  content: {
948
- "application/json": components["schemas"]["SessionList"];
2456
+ "application/json": components["schemas"]["IcdState"];
949
2457
  };
950
2458
  };
951
- 503: components["responses"]["Problem"];
2459
+ 400: components["responses"]["Problem"];
2460
+ 403: components["responses"]["Problem"];
2461
+ 404: components["responses"]["Problem"];
2462
+ 502: components["responses"]["Problem"];
952
2463
  };
953
2464
  };
954
- getMdns: {
2465
+ listNodeFabrics: {
955
2466
  parameters: {
956
2467
  query?: never;
957
2468
  header?: never;
958
- 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
+ };
959
2473
  cookie?: never;
960
2474
  };
961
2475
  requestBody?: never;
962
2476
  responses: {
963
- /** @description The advertisement. */
2477
+ /** @description The fabrics. */
964
2478
  200: {
965
2479
  headers: {
966
2480
  [name: string]: unknown;
967
2481
  };
968
2482
  content: {
969
- "application/json": components["schemas"]["Mdns"];
2483
+ "application/json": components["schemas"]["NodeFabricList"];
970
2484
  };
971
2485
  };
972
- 503: components["responses"]["Problem"];
2486
+ 400: components["responses"]["Problem"];
2487
+ 404: components["responses"]["Problem"];
2488
+ 502: components["responses"]["Problem"];
973
2489
  };
974
2490
  };
975
- getCompatibility: {
2491
+ removeNodeFabric: {
976
2492
  parameters: {
977
2493
  query?: never;
978
2494
  header?: never;
979
- 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
+ };
980
2500
  cookie?: never;
981
2501
  };
982
2502
  requestBody?: never;
983
2503
  responses: {
984
- /** @description The report. */
985
- 200: {
2504
+ /** @description The fabric is removed. */
2505
+ 204: {
986
2506
  headers: {
987
2507
  [name: string]: unknown;
988
2508
  };
989
- content: {
990
- "application/json": components["schemas"]["Compatibility"];
991
- };
2509
+ content?: never;
992
2510
  };
993
- 503: components["responses"]["Problem"];
2511
+ 400: components["responses"]["Problem"];
2512
+ 403: components["responses"]["Problem"];
2513
+ 404: components["responses"]["Problem"];
2514
+ 502: components["responses"]["Problem"];
994
2515
  };
995
2516
  };
996
- listDiagnosticEvents: {
2517
+ commissionNode: {
997
2518
  parameters: {
998
2519
  query?: never;
999
2520
  header?: never;
1000
2521
  path?: never;
1001
2522
  cookie?: never;
1002
2523
  };
1003
- requestBody?: never;
2524
+ requestBody: {
2525
+ content: {
2526
+ "application/json": components["schemas"]["CommissionRequest"];
2527
+ };
2528
+ };
1004
2529
  responses: {
1005
- /** @description The trace. */
2530
+ /** @description The commissioned node. */
1006
2531
  200: {
1007
2532
  headers: {
1008
2533
  [name: string]: unknown;
1009
2534
  };
1010
2535
  content: {
1011
- "application/json": components["schemas"]["DiagnosticEventList"];
2536
+ "application/json": components["schemas"]["ControllerNodeDetail"];
1012
2537
  };
1013
2538
  };
2539
+ 400: components["responses"]["Problem"];
2540
+ 403: components["responses"]["Problem"];
2541
+ 404: components["responses"]["Problem"];
2542
+ 502: components["responses"]["Problem"];
1014
2543
  503: components["responses"]["Problem"];
1015
2544
  };
1016
2545
  };
1017
- getExposureSchema: {
2546
+ discoverDevices: {
1018
2547
  parameters: {
1019
- 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
+ };
1020
2556
  header?: never;
1021
2557
  path?: never;
1022
2558
  cookie?: never;
1023
2559
  };
1024
2560
  requestBody?: never;
1025
2561
  responses: {
1026
- /** @description The schema. */
2562
+ /** @description Every device that answered, each once. */
1027
2563
  200: {
1028
2564
  headers: {
1029
2565
  [name: string]: unknown;
1030
2566
  };
1031
2567
  content: {
1032
- "application/json": components["schemas"]["ExposureSchema"];
2568
+ "application/json": components["schemas"]["DiscoveredList"];
1033
2569
  };
1034
2570
  };
2571
+ 400: components["responses"]["Problem"];
2572
+ 403: components["responses"]["Problem"];
1035
2573
  500: components["responses"]["Problem"];
1036
- 503: components["responses"]["Problem"];
1037
2574
  };
1038
2575
  };
1039
- listExposure: {
2576
+ listCredentials: {
1040
2577
  parameters: {
1041
2578
  query?: never;
1042
2579
  header?: never;
@@ -1045,20 +2582,20 @@ export interface operations {
1045
2582
  };
1046
2583
  requestBody?: never;
1047
2584
  responses: {
1048
- /** @description The items. */
2585
+ /** @description The credentials. */
1049
2586
  200: {
1050
2587
  headers: {
1051
2588
  [name: string]: unknown;
1052
2589
  };
1053
2590
  content: {
1054
- "application/json": components["schemas"]["ItemList"];
2591
+ "application/json": components["schemas"]["CredentialList"];
1055
2592
  };
1056
2593
  };
1057
2594
  500: components["responses"]["Problem"];
1058
2595
  503: components["responses"]["Problem"];
1059
2596
  };
1060
2597
  };
1061
- applyExposure: {
2598
+ setCredential: {
1062
2599
  parameters: {
1063
2600
  query?: never;
1064
2601
  header?: never;
@@ -1067,20 +2604,36 @@ export interface operations {
1067
2604
  };
1068
2605
  requestBody: {
1069
2606
  content: {
1070
- "application/json": components["schemas"]["UpdateList"];
2607
+ "application/json": components["schemas"]["CredentialRequest"];
1071
2608
  };
1072
2609
  };
1073
2610
  responses: {
1074
- /** @description Applied. */
1075
- 200: {
2611
+ /** @description Stored. */
2612
+ 204: {
1076
2613
  headers: {
1077
2614
  [name: string]: unknown;
1078
2615
  };
1079
- content: {
1080
- "application/json": components["schemas"]["Applied"];
1081
- };
2616
+ content?: never;
1082
2617
  };
1083
- /** @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. */
1084
2637
  204: {
1085
2638
  headers: {
1086
2639
  [name: string]: unknown;
@@ -1089,11 +2642,12 @@ export interface operations {
1089
2642
  };
1090
2643
  400: components["responses"]["Problem"];
1091
2644
  403: components["responses"]["Problem"];
2645
+ 404: components["responses"]["Problem"];
1092
2646
  500: components["responses"]["Problem"];
1093
2647
  503: components["responses"]["Problem"];
1094
2648
  };
1095
2649
  };
1096
- previewExposure: {
2650
+ setFabricLabel: {
1097
2651
  parameters: {
1098
2652
  query?: never;
1099
2653
  header?: never;
@@ -1102,26 +2656,23 @@ export interface operations {
1102
2656
  };
1103
2657
  requestBody: {
1104
2658
  content: {
1105
- "application/json": components["schemas"]["UpdateList"];
2659
+ "application/json": components["schemas"]["FabricLabelRequest"];
1106
2660
  };
1107
2661
  };
1108
2662
  responses: {
1109
- /** @description The touched items after the changes. */
1110
- 200: {
2663
+ /** @description The label is set; the nodes get it in the background. */
2664
+ 204: {
1111
2665
  headers: {
1112
2666
  [name: string]: unknown;
1113
2667
  };
1114
- content: {
1115
- "application/json": components["schemas"]["ItemList"];
1116
- };
2668
+ content?: never;
1117
2669
  };
1118
2670
  400: components["responses"]["Problem"];
1119
2671
  403: components["responses"]["Problem"];
1120
2672
  500: components["responses"]["Problem"];
1121
- 503: components["responses"]["Problem"];
1122
2673
  };
1123
2674
  };
1124
- reassemble: {
2675
+ listUpdates: {
1125
2676
  parameters: {
1126
2677
  query?: never;
1127
2678
  header?: never;
@@ -1130,19 +2681,18 @@ export interface operations {
1130
2681
  };
1131
2682
  requestBody?: never;
1132
2683
  responses: {
1133
- /** @description Reassembled. */
1134
- 204: {
2684
+ /** @description The queue; `available` is false when the controller runs no OTA provider. */
2685
+ 200: {
1135
2686
  headers: {
1136
2687
  [name: string]: unknown;
1137
2688
  };
1138
- content?: never;
2689
+ content: {
2690
+ "application/json": components["schemas"]["UpdateQueue"];
2691
+ };
1139
2692
  };
1140
- 403: components["responses"]["Problem"];
1141
- 500: components["responses"]["Problem"];
1142
- 503: components["responses"]["Problem"];
1143
2693
  };
1144
2694
  };
1145
- factoryReset: {
2695
+ consentUpdate: {
1146
2696
  parameters: {
1147
2697
  query?: never;
1148
2698
  header?: never;
@@ -1151,11 +2701,11 @@ export interface operations {
1151
2701
  };
1152
2702
  requestBody: {
1153
2703
  content: {
1154
- "application/json": components["schemas"]["FactoryResetRequest"];
2704
+ "application/json": components["schemas"]["UpdateConsentRequest"];
1155
2705
  };
1156
2706
  };
1157
2707
  responses: {
1158
- /** @description Every fabric is removed. */
2708
+ /** @description The consent is recorded. */
1159
2709
  204: {
1160
2710
  headers: {
1161
2711
  [name: string]: unknown;
@@ -1164,11 +2714,35 @@ export interface operations {
1164
2714
  };
1165
2715
  400: components["responses"]["Problem"];
1166
2716
  403: components["responses"]["Problem"];
2717
+ 404: components["responses"]["Problem"];
1167
2718
  500: components["responses"]["Problem"];
1168
2719
  503: components["responses"]["Problem"];
1169
2720
  };
1170
2721
  };
1171
- 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: {
1172
2746
  parameters: {
1173
2747
  query?: never;
1174
2748
  header?: never;