@mhome/app-facade-protocol 1.57.0 → 1.60.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.
@@ -61,14 +61,6 @@
61
61
  "cardId": "card-1",
62
62
  "type": "widget",
63
63
  "title": "Power",
64
- "layouts": {
65
- "sm": {
66
- "x": 0,
67
- "y": 0,
68
- "width": 2,
69
- "height": 2
70
- }
71
- },
72
64
  "primaryViewId": "power",
73
65
  "views": [
74
66
  {
@@ -504,5 +496,1651 @@
504
496
  }
505
497
  ]
506
498
  }
499
+ },
500
+ {
501
+ "name": "dashboard card list retains canvas layout",
502
+ "target": "/app/dashboard/card/brief/list",
503
+ "status": "success",
504
+ "data": {
505
+ "canvasId": "canvas",
506
+ "cards": [
507
+ {
508
+ "cardId": "card-1",
509
+ "type": "widget",
510
+ "title": "Power",
511
+ "layouts": {
512
+ "sm": {
513
+ "x": 0,
514
+ "y": 0,
515
+ "width": 2,
516
+ "height": 2
517
+ }
518
+ },
519
+ "views": [
520
+ {
521
+ "id": "power",
522
+ "name": "Power",
523
+ "source": {
524
+ "type": "widget",
525
+ "baseId": "automation-1",
526
+ "widgetId": "widget-1"
527
+ },
528
+ "pattern": "default"
529
+ }
530
+ ],
531
+ "primaryViewId": "power",
532
+ "widgets": [
533
+ {
534
+ "widgetId": "widget-1",
535
+ "name": "Power",
536
+ "widgetType": "DATA",
537
+ "dataType": "NUMBER"
538
+ }
539
+ ]
540
+ }
541
+ ]
542
+ },
543
+ "essential": {
544
+ "canvasId": "canvas",
545
+ "cards": [
546
+ {
547
+ "cardId": "card-1",
548
+ "type": "widget",
549
+ "title": "Power",
550
+ "primaryViewId": "power",
551
+ "views": [
552
+ {
553
+ "id": "power",
554
+ "name": "Power"
555
+ }
556
+ ],
557
+ "viewCount": 1,
558
+ "layouts": {
559
+ "sm": {
560
+ "x": 0,
561
+ "y": 0,
562
+ "width": 2,
563
+ "height": 2
564
+ }
565
+ }
566
+ }
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ "name": "device-briefs-keep-discovery-and-unknown-state",
572
+ "target": "/app/device/brief/list",
573
+ "data": {
574
+ "devices": [
575
+ {
576
+ "entityId": "d1",
577
+ "name": "Lamp",
578
+ "active": false,
579
+ "roomId": "r1",
580
+ "roomName": "Living room",
581
+ "capabilities": [
582
+ "state.onOff",
583
+ "command.onOff"
584
+ ],
585
+ "group": false,
586
+ "integration": "demo.device",
587
+ "connectId": "connection-1",
588
+ "manufacturerId": "demo",
589
+ "manufacturerName": "Example maker",
590
+ "online": false,
591
+ "availabilityStatus": "unavailable",
592
+ "twinTags": [
593
+ "light"
594
+ ]
595
+ },
596
+ {
597
+ "entityId": "g:1",
598
+ "name": "Lights",
599
+ "active": true,
600
+ "roomId": "",
601
+ "roomName": "",
602
+ "capabilities": [
603
+ "command.onOff"
604
+ ],
605
+ "group": true,
606
+ "integration": "demo.device"
607
+ }
608
+ ]
609
+ },
610
+ "status": "success",
611
+ "essential": {
612
+ "devices": [
613
+ {
614
+ "entityId": "d1",
615
+ "name": "Lamp",
616
+ "active": false,
617
+ "roomId": "r1",
618
+ "roomName": "Living room",
619
+ "capabilities": [
620
+ "state.onOff",
621
+ "command.onOff"
622
+ ],
623
+ "group": false,
624
+ "integration": "demo.device",
625
+ "online": false,
626
+ "availabilityStatus": "unavailable",
627
+ "twinTags": [
628
+ "light"
629
+ ]
630
+ },
631
+ {
632
+ "entityId": "g:1",
633
+ "name": "Lights",
634
+ "active": true,
635
+ "roomId": "",
636
+ "roomName": "",
637
+ "capabilities": [
638
+ "command.onOff"
639
+ ],
640
+ "group": true,
641
+ "integration": "demo.device"
642
+ }
643
+ ]
644
+ }
645
+ },
646
+ {
647
+ "name": "device-empty-briefs",
648
+ "target": "/app/device/brief/list",
649
+ "data": {
650
+ "devices": []
651
+ },
652
+ "status": "success",
653
+ "essential": {
654
+ "devices": []
655
+ }
656
+ },
657
+ {
658
+ "name": "device-detail-retains-identity-state-and-missing-items",
659
+ "target": "/app/device/detail/get",
660
+ "data": {
661
+ "items": [
662
+ {
663
+ "requestedId": "d1",
664
+ "found": true,
665
+ "device": {
666
+ "entityId": "d1",
667
+ "name": "Lamp",
668
+ "active": false,
669
+ "roomId": "r1",
670
+ "roomName": "Living room",
671
+ "capabilities": [
672
+ "state.onOff",
673
+ "command.onOff"
674
+ ],
675
+ "group": false,
676
+ "integration": "demo.device",
677
+ "connectId": "connection-1",
678
+ "manufacturerId": "demo",
679
+ "manufacturerName": "Example maker",
680
+ "online": false,
681
+ "availabilityStatus": "unavailable",
682
+ "twinTags": [
683
+ "light"
684
+ ],
685
+ "states": [
686
+ {
687
+ "capabilityId": "state.onOff",
688
+ "value": "off"
689
+ }
690
+ ],
691
+ "memberIds": []
692
+ }
693
+ },
694
+ {
695
+ "requestedId": "g:1",
696
+ "found": true,
697
+ "device": {
698
+ "entityId": "g:1",
699
+ "name": "Lights",
700
+ "active": true,
701
+ "roomId": "",
702
+ "roomName": "",
703
+ "capabilities": [
704
+ "command.onOff"
705
+ ],
706
+ "group": true,
707
+ "integration": "demo.device",
708
+ "states": [],
709
+ "memberIds": [
710
+ "d1"
711
+ ]
712
+ }
713
+ },
714
+ {
715
+ "requestedId": "gone",
716
+ "found": false,
717
+ "reason": "not_found"
718
+ }
719
+ ]
720
+ },
721
+ "status": "success",
722
+ "essential": {
723
+ "items": [
724
+ {
725
+ "requestedId": "d1",
726
+ "found": true,
727
+ "device": {
728
+ "entityId": "d1",
729
+ "name": "Lamp",
730
+ "active": false,
731
+ "roomId": "r1",
732
+ "roomName": "Living room",
733
+ "capabilities": [
734
+ "state.onOff",
735
+ "command.onOff"
736
+ ],
737
+ "group": false,
738
+ "integration": "demo.device",
739
+ "connectId": "connection-1",
740
+ "manufacturerId": "demo",
741
+ "manufacturerName": "Example maker",
742
+ "online": false,
743
+ "availabilityStatus": "unavailable",
744
+ "twinTags": [
745
+ "light"
746
+ ],
747
+ "states": [
748
+ {
749
+ "capabilityId": "state.onOff",
750
+ "value": "off"
751
+ }
752
+ ],
753
+ "memberIds": []
754
+ }
755
+ },
756
+ {
757
+ "requestedId": "g:1",
758
+ "found": true,
759
+ "device": {
760
+ "entityId": "g:1",
761
+ "name": "Lights",
762
+ "active": true,
763
+ "roomId": "",
764
+ "roomName": "",
765
+ "capabilities": [
766
+ "command.onOff"
767
+ ],
768
+ "group": true,
769
+ "integration": "demo.device",
770
+ "states": [],
771
+ "memberIds": [
772
+ "d1"
773
+ ]
774
+ }
775
+ },
776
+ {
777
+ "requestedId": "gone",
778
+ "found": false,
779
+ "reason": "not_found"
780
+ }
781
+ ]
782
+ }
783
+ },
784
+ {
785
+ "name": "device-history-preserves-evidence",
786
+ "target": "/app/device/history/list",
787
+ "data": {
788
+ "deviceId": "d1",
789
+ "timeline": [
790
+ {
791
+ "time": "2026-10-27 10:00:00",
792
+ "type": "command",
793
+ "entityId": "d1",
794
+ "capabilityId": "command.onOff",
795
+ "data": {
796
+ "value": false,
797
+ "level": 0,
798
+ "optional": null
799
+ },
800
+ "traceSteps": [
801
+ {
802
+ "type": "Automation",
803
+ "value": "automation-1"
804
+ }
805
+ ]
806
+ }
807
+ ]
808
+ },
809
+ "status": "success",
810
+ "essential": {
811
+ "deviceId": "d1",
812
+ "timeline": [
813
+ {
814
+ "time": "2026-10-27 10:00:00",
815
+ "type": "command",
816
+ "entityId": "d1",
817
+ "capabilityId": "command.onOff",
818
+ "data": {
819
+ "value": false,
820
+ "level": 0,
821
+ "optional": null
822
+ },
823
+ "traceSteps": [
824
+ {
825
+ "type": "Automation",
826
+ "value": "automation-1"
827
+ }
828
+ ]
829
+ }
830
+ ]
831
+ }
832
+ },
833
+ {
834
+ "name": "device-recent-preserves-window-truncation-and-values",
835
+ "target": "/app/device/activity/recent/list",
836
+ "data": {
837
+ "since": "10min",
838
+ "from": 1793065800000,
839
+ "until": 1793066400000,
840
+ "truncated": true,
841
+ "updates": [
842
+ {
843
+ "deviceId": "d1",
844
+ "deviceName": "Lamp",
845
+ "capabilityId": "state.onOff",
846
+ "changedAt": 1793066400000,
847
+ "state": false
848
+ },
849
+ {
850
+ "deviceId": "d2",
851
+ "deviceName": "Dimmer",
852
+ "capabilityId": "state.level",
853
+ "changedAt": 1793066399000,
854
+ "state": 0
855
+ },
856
+ {
857
+ "deviceId": "d3",
858
+ "deviceName": "Button",
859
+ "capabilityId": "event.click",
860
+ "changedAt": 1793066398000,
861
+ "event": {
862
+ "value": null
863
+ }
864
+ },
865
+ {
866
+ "deviceId": "d4",
867
+ "deviceName": "Lamp",
868
+ "capabilityId": "command.onOff",
869
+ "changedAt": 1793066397000,
870
+ "log": {
871
+ "source": "Automation",
872
+ "data": {
873
+ "onOff": false
874
+ }
875
+ }
876
+ }
877
+ ]
878
+ },
879
+ "status": "success",
880
+ "essential": {
881
+ "since": "10min",
882
+ "from": 1793065800000,
883
+ "until": 1793066400000,
884
+ "truncated": true,
885
+ "updates": [
886
+ {
887
+ "deviceId": "d1",
888
+ "deviceName": "Lamp",
889
+ "capabilityId": "state.onOff",
890
+ "changedAt": 1793066400000,
891
+ "state": false
892
+ },
893
+ {
894
+ "deviceId": "d2",
895
+ "deviceName": "Dimmer",
896
+ "capabilityId": "state.level",
897
+ "changedAt": 1793066399000,
898
+ "state": 0
899
+ },
900
+ {
901
+ "deviceId": "d3",
902
+ "deviceName": "Button",
903
+ "capabilityId": "event.click",
904
+ "changedAt": 1793066398000,
905
+ "event": {
906
+ "value": null
907
+ }
908
+ },
909
+ {
910
+ "deviceId": "d4",
911
+ "deviceName": "Lamp",
912
+ "capabilityId": "command.onOff",
913
+ "changedAt": 1793066397000,
914
+ "log": {
915
+ "source": "Automation",
916
+ "data": {
917
+ "onOff": false
918
+ }
919
+ }
920
+ }
921
+ ]
922
+ }
923
+ },
924
+ {
925
+ "name": "device-enable-retains-pending",
926
+ "target": "/app/device/enable",
927
+ "data": {
928
+ "requestedIds": [
929
+ "d1",
930
+ "d2",
931
+ "d3"
932
+ ],
933
+ "enabledIds": [
934
+ "d1"
935
+ ],
936
+ "alreadyEnabledIds": [
937
+ "d2"
938
+ ],
939
+ "pendingIds": [
940
+ "d3"
941
+ ]
942
+ },
943
+ "status": "partial",
944
+ "essential": {
945
+ "requestedIds": [
946
+ "d1",
947
+ "d2",
948
+ "d3"
949
+ ],
950
+ "enabledIds": [
951
+ "d1"
952
+ ],
953
+ "alreadyEnabledIds": [
954
+ "d2"
955
+ ],
956
+ "pendingIds": [
957
+ "d3"
958
+ ]
959
+ }
960
+ },
961
+ {
962
+ "name": "device-disable-retains-pending",
963
+ "target": "/app/device/disable",
964
+ "data": {
965
+ "requestedIds": [
966
+ "d1",
967
+ "d2",
968
+ "d3"
969
+ ],
970
+ "disabledIds": [
971
+ "d1"
972
+ ],
973
+ "alreadyDisabledIds": [
974
+ "d2"
975
+ ],
976
+ "pendingIds": [
977
+ "d3"
978
+ ]
979
+ },
980
+ "status": "partial",
981
+ "essential": {
982
+ "requestedIds": [
983
+ "d1",
984
+ "d2",
985
+ "d3"
986
+ ],
987
+ "disabledIds": [
988
+ "d1"
989
+ ],
990
+ "alreadyDisabledIds": [
991
+ "d2"
992
+ ],
993
+ "pendingIds": [
994
+ "d3"
995
+ ]
996
+ }
997
+ },
998
+ {
999
+ "name": "device-refresh-not-applicable-is-resource-status",
1000
+ "target": "/app/device/refresh",
1001
+ "data": {
1002
+ "status": "notApplicable"
1003
+ },
1004
+ "status": "success",
1005
+ "essential": {
1006
+ "status": "notApplicable"
1007
+ }
1008
+ },
1009
+ {
1010
+ "name": "space-preference-update",
1011
+ "target": "/app/scope/preference/update",
1012
+ "data": {
1013
+ "action": "Updated",
1014
+ "scopeId": "space-demo",
1015
+ "updatedFields": [
1016
+ "temperatureUnit"
1017
+ ],
1018
+ "preferences": {
1019
+ "temperatureUnit": "F",
1020
+ "dateFormat": "yyyy-MM-dd",
1021
+ "timeFormat": "HH:mm",
1022
+ "lengthUnit": "metric",
1023
+ "weightUnit": "metric",
1024
+ "language": "en"
1025
+ }
1026
+ },
1027
+ "status": "success",
1028
+ "essential": {
1029
+ "action": "Updated",
1030
+ "scopeId": "space-demo",
1031
+ "updatedFields": [
1032
+ "temperatureUnit"
1033
+ ],
1034
+ "preferences": {
1035
+ "temperatureUnit": "F"
1036
+ }
1037
+ }
1038
+ },
1039
+ {
1040
+ "name": "space-preference-empty-keys",
1041
+ "target": "/app/scope/preference/update",
1042
+ "data": {
1043
+ "updatedFields": [],
1044
+ "preferences": {
1045
+ "temperatureUnit": "F",
1046
+ "dateFormat": "yyyy-MM-dd",
1047
+ "timeFormat": "HH:mm",
1048
+ "lengthUnit": "metric",
1049
+ "weightUnit": "metric",
1050
+ "language": "en"
1051
+ }
1052
+ },
1053
+ "status": "success",
1054
+ "essential": {
1055
+ "updatedFields": [],
1056
+ "preferences": {}
1057
+ }
1058
+ },
1059
+ {
1060
+ "name": "space-preference-no-key-list",
1061
+ "target": "/app/scope/preference/update",
1062
+ "data": {
1063
+ "preferences": {
1064
+ "temperatureUnit": "F",
1065
+ "dateFormat": "yyyy-MM-dd",
1066
+ "timeFormat": "HH:mm",
1067
+ "lengthUnit": "metric",
1068
+ "weightUnit": "metric",
1069
+ "language": "en"
1070
+ }
1071
+ },
1072
+ "status": "success",
1073
+ "essential": {
1074
+ "preferences": {
1075
+ "temperatureUnit": "F",
1076
+ "dateFormat": "yyyy-MM-dd",
1077
+ "timeFormat": "HH:mm",
1078
+ "lengthUnit": "metric",
1079
+ "weightUnit": "metric",
1080
+ "language": "en"
1081
+ }
1082
+ }
1083
+ },
1084
+ {
1085
+ "name": "space-preference-invalid-key-list",
1086
+ "target": "/app/scope/preference/update",
1087
+ "data": {
1088
+ "updatedFields": [
1089
+ null
1090
+ ],
1091
+ "preferences": {
1092
+ "temperatureUnit": "F",
1093
+ "dateFormat": "yyyy-MM-dd",
1094
+ "timeFormat": "HH:mm",
1095
+ "lengthUnit": "metric",
1096
+ "weightUnit": "metric",
1097
+ "language": "en"
1098
+ }
1099
+ },
1100
+ "status": "success",
1101
+ "essential": {
1102
+ "updatedFields": [
1103
+ null
1104
+ ],
1105
+ "preferences": {
1106
+ "temperatureUnit": "F",
1107
+ "dateFormat": "yyyy-MM-dd",
1108
+ "timeFormat": "HH:mm",
1109
+ "lengthUnit": "metric",
1110
+ "weightUnit": "metric",
1111
+ "language": "en"
1112
+ }
1113
+ }
1114
+ },
1115
+ {
1116
+ "name": "space-location-update",
1117
+ "target": "/app/scope/location/update",
1118
+ "data": {
1119
+ "action": "Updated",
1120
+ "scopeId": "space-demo",
1121
+ "locationId": "l:office",
1122
+ "name": "Office",
1123
+ "address": "Example address",
1124
+ "timezone": "Asia/Shanghai",
1125
+ "countryCode": "CN",
1126
+ "latitude": 31.2,
1127
+ "longitude": 121.4,
1128
+ "home": false,
1129
+ "updatedFields": [
1130
+ "name"
1131
+ ],
1132
+ "previousName": "Work",
1133
+ "previousAddress": "Example address"
1134
+ },
1135
+ "status": "success",
1136
+ "essential": {
1137
+ "action": "Updated",
1138
+ "scopeId": "space-demo",
1139
+ "locationId": "l:office",
1140
+ "name": "Office",
1141
+ "address": "Example address",
1142
+ "timezone": "Asia/Shanghai",
1143
+ "countryCode": "CN",
1144
+ "latitude": 31.2,
1145
+ "longitude": 121.4,
1146
+ "home": false,
1147
+ "updatedFields": [
1148
+ "name"
1149
+ ]
1150
+ }
1151
+ },
1152
+ {
1153
+ "name": "space-list",
1154
+ "target": "/app/scope/list",
1155
+ "data": {
1156
+ "spaces": [
1157
+ {
1158
+ "scopeId": "space-demo",
1159
+ "name": "Home",
1160
+ "mode": "local",
1161
+ "agentMode": "cloud",
1162
+ "lifecycleState": "ACTIVE"
1163
+ }
1164
+ ]
1165
+ },
1166
+ "status": "success",
1167
+ "essential": {
1168
+ "spaces": [
1169
+ {
1170
+ "scopeId": "space-demo",
1171
+ "name": "Home",
1172
+ "mode": "local",
1173
+ "agentMode": "cloud",
1174
+ "lifecycleState": "ACTIVE"
1175
+ }
1176
+ ]
1177
+ }
1178
+ },
1179
+ {
1180
+ "name": "space-current",
1181
+ "target": "/app/scope/detail/get",
1182
+ "data": {
1183
+ "space": {
1184
+ "scopeId": "space-demo",
1185
+ "name": "Home",
1186
+ "mode": "local",
1187
+ "agentMode": "cloud",
1188
+ "lifecycleState": "ACTIVE"
1189
+ },
1190
+ "locations": [
1191
+ {
1192
+ "scopeId": "space-demo",
1193
+ "locationId": "l:office",
1194
+ "name": "Office",
1195
+ "address": "Example address",
1196
+ "timezone": "Asia/Shanghai",
1197
+ "countryCode": "CN",
1198
+ "latitude": 31.2,
1199
+ "longitude": 121.4,
1200
+ "altitude": 0.0
1201
+ }
1202
+ ]
1203
+ },
1204
+ "status": "success",
1205
+ "essential": {
1206
+ "space": {
1207
+ "scopeId": "space-demo",
1208
+ "name": "Home",
1209
+ "mode": "local",
1210
+ "agentMode": "cloud",
1211
+ "lifecycleState": "ACTIVE"
1212
+ },
1213
+ "locations": [
1214
+ {
1215
+ "scopeId": "space-demo",
1216
+ "locationId": "l:office",
1217
+ "name": "Office",
1218
+ "address": "Example address",
1219
+ "timezone": "Asia/Shanghai",
1220
+ "countryCode": "CN",
1221
+ "latitude": 31.2,
1222
+ "longitude": 121.4,
1223
+ "altitude": 0.0
1224
+ }
1225
+ ]
1226
+ }
1227
+ },
1228
+ {
1229
+ "name": "space-invite-outcomes",
1230
+ "target": "/app/scope/member/invite",
1231
+ "data": {
1232
+ "action": "Invited",
1233
+ "scopeId": "space-demo",
1234
+ "requested": [
1235
+ "new@example.com",
1236
+ "pending@example.com",
1237
+ "member@example.com",
1238
+ "invalid@example.com"
1239
+ ],
1240
+ "invited": [
1241
+ "new@example.com"
1242
+ ],
1243
+ "alreadyPending": [
1244
+ "pending@example.com"
1245
+ ],
1246
+ "alreadyMembers": [
1247
+ "member@example.com"
1248
+ ],
1249
+ "failed": [
1250
+ "invalid@example.com"
1251
+ ]
1252
+ },
1253
+ "status": "success",
1254
+ "essential": {
1255
+ "action": "Invited",
1256
+ "scopeId": "space-demo",
1257
+ "requested": [
1258
+ "new@example.com",
1259
+ "pending@example.com",
1260
+ "member@example.com",
1261
+ "invalid@example.com"
1262
+ ],
1263
+ "invited": [
1264
+ "new@example.com"
1265
+ ],
1266
+ "alreadyPending": [
1267
+ "pending@example.com"
1268
+ ],
1269
+ "alreadyMembers": [
1270
+ "member@example.com"
1271
+ ],
1272
+ "failed": [
1273
+ "invalid@example.com"
1274
+ ]
1275
+ }
1276
+ },
1277
+ {
1278
+ "name": "hub-unconfigured",
1279
+ "target": "/app/hub/get",
1280
+ "data": {
1281
+ "scopeId": "space-demo",
1282
+ "configured": false,
1283
+ "hub": null,
1284
+ "operation": null,
1285
+ "revocation": null
1286
+ },
1287
+ "status": "success",
1288
+ "essential": {
1289
+ "scopeId": "space-demo",
1290
+ "configured": false,
1291
+ "hub": null,
1292
+ "operation": null,
1293
+ "revocation": null
1294
+ }
1295
+ },
1296
+ {
1297
+ "name": "hub-runtime",
1298
+ "target": "/app/hub/status",
1299
+ "data": {
1300
+ "run": 7,
1301
+ "phase": "running",
1302
+ "betaMode": false
1303
+ },
1304
+ "status": "success",
1305
+ "essential": {
1306
+ "run": 7,
1307
+ "phase": "running",
1308
+ "betaMode": false
1309
+ }
1310
+ },
1311
+ {
1312
+ "name": "pod-directory-unknown",
1313
+ "target": "/app/pod/list",
1314
+ "data": {
1315
+ "scopeId": "space-demo",
1316
+ "observedAtMs": 1800000000000,
1317
+ "pods": [
1318
+ {
1319
+ "registrationId": "pod-demo",
1320
+ "clientMode": "user",
1321
+ "registered": true,
1322
+ "name": "Desk",
1323
+ "deviceId": "device-demo",
1324
+ "model": "Pod",
1325
+ "platform": "esp32",
1326
+ "firmwareVersion": "1.0.0",
1327
+ "issuedAt": 1800000000000,
1328
+ "activatedAt": 1800000001000,
1329
+ "connection": {
1330
+ "scopeId": null,
1331
+ "state": "unknown",
1332
+ "source": "unavailable"
1333
+ }
1334
+ }
1335
+ ],
1336
+ "sourceErrors": {
1337
+ "space": "Hub unavailable"
1338
+ }
1339
+ },
1340
+ "status": "success",
1341
+ "essential": {
1342
+ "scopeId": "space-demo",
1343
+ "observedAtMs": 1800000000000,
1344
+ "pods": [
1345
+ {
1346
+ "registrationId": "pod-demo",
1347
+ "clientMode": "user",
1348
+ "registered": true,
1349
+ "name": "Desk",
1350
+ "deviceId": "device-demo",
1351
+ "model": "Pod",
1352
+ "platform": "esp32",
1353
+ "firmwareVersion": "1.0.0",
1354
+ "issuedAt": 1800000000000,
1355
+ "activatedAt": 1800000001000,
1356
+ "connection": {
1357
+ "scopeId": null,
1358
+ "state": "unknown",
1359
+ "source": "unavailable"
1360
+ }
1361
+ }
1362
+ ],
1363
+ "sourceErrors": {
1364
+ "space": "Hub unavailable"
1365
+ }
1366
+ }
1367
+ },
1368
+ {
1369
+ "name": "pod-rename",
1370
+ "target": "/app/pod/rename",
1371
+ "data": {
1372
+ "registrationId": "pod-demo",
1373
+ "name": "Desk"
1374
+ },
1375
+ "status": "success",
1376
+ "essential": {
1377
+ "registrationId": "pod-demo",
1378
+ "name": "Desk"
1379
+ }
1380
+ },
1381
+ {
1382
+ "name": "messaging-link-code",
1383
+ "target": "/app/messaging/link/code/create",
1384
+ "data": {
1385
+ "challenge": {
1386
+ "code": "DEMO123",
1387
+ "command": "/link DEMO123",
1388
+ "expiresAtMs": 1800000300000,
1389
+ "challengeId": "challenge-demo"
1390
+ }
1391
+ },
1392
+ "status": "success",
1393
+ "essential": {
1394
+ "challenge": {
1395
+ "code": "DEMO123",
1396
+ "command": "/link DEMO123",
1397
+ "expiresAtMs": 1800000300000,
1398
+ "challengeId": "challenge-demo"
1399
+ }
1400
+ }
1401
+ },
1402
+ {
1403
+ "name": "messaging-provider-account",
1404
+ "target": "/app/messaging/provider-account/list",
1405
+ "data": {
1406
+ "accounts": [
1407
+ {
1408
+ "provider": "telegram",
1409
+ "placement": "cloud",
1410
+ "accountId": "bot-demo",
1411
+ "ownership": "system",
1412
+ "displayName": "Example bot",
1413
+ "enabled": true,
1414
+ "status": "active",
1415
+ "statusMessage": null,
1416
+ "providerData": {
1417
+ "botUsername": "ExampleBot"
1418
+ }
1419
+ }
1420
+ ]
1421
+ },
1422
+ "status": "success",
1423
+ "essential": {
1424
+ "accounts": [
1425
+ {
1426
+ "provider": "telegram",
1427
+ "placement": "cloud",
1428
+ "accountId": "bot-demo",
1429
+ "ownership": "system",
1430
+ "displayName": "Example bot",
1431
+ "enabled": true,
1432
+ "status": "active",
1433
+ "statusMessage": null,
1434
+ "providerData": {
1435
+ "botUsername": "ExampleBot"
1436
+ }
1437
+ }
1438
+ ]
1439
+ }
1440
+ },
1441
+ {
1442
+ "name": "host-service-install",
1443
+ "target": "/app/host/service/install",
1444
+ "data": {
1445
+ "operationId": "operation-demo",
1446
+ "hostId": "host-demo",
1447
+ "state": "succeeded",
1448
+ "phase": "completed",
1449
+ "updatedAtMs": 1800000000000,
1450
+ "error": null,
1451
+ "result": {
1452
+ "changed": true,
1453
+ "warnings": [
1454
+ "Restart required"
1455
+ ],
1456
+ "backgroundServices": [],
1457
+ "plan": {
1458
+ "target": "macos-arm64",
1459
+ "catalogs": {
1460
+ "platform": {
1461
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
1462
+ "version": "20261027-01"
1463
+ }
1464
+ },
1465
+ "warnings": [],
1466
+ "components": [
1467
+ {
1468
+ "component": "node-camera",
1469
+ "action": "install",
1470
+ "fromVersion": null,
1471
+ "toVersion": "1.0.0",
1472
+ "asset": {
1473
+ "url": "https://example.invalid/camera.tar.gz",
1474
+ "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
1475
+ "size": 1024
1476
+ },
1477
+ "releaseManifest": {
1478
+ "files": []
1479
+ },
1480
+ "nodeMetadata": {
1481
+ "artifact": {}
1482
+ },
1483
+ "compatibility": {
1484
+ "coreProtocol": 1
1485
+ }
1486
+ }
1487
+ ]
1488
+ }
1489
+ }
1490
+ },
1491
+ "status": "success",
1492
+ "essential": {
1493
+ "operationId": "operation-demo",
1494
+ "hostId": "host-demo",
1495
+ "state": "succeeded",
1496
+ "phase": "completed",
1497
+ "updatedAtMs": 1800000000000,
1498
+ "error": null,
1499
+ "result": {
1500
+ "changed": true,
1501
+ "warnings": [
1502
+ "Restart required"
1503
+ ],
1504
+ "backgroundServices": [],
1505
+ "plan": {
1506
+ "target": "macos-arm64",
1507
+ "warnings": [],
1508
+ "components": [
1509
+ {
1510
+ "component": "node-camera",
1511
+ "action": "install",
1512
+ "fromVersion": null,
1513
+ "toVersion": "1.0.0",
1514
+ "compatibility": {
1515
+ "coreProtocol": 1
1516
+ }
1517
+ }
1518
+ ]
1519
+ }
1520
+ }
1521
+ }
1522
+ },
1523
+ {
1524
+ "name": "host-service-queued",
1525
+ "target": "/app/host/service/install",
1526
+ "data": {
1527
+ "operationId": "operation-demo",
1528
+ "hostId": "host-demo",
1529
+ "state": "queued",
1530
+ "phase": "queued",
1531
+ "updatedAtMs": 1800000000000,
1532
+ "error": null,
1533
+ "result": null
1534
+ },
1535
+ "status": "success",
1536
+ "essential": {
1537
+ "operationId": "operation-demo",
1538
+ "hostId": "host-demo",
1539
+ "state": "queued",
1540
+ "phase": "queued",
1541
+ "updatedAtMs": 1800000000000,
1542
+ "error": null,
1543
+ "result": null
1544
+ }
1545
+ },
1546
+ {
1547
+ "name": "host-service-failed-state",
1548
+ "target": "/app/host/service/restart",
1549
+ "data": {
1550
+ "operationId": "operation-demo",
1551
+ "hostId": "host-demo",
1552
+ "state": "failed",
1553
+ "phase": "interrupted",
1554
+ "updatedAtMs": 1800000000000,
1555
+ "error": "Host operation interrupted",
1556
+ "result": null
1557
+ },
1558
+ "status": "success",
1559
+ "essential": {
1560
+ "operationId": "operation-demo",
1561
+ "hostId": "host-demo",
1562
+ "state": "failed",
1563
+ "phase": "interrupted",
1564
+ "updatedAtMs": 1800000000000,
1565
+ "error": "Host operation interrupted",
1566
+ "result": null
1567
+ }
1568
+ },
1569
+ {
1570
+ "name": "host-directory",
1571
+ "target": "/app/host/list",
1572
+ "data": {
1573
+ "hosts": [
1574
+ {
1575
+ "hostId": "host-demo",
1576
+ "env": "prod",
1577
+ "registered": true,
1578
+ "reachable": true,
1579
+ "detail": {
1580
+ "status": "ok",
1581
+ "stale": false,
1582
+ "data": {
1583
+ "hostId": "host-demo",
1584
+ "installationSupported": true,
1585
+ "components": [
1586
+ {
1587
+ "id": "node-camera",
1588
+ "serviceId": "camera",
1589
+ "installed": true,
1590
+ "installedVersion": "1.0.0",
1591
+ "enabled": null,
1592
+ "controlError": "Control unavailable",
1593
+ "toggleSupported": true,
1594
+ "catalogLoading": false,
1595
+ "catalogError": null,
1596
+ "availableVersion": "1.0.0",
1597
+ "downloadSizeBytes": 1024,
1598
+ "supported": true,
1599
+ "selectable": true,
1600
+ "structurallyValid": false,
1601
+ "reason": "Repair required"
1602
+ }
1603
+ ],
1604
+ "runtime": {
1605
+ "runtimeRoot": "/example/runtime",
1606
+ "ready": false,
1607
+ "setupRequired": false,
1608
+ "repairRequired": true,
1609
+ "components": [
1610
+ {
1611
+ "id": "node-camera",
1612
+ "payloadFilesValid": false,
1613
+ "installed": true,
1614
+ "version": "1.0.0",
1615
+ "versionDirectoryValid": true,
1616
+ "payloadMarkerValid": true,
1617
+ "currentLinkValid": true,
1618
+ "stableEntrypointValid": true,
1619
+ "structurallyValid": false
1620
+ }
1621
+ ],
1622
+ "repairReasons": [
1623
+ {
1624
+ "code": "payloadFilesMissing",
1625
+ "component": "node-camera"
1626
+ }
1627
+ ],
1628
+ "backgroundServices": []
1629
+ },
1630
+ "operations": [
1631
+ {
1632
+ "operationId": "operation-demo",
1633
+ "hostId": "host-demo",
1634
+ "state": "succeeded",
1635
+ "phase": "completed",
1636
+ "updatedAtMs": 1800000000000,
1637
+ "error": null,
1638
+ "result": {
1639
+ "changed": true,
1640
+ "warnings": [
1641
+ "Restart required"
1642
+ ],
1643
+ "backgroundServices": [],
1644
+ "plan": {
1645
+ "target": "macos-arm64",
1646
+ "catalogs": {
1647
+ "platform": {
1648
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
1649
+ "version": "20261027-01"
1650
+ }
1651
+ },
1652
+ "warnings": [],
1653
+ "components": [
1654
+ {
1655
+ "component": "node-camera",
1656
+ "action": "install",
1657
+ "fromVersion": null,
1658
+ "toVersion": "1.0.0",
1659
+ "asset": {
1660
+ "url": "https://example.invalid/camera.tar.gz",
1661
+ "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
1662
+ "size": 1024
1663
+ },
1664
+ "releaseManifest": {
1665
+ "files": []
1666
+ },
1667
+ "nodeMetadata": {
1668
+ "artifact": {}
1669
+ },
1670
+ "compatibility": {
1671
+ "coreProtocol": 1
1672
+ }
1673
+ }
1674
+ ]
1675
+ }
1676
+ }
1677
+ }
1678
+ ],
1679
+ "protocolVersion": 1,
1680
+ "platform": "macos-arm64",
1681
+ "managementMode": "desktop",
1682
+ "unsupportedReason": null,
1683
+ "catalogError": null,
1684
+ "catalogLoading": false,
1685
+ "pluginCatalogError": null,
1686
+ "pluginCatalogLoading": false,
1687
+ "runtimeError": null
1688
+ }
1689
+ }
1690
+ },
1691
+ {
1692
+ "hostId": "host-offline",
1693
+ "env": "prod",
1694
+ "registered": true,
1695
+ "reachable": false,
1696
+ "detail": {
1697
+ "status": "unavailable",
1698
+ "data": null,
1699
+ "error": "notObserved",
1700
+ "stale": false
1701
+ }
1702
+ }
1703
+ ],
1704
+ "sourceErrors": {
1705
+ "discovery": "Unavailable"
1706
+ }
1707
+ },
1708
+ "status": "success",
1709
+ "essential": {
1710
+ "hosts": [
1711
+ {
1712
+ "hostId": "host-demo",
1713
+ "env": "prod",
1714
+ "registered": true,
1715
+ "reachable": true,
1716
+ "detail": {
1717
+ "status": "ok",
1718
+ "stale": false,
1719
+ "data": {
1720
+ "hostId": "host-demo",
1721
+ "installationSupported": true,
1722
+ "components": [
1723
+ {
1724
+ "id": "node-camera",
1725
+ "serviceId": "camera",
1726
+ "installed": true,
1727
+ "installedVersion": "1.0.0",
1728
+ "enabled": null,
1729
+ "controlError": "Control unavailable",
1730
+ "toggleSupported": true,
1731
+ "catalogLoading": false,
1732
+ "catalogError": null,
1733
+ "availableVersion": "1.0.0",
1734
+ "downloadSizeBytes": 1024,
1735
+ "supported": true,
1736
+ "selectable": true,
1737
+ "structurallyValid": false,
1738
+ "reason": "Repair required"
1739
+ }
1740
+ ],
1741
+ "runtime": {
1742
+ "ready": false,
1743
+ "setupRequired": false,
1744
+ "repairRequired": true,
1745
+ "repairReasons": [
1746
+ {
1747
+ "code": "payloadFilesMissing",
1748
+ "component": "node-camera"
1749
+ }
1750
+ ],
1751
+ "backgroundServices": []
1752
+ },
1753
+ "operations": [
1754
+ {
1755
+ "operationId": "operation-demo",
1756
+ "hostId": "host-demo",
1757
+ "state": "succeeded",
1758
+ "phase": "completed",
1759
+ "updatedAtMs": 1800000000000,
1760
+ "error": null,
1761
+ "result": {
1762
+ "changed": true,
1763
+ "warnings": [
1764
+ "Restart required"
1765
+ ],
1766
+ "backgroundServices": [],
1767
+ "plan": {
1768
+ "target": "macos-arm64",
1769
+ "warnings": [],
1770
+ "components": [
1771
+ {
1772
+ "component": "node-camera",
1773
+ "action": "install",
1774
+ "fromVersion": null,
1775
+ "toVersion": "1.0.0",
1776
+ "compatibility": {
1777
+ "coreProtocol": 1
1778
+ }
1779
+ }
1780
+ ]
1781
+ }
1782
+ }
1783
+ }
1784
+ ],
1785
+ "protocolVersion": 1,
1786
+ "platform": "macos-arm64",
1787
+ "managementMode": "desktop",
1788
+ "unsupportedReason": null,
1789
+ "catalogError": null,
1790
+ "catalogLoading": false,
1791
+ "pluginCatalogError": null,
1792
+ "pluginCatalogLoading": false,
1793
+ "runtimeError": null
1794
+ }
1795
+ }
1796
+ },
1797
+ {
1798
+ "hostId": "host-offline",
1799
+ "env": "prod",
1800
+ "registered": true,
1801
+ "reachable": false,
1802
+ "detail": {
1803
+ "status": "unavailable",
1804
+ "data": null,
1805
+ "error": "notObserved",
1806
+ "stale": false
1807
+ }
1808
+ }
1809
+ ],
1810
+ "sourceErrors": {
1811
+ "discovery": "Unavailable"
1812
+ }
1813
+ }
1814
+ },
1815
+ {
1816
+ "name": "card-skin-release-detail",
1817
+ "target": "/app/card-skins/catalog/release/get",
1818
+ "data": {
1819
+ "id": "release-demo",
1820
+ "baseUrl": "https://example.invalid/skin/",
1821
+ "manifest": {
1822
+ "schemaVersion": 1,
1823
+ "packageId": "example.skin",
1824
+ "version": "1.0.0",
1825
+ "name": "Example Skin",
1826
+ "description": "Demo",
1827
+ "apiVersion": 1,
1828
+ "entry": "main.mjs",
1829
+ "files": [
1830
+ {
1831
+ "path": "main.mjs",
1832
+ "mediaType": "text/javascript",
1833
+ "sizeBytes": 1024,
1834
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
1835
+ }
1836
+ ],
1837
+ "renderers": [
1838
+ {
1839
+ "id": "switch",
1840
+ "name": "Switch",
1841
+ "description": "Demo switch",
1842
+ "supportedPatterns": [
1843
+ {
1844
+ "patternId": "switch",
1845
+ "contractId": "switch",
1846
+ "contractVersion": 1
1847
+ }
1848
+ ],
1849
+ "detail": {
1850
+ "mode": "builtin"
1851
+ },
1852
+ "configSchema": {
1853
+ "type": "object",
1854
+ "properties": {
1855
+ "color": {
1856
+ "type": "string",
1857
+ "default": "green"
1858
+ }
1859
+ }
1860
+ }
1861
+ }
1862
+ ]
1863
+ }
1864
+ },
1865
+ "status": "success",
1866
+ "essential": {
1867
+ "id": "release-demo",
1868
+ "manifest": {
1869
+ "schemaVersion": 1,
1870
+ "packageId": "example.skin",
1871
+ "version": "1.0.0",
1872
+ "name": "Example Skin",
1873
+ "description": "Demo",
1874
+ "apiVersion": 1,
1875
+ "renderers": [
1876
+ {
1877
+ "id": "switch",
1878
+ "name": "Switch",
1879
+ "description": "Demo switch",
1880
+ "supportedPatterns": [
1881
+ {
1882
+ "patternId": "switch",
1883
+ "contractId": "switch",
1884
+ "contractVersion": 1
1885
+ }
1886
+ ],
1887
+ "detail": {
1888
+ "mode": "builtin"
1889
+ },
1890
+ "configSchema": {
1891
+ "type": "object",
1892
+ "properties": {
1893
+ "color": {
1894
+ "type": "string",
1895
+ "default": "green"
1896
+ }
1897
+ }
1898
+ }
1899
+ }
1900
+ ]
1901
+ }
1902
+ }
1903
+ },
1904
+ {
1905
+ "name": "card-skin-release-list",
1906
+ "target": "/app/card-skins/catalog/release/list",
1907
+ "data": {
1908
+ "releases": [
1909
+ {
1910
+ "id": "release-demo",
1911
+ "baseUrl": "https://example.invalid/skin/",
1912
+ "manifest": {
1913
+ "schemaVersion": 1,
1914
+ "packageId": "example.skin",
1915
+ "version": "1.0.0",
1916
+ "name": "Example Skin",
1917
+ "description": "Demo",
1918
+ "apiVersion": 1,
1919
+ "entry": "main.mjs",
1920
+ "files": [
1921
+ {
1922
+ "path": "main.mjs",
1923
+ "mediaType": "text/javascript",
1924
+ "sizeBytes": 1024,
1925
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
1926
+ }
1927
+ ],
1928
+ "renderers": [
1929
+ {
1930
+ "id": "switch",
1931
+ "name": "Switch",
1932
+ "description": "Demo switch",
1933
+ "supportedPatterns": [
1934
+ {
1935
+ "patternId": "switch",
1936
+ "contractId": "switch",
1937
+ "contractVersion": 1
1938
+ }
1939
+ ],
1940
+ "detail": {
1941
+ "mode": "builtin"
1942
+ },
1943
+ "configSchema": {
1944
+ "type": "object",
1945
+ "properties": {
1946
+ "color": {
1947
+ "type": "string",
1948
+ "default": "green"
1949
+ }
1950
+ }
1951
+ }
1952
+ }
1953
+ ]
1954
+ }
1955
+ }
1956
+ ]
1957
+ },
1958
+ "status": "success",
1959
+ "essential": {
1960
+ "releases": [
1961
+ {
1962
+ "id": "release-demo",
1963
+ "manifest": {
1964
+ "schemaVersion": 1,
1965
+ "packageId": "example.skin",
1966
+ "version": "1.0.0",
1967
+ "name": "Example Skin",
1968
+ "description": "Demo",
1969
+ "apiVersion": 1,
1970
+ "renderers": [
1971
+ {
1972
+ "id": "switch",
1973
+ "name": "Switch",
1974
+ "description": "Demo switch",
1975
+ "supportedPatterns": [
1976
+ {
1977
+ "patternId": "switch",
1978
+ "contractId": "switch",
1979
+ "contractVersion": 1
1980
+ }
1981
+ ],
1982
+ "detail": {
1983
+ "mode": "builtin"
1984
+ }
1985
+ }
1986
+ ]
1987
+ }
1988
+ }
1989
+ ]
1990
+ }
1991
+ },
1992
+ {
1993
+ "name": "card-skin-selection",
1994
+ "target": "/app/card-skins/selection/get",
1995
+ "data": {
1996
+ "revision": "revision-demo",
1997
+ "selection": {
1998
+ "installations": [
1999
+ {
2000
+ "id": "installation-demo",
2001
+ "spaceId": "space-demo",
2002
+ "releaseId": "release-demo"
2003
+ }
2004
+ ],
2005
+ "overrides": [
2006
+ {
2007
+ "spaceId": "space-demo",
2008
+ "patternId": "switch",
2009
+ "installationId": "installation-demo",
2010
+ "rendererId": "switch",
2011
+ "config": {
2012
+ "color": "red"
2013
+ }
2014
+ }
2015
+ ],
2016
+ "releases": [
2017
+ {
2018
+ "id": "release-demo",
2019
+ "baseUrl": "https://example.invalid/skin/",
2020
+ "manifest": {
2021
+ "schemaVersion": 1,
2022
+ "packageId": "example.skin",
2023
+ "version": "1.0.0",
2024
+ "name": "Example Skin",
2025
+ "description": "Demo",
2026
+ "apiVersion": 1,
2027
+ "entry": "main.mjs",
2028
+ "files": [
2029
+ {
2030
+ "path": "main.mjs",
2031
+ "mediaType": "text/javascript",
2032
+ "sizeBytes": 1024,
2033
+ "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
2034
+ }
2035
+ ],
2036
+ "renderers": [
2037
+ {
2038
+ "id": "switch",
2039
+ "name": "Switch",
2040
+ "description": "Demo switch",
2041
+ "supportedPatterns": [
2042
+ {
2043
+ "patternId": "switch",
2044
+ "contractId": "switch",
2045
+ "contractVersion": 1
2046
+ }
2047
+ ],
2048
+ "detail": {
2049
+ "mode": "builtin"
2050
+ },
2051
+ "configSchema": {
2052
+ "type": "object",
2053
+ "properties": {
2054
+ "color": {
2055
+ "type": "string",
2056
+ "default": "green"
2057
+ }
2058
+ }
2059
+ }
2060
+ }
2061
+ ]
2062
+ }
2063
+ }
2064
+ ]
2065
+ }
2066
+ },
2067
+ "status": "success",
2068
+ "essential": {
2069
+ "revision": "revision-demo",
2070
+ "selection": {
2071
+ "installations": [
2072
+ {
2073
+ "id": "installation-demo",
2074
+ "spaceId": "space-demo",
2075
+ "releaseId": "release-demo"
2076
+ }
2077
+ ],
2078
+ "overrides": [
2079
+ {
2080
+ "spaceId": "space-demo",
2081
+ "patternId": "switch",
2082
+ "installationId": "installation-demo",
2083
+ "rendererId": "switch",
2084
+ "config": {
2085
+ "color": "red"
2086
+ }
2087
+ }
2088
+ ],
2089
+ "releases": [
2090
+ {
2091
+ "id": "release-demo",
2092
+ "manifest": {
2093
+ "schemaVersion": 1,
2094
+ "packageId": "example.skin",
2095
+ "version": "1.0.0",
2096
+ "name": "Example Skin",
2097
+ "description": "Demo",
2098
+ "apiVersion": 1,
2099
+ "renderers": [
2100
+ {
2101
+ "id": "switch",
2102
+ "name": "Switch",
2103
+ "description": "Demo switch",
2104
+ "supportedPatterns": [
2105
+ {
2106
+ "patternId": "switch",
2107
+ "contractId": "switch",
2108
+ "contractVersion": 1
2109
+ }
2110
+ ],
2111
+ "detail": {
2112
+ "mode": "builtin"
2113
+ }
2114
+ }
2115
+ ]
2116
+ }
2117
+ }
2118
+ ]
2119
+ }
2120
+ }
2121
+ },
2122
+ {
2123
+ "name": "card-skin-empty-ack",
2124
+ "target": "/app/card-skins/install",
2125
+ "data": {},
2126
+ "status": "success",
2127
+ "essential": {}
2128
+ },
2129
+ {
2130
+ "name": "internal-profile",
2131
+ "target": "/app/user/profile/get",
2132
+ "data": {
2133
+ "name": "Example user",
2134
+ "email": "user@example.com",
2135
+ "avatarUrl": null,
2136
+ "avatarExpiresAtMs": null
2137
+ },
2138
+ "status": "success",
2139
+ "essential": {
2140
+ "name": "Example user",
2141
+ "email": "user@example.com",
2142
+ "avatarUrl": null,
2143
+ "avatarExpiresAtMs": null
2144
+ }
507
2145
  }
508
2146
  ]