@mhome/app-facade-protocol 1.118.4 → 1.125.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.
Files changed (40) hide show
  1. package/README.md +21 -0
  2. package/contract/client-space-focus-v1.md +1 -1
  3. package/contract/device-presentation-v1.md +35 -0
  4. package/contract/entity-v1.md +53 -0
  5. package/contract/pod-commissioning-v1.md +12 -12
  6. package/contract/reference-presentation-v1.md +1 -1
  7. package/contract/resource-read-v1.md +11 -11
  8. package/contract/trace-v1.md +17 -0
  9. package/contract/user-navigation-v1.md +47 -0
  10. package/fixtures/authorization/decisions.json +110 -110
  11. package/fixtures/billing.conformance.json +49 -2
  12. package/fixtures/card-skins/space.json +1 -1
  13. package/fixtures/entity-presentation.conformance.json +2 -2
  14. package/fixtures/integration-presentation.conformance.json +1 -1
  15. package/fixtures/local-hub-state.configured.json +1 -1
  16. package/fixtures/pod-commission.awaiting-authorization.json +3 -3
  17. package/fixtures/presentation/cases.json +666 -35
  18. package/fixtures/recording.conformance.json +15 -8
  19. package/fixtures/routing/cases.json +44 -44
  20. package/fixtures/trace/linear.json +6 -0
  21. package/fixtures/widget-presentation.v1.json +3 -3
  22. package/manifest/app-facade.v1.json +49 -6
  23. package/manifest/authorization.v1.json +17 -8
  24. package/manifest/host-provision-targets.v1.json +1 -1
  25. package/manifest/hub-targets.v1.json +1 -1
  26. package/manifest/navigation-cards.v1.json +29 -0
  27. package/manifest/pod-targets.v1.json +2 -2
  28. package/manifest/presentation-times.v1.json +377 -29
  29. package/manifest/recording.v1.json +18 -15
  30. package/manifest/routing.v1.json +5 -4
  31. package/manifest/targets.v1.json +1 -1
  32. package/package.json +1 -1
  33. package/protocol.json +2 -1
  34. package/schema/delegated-call.v1.schema.json +2 -2
  35. package/schema/local-hub-state.v1.schema.json +2 -2
  36. package/schema/pod-commission.v1.schema.json +6 -6
  37. package/schema/routing.v1.schema.json +3 -3
  38. package/schema/system-hosts.v1.schema.json +2 -2
  39. package/schema/trace.v1.schema.json +278 -0
  40. package/schema/user-navigation.v1.schema.json +133 -0
@@ -682,6 +682,143 @@
682
682
  ]
683
683
  }
684
684
  },
685
+ {
686
+ "name": "device-history-preserves-trace-reference",
687
+ "target": "/app/device/history/list",
688
+ "data": {
689
+ "deviceId": "d1",
690
+ "timeline": [
691
+ {
692
+ "type": "command",
693
+ "entityId": "d1",
694
+ "capabilityId": "command.onOff",
695
+ "data": {
696
+ "value": false,
697
+ "level": 0,
698
+ "optional": null
699
+ },
700
+ "traceSteps": [],
701
+ "r": "9007199254740993",
702
+ "timestamp": 1793066400000
703
+ }
704
+ ]
705
+ },
706
+ "status": "success",
707
+ "essential": {
708
+ "deviceId": "d1",
709
+ "timeline": [
710
+ {
711
+ "type": "command",
712
+ "entityId": "d1",
713
+ "capabilityId": "command.onOff",
714
+ "data": {
715
+ "value": false,
716
+ "level": 0,
717
+ "optional": null
718
+ },
719
+ "traceSteps": [],
720
+ "r": "9007199254740993",
721
+ "timestamp": "2026-10-27 02:00:00 +00:00 (UTC)"
722
+ }
723
+ ]
724
+ }
725
+ },
726
+ {
727
+ "name": "entity-history-preserves-trace-reference",
728
+ "target": "/app/entity/history/list",
729
+ "data": {
730
+ "timeline": [
731
+ {
732
+ "type": "command",
733
+ "entityId": "d1",
734
+ "capabilityId": "command.onOff",
735
+ "data": {
736
+ "value": false,
737
+ "level": 0,
738
+ "optional": null
739
+ },
740
+ "traceSteps": [],
741
+ "r": "9007199254740993",
742
+ "timestamp": 1793066400000
743
+ }
744
+ ],
745
+ "entityId": "d1",
746
+ "entityType": "demo.entity",
747
+ "found": true,
748
+ "group": false
749
+ },
750
+ "status": "success",
751
+ "essential": {
752
+ "timeline": [
753
+ {
754
+ "type": "command",
755
+ "entityId": "d1",
756
+ "capabilityId": "command.onOff",
757
+ "data": {
758
+ "value": false,
759
+ "level": 0,
760
+ "optional": null
761
+ },
762
+ "traceSteps": [],
763
+ "r": "9007199254740993",
764
+ "timestamp": "2026-10-27 02:00:00 +00:00 (UTC)"
765
+ }
766
+ ],
767
+ "entityId": "d1",
768
+ "entityType": "demo.entity",
769
+ "found": true,
770
+ "group": false
771
+ }
772
+ },
773
+ {
774
+ "name": "trace-read-preserves-attribution-fields",
775
+ "target": "/app/trace/get",
776
+ "data": {
777
+ "traces": {
778
+ "9007199254740993": [
779
+ {
780
+ "type": "USER",
781
+ "timestamp": 12,
782
+ "userId": "u1",
783
+ "source": "cli",
784
+ "appClientId": "client1",
785
+ "page": "now"
786
+ },
787
+ {
788
+ "type": "AUTOMATION_IGNITE",
789
+ "timestamp": 13,
790
+ "automationId": "a1"
791
+ }
792
+ ]
793
+ },
794
+ "missingTraceIds": [
795
+ "42"
796
+ ]
797
+ },
798
+ "status": "success",
799
+ "essential": {
800
+ "traces": {
801
+ "9007199254740993": [
802
+ {
803
+ "type": "USER",
804
+ "timestamp": "1970-01-01 00:00:00.012 +00:00 (UTC)",
805
+ "userId": "u1",
806
+ "source": "cli",
807
+ "appClientId": "client1",
808
+ "page": "now"
809
+ },
810
+ {
811
+ "type": "AUTOMATION_IGNITE",
812
+ "timestamp": "1970-01-01 00:00:00.013 +00:00 (UTC)",
813
+ "automationId": "a1"
814
+ }
815
+ ]
816
+ },
817
+ "missingTraceIds": [
818
+ "42"
819
+ ]
820
+ }
821
+ },
685
822
  {
686
823
  "name": "device-recent-preserves-window-truncation-and-values",
687
824
  "target": "/app/device/activity/recent/list",
@@ -1246,7 +1383,7 @@
1246
1383
  "challenge": {
1247
1384
  "code": "DEMO123",
1248
1385
  "command": "/link DEMO123",
1249
- "expiresAtMs": 1800000300000,
1386
+ "expiresAtMs": "2027-01-15 08:05:00 +00:00 (UTC)",
1250
1387
  "challengeId": "challenge-demo"
1251
1388
  }
1252
1389
  }
@@ -1346,7 +1483,7 @@
1346
1483
  "hostId": "host-demo",
1347
1484
  "state": "succeeded",
1348
1485
  "phase": "completed",
1349
- "updatedAtMs": 1800000000000,
1486
+ "updatedAtMs": "2027-01-15 08:00:00 +00:00 (UTC)",
1350
1487
  "result": {
1351
1488
  "changed": true,
1352
1489
  "warnings": [
@@ -1390,7 +1527,7 @@
1390
1527
  "hostId": "host-demo",
1391
1528
  "state": "queued",
1392
1529
  "phase": "queued",
1393
- "updatedAtMs": 1800000000000,
1530
+ "updatedAtMs": "2027-01-15 08:00:00 +00:00 (UTC)",
1394
1531
  "error": null,
1395
1532
  "result": null
1396
1533
  }
@@ -1413,7 +1550,7 @@
1413
1550
  "hostId": "host-demo",
1414
1551
  "state": "failed",
1415
1552
  "phase": "interrupted",
1416
- "updatedAtMs": 1800000000000,
1553
+ "updatedAtMs": "2027-01-15 08:00:00 +00:00 (UTC)",
1417
1554
  "error": "Host operation interrupted",
1418
1555
  "result": null
1419
1556
  }
@@ -1608,7 +1745,7 @@
1608
1745
  "hostId": "host-demo",
1609
1746
  "state": "succeeded",
1610
1747
  "phase": "completed",
1611
- "updatedAtMs": 1800000000000,
1748
+ "updatedAtMs": "2027-01-15 08:00:00 +00:00 (UTC)",
1612
1749
  "result": {
1613
1750
  "changed": true,
1614
1751
  "warnings": [
@@ -2034,7 +2171,7 @@
2034
2171
  "llmUseCases": [
2035
2172
  {
2036
2173
  "useCase": "chat",
2037
- "displayName": "对话",
2174
+ "displayName": "\u5bf9\u8bdd",
2038
2175
  "description": null,
2039
2176
  "ownerType": "system",
2040
2177
  "ownerId": "agent",
@@ -2062,7 +2199,7 @@
2062
2199
  "models": [
2063
2200
  {
2064
2201
  "id": "demo-chat",
2065
- "displayName": "示例对话模型",
2202
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2066
2203
  "modelType": "chat",
2067
2204
  "available": true,
2068
2205
  "deprecated": false,
@@ -2098,7 +2235,7 @@
2098
2235
  "providers": [
2099
2236
  {
2100
2237
  "provider": "local_example",
2101
- "displayName": "示例 Provider",
2238
+ "displayName": "\u793a\u4f8b Provider",
2102
2239
  "runtime": "local",
2103
2240
  "modelSource": "catalog",
2104
2241
  "catalogProvider": "example",
@@ -2169,7 +2306,7 @@
2169
2306
  "llmUseCases": [
2170
2307
  {
2171
2308
  "useCase": "chat",
2172
- "displayName": "对话",
2309
+ "displayName": "\u5bf9\u8bdd",
2173
2310
  "configurable": true,
2174
2311
  "active": true,
2175
2312
  "requirements": {
@@ -2191,7 +2328,7 @@
2191
2328
  "models": [
2192
2329
  {
2193
2330
  "id": "demo-chat",
2194
- "displayName": "示例对话模型",
2331
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2195
2332
  "modelType": "chat",
2196
2333
  "available": true,
2197
2334
  "deprecated": false,
@@ -2222,7 +2359,7 @@
2222
2359
  "providers": [
2223
2360
  {
2224
2361
  "provider": "local_example",
2225
- "displayName": "示例 Provider",
2362
+ "displayName": "\u793a\u4f8b Provider",
2226
2363
  "runtime": "local",
2227
2364
  "useCases": [
2228
2365
  "chat"
@@ -2263,7 +2400,7 @@
2263
2400
  "models": [
2264
2401
  {
2265
2402
  "id": "demo-chat",
2266
- "displayName": "示例对话模型",
2403
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2267
2404
  "modelType": "chat",
2268
2405
  "available": true,
2269
2406
  "deprecated": false,
@@ -2291,7 +2428,7 @@
2291
2428
  "providers": [
2292
2429
  {
2293
2430
  "provider": "local_example",
2294
- "displayName": "示例 Provider",
2431
+ "displayName": "\u793a\u4f8b Provider",
2295
2432
  "runtime": "local",
2296
2433
  "modelSource": "catalog",
2297
2434
  "catalogProvider": "example",
@@ -2324,7 +2461,7 @@
2324
2461
  "models": [
2325
2462
  {
2326
2463
  "id": "demo-chat",
2327
- "displayName": "示例对话模型",
2464
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2328
2465
  "modelType": "chat",
2329
2466
  "available": true,
2330
2467
  "deprecated": false,
@@ -2349,7 +2486,7 @@
2349
2486
  "providers": [
2350
2487
  {
2351
2488
  "provider": "local_example",
2352
- "displayName": "示例 Provider",
2489
+ "displayName": "\u793a\u4f8b Provider",
2353
2490
  "runtime": "local",
2354
2491
  "useCases": [
2355
2492
  "chat"
@@ -2394,7 +2531,7 @@
2394
2531
  "models": [
2395
2532
  {
2396
2533
  "id": "demo-chat",
2397
- "displayName": "示例对话模型",
2534
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2398
2535
  "modelType": "chat",
2399
2536
  "available": true,
2400
2537
  "deprecated": false,
@@ -2452,7 +2589,7 @@
2452
2589
  "models": [
2453
2590
  {
2454
2591
  "id": "demo-chat",
2455
- "displayName": "示例对话模型",
2592
+ "displayName": "\u793a\u4f8b\u5bf9\u8bdd\u6a21\u578b",
2456
2593
  "modelType": "chat",
2457
2594
  "available": true,
2458
2595
  "deprecated": false,
@@ -2503,7 +2640,7 @@
2503
2640
  "llmUseCases": [
2504
2641
  {
2505
2642
  "useCase": "chat",
2506
- "displayName": "对话",
2643
+ "displayName": "\u5bf9\u8bdd",
2507
2644
  "description": null,
2508
2645
  "ownerType": "system",
2509
2646
  "ownerId": "agent",
@@ -2545,7 +2682,7 @@
2545
2682
  "llmUseCases": [
2546
2683
  {
2547
2684
  "useCase": "chat",
2548
- "displayName": "对话",
2685
+ "displayName": "\u5bf9\u8bdd",
2549
2686
  "configurable": true,
2550
2687
  "active": true,
2551
2688
  "requirements": {
@@ -2601,22 +2738,22 @@
2601
2738
  "name": "agent-memory-text",
2602
2739
  "target": "/app/agent/memory/get",
2603
2740
  "data": {
2604
- "content": "客厅空调设定为 26°C 前先征求用户同意。"
2741
+ "content": "\u5ba2\u5385\u7a7a\u8c03\u8bbe\u5b9a\u4e3a 26\u00b0C \u524d\u5148\u5f81\u6c42\u7528\u6237\u540c\u610f\u3002"
2605
2742
  },
2606
2743
  "status": "success",
2607
2744
  "essential": {
2608
- "content": "客厅空调设定为 26°C 前先征求用户同意。"
2745
+ "content": "\u5ba2\u5385\u7a7a\u8c03\u8bbe\u5b9a\u4e3a 26\u00b0C \u524d\u5148\u5f81\u6c42\u7528\u6237\u540c\u610f\u3002"
2609
2746
  }
2610
2747
  },
2611
2748
  {
2612
2749
  "name": "agent-identity-text",
2613
2750
  "target": "/app/agent/identity/get",
2614
2751
  "data": {
2615
- "content": "使用中文,回答简洁。"
2752
+ "content": "\u4f7f\u7528\u4e2d\u6587\uff0c\u56de\u7b54\u7b80\u6d01\u3002"
2616
2753
  },
2617
2754
  "status": "success",
2618
2755
  "essential": {
2619
- "content": "使用中文,回答简洁。"
2756
+ "content": "\u4f7f\u7528\u4e2d\u6587\uff0c\u56de\u7b54\u7b80\u6d01\u3002"
2620
2757
  }
2621
2758
  },
2622
2759
  {
@@ -3719,15 +3856,9 @@
3719
3856
  "dataType": "Timestamp",
3720
3857
  "repeated": false,
3721
3858
  "options": [
3722
- {
3723
- "_type": "Timestamp",
3724
- "value": "2024-11-03 06:30:00 +00:00 (UTC)"
3725
- }
3859
+ "2024-11-03 06:30:00 +00:00 (UTC)"
3726
3860
  ],
3727
- "min": {
3728
- "_type": "Timestamp",
3729
- "value": "1970-01-01 00:00:00 +00:00 (UTC)"
3730
- },
3861
+ "min": "1970-01-01 00:00:00 +00:00 (UTC)",
3731
3862
  "displayName": "UI name"
3732
3863
  }
3733
3864
  },
@@ -3817,10 +3948,7 @@
3817
3948
  "items": [
3818
3949
  {
3819
3950
  "resource": {
3820
- "value": {
3821
- "_type": "Timestamp",
3822
- "value": "2026-01-01 00:00:00.123 +00:00 (UTC)"
3823
- },
3951
+ "value": "2026-01-01 00:00:00.123 +00:00 (UTC)",
3824
3952
  "widgetId": "value-d",
3825
3953
  "revision": 1
3826
3954
  },
@@ -3906,5 +4034,508 @@
3906
4034
  },
3907
4035
  "status": "error",
3908
4036
  "code": "INVALID_RESPONSE"
4037
+ },
4038
+ {
4039
+ "name": "entity-metadata-list",
4040
+ "target": "/app/entity/list",
4041
+ "data": {
4042
+ "entities": [
4043
+ {
4044
+ "id": "lamp-1",
4045
+ "name": "Desk",
4046
+ "entityType": "demo.light.Light",
4047
+ "integration": "demo.light",
4048
+ "active": false,
4049
+ "capabilities": [
4050
+ "state.onOff"
4051
+ ],
4052
+ "data": {
4053
+ "id": "source-local-7",
4054
+ "on": false,
4055
+ "level": "0",
4056
+ "observedAt": "1700000000"
4057
+ },
4058
+ "tags": [
4059
+ "demo.blueprint"
4060
+ ],
4061
+ "availabilityStatus": "Unavailable",
4062
+ "issue": true,
4063
+ "group": false,
4064
+ "entityIds": []
4065
+ },
4066
+ {
4067
+ "id": "g:lights",
4068
+ "name": "Lights",
4069
+ "entityType": "demo.light.Light",
4070
+ "integration": "demo.light",
4071
+ "active": false,
4072
+ "capabilities": [
4073
+ "state.onOff"
4074
+ ],
4075
+ "data": {},
4076
+ "tags": [],
4077
+ "availabilityStatus": "Unavailable",
4078
+ "issue": true,
4079
+ "group": true,
4080
+ "entityIds": [
4081
+ "lamp-1"
4082
+ ]
4083
+ },
4084
+ {
4085
+ "id": "home",
4086
+ "name": "Desk",
4087
+ "entityType": "Location",
4088
+ "integration": null,
4089
+ "active": false,
4090
+ "capabilities": [
4091
+ "state.onOff"
4092
+ ],
4093
+ "data": {
4094
+ "id": "home",
4095
+ "displayName": "Home",
4096
+ "latitude": 0,
4097
+ "longitude": 0,
4098
+ "altitude": 0,
4099
+ "timezone": "Asia/Shanghai"
4100
+ },
4101
+ "tags": [
4102
+ "demo.blueprint"
4103
+ ],
4104
+ "availabilityStatus": "Unavailable",
4105
+ "issue": true,
4106
+ "group": false,
4107
+ "entityIds": []
4108
+ },
4109
+ {
4110
+ "id": "a:phone",
4111
+ "name": "Desk",
4112
+ "entityType": "AppClient",
4113
+ "integration": "demo.light",
4114
+ "active": false,
4115
+ "capabilities": [
4116
+ "state.onOff"
4117
+ ],
4118
+ "data": {
4119
+ "uid": "a:phone",
4120
+ "id": "phone",
4121
+ "displayName": "Phone",
4122
+ "clientType": "iosPhone"
4123
+ },
4124
+ "tags": [
4125
+ "demo.blueprint"
4126
+ ],
4127
+ "availabilityStatus": "Unavailable",
4128
+ "issue": true,
4129
+ "group": false,
4130
+ "entityIds": []
4131
+ }
4132
+ ]
4133
+ },
4134
+ "status": "success",
4135
+ "essential": {
4136
+ "entities": [
4137
+ {
4138
+ "id": "lamp-1",
4139
+ "name": "Desk",
4140
+ "entityType": "demo.light.Light",
4141
+ "integration": "demo.light",
4142
+ "active": false,
4143
+ "capabilities": [
4144
+ "state.onOff"
4145
+ ],
4146
+ "data": {
4147
+ "id": "source-local-7",
4148
+ "on": false,
4149
+ "level": "0",
4150
+ "observedAt": "1700000000"
4151
+ },
4152
+ "availabilityStatus": "Unavailable",
4153
+ "issue": true,
4154
+ "group": false
4155
+ },
4156
+ {
4157
+ "id": "g:lights",
4158
+ "name": "Lights",
4159
+ "entityType": "demo.light.Light",
4160
+ "integration": "demo.light",
4161
+ "active": false,
4162
+ "capabilities": [
4163
+ "state.onOff"
4164
+ ],
4165
+ "data": {},
4166
+ "availabilityStatus": "Unavailable",
4167
+ "issue": true,
4168
+ "group": true,
4169
+ "entityIds": [
4170
+ "lamp-1"
4171
+ ]
4172
+ },
4173
+ {
4174
+ "id": "home",
4175
+ "name": "Desk",
4176
+ "entityType": "Location",
4177
+ "active": false,
4178
+ "capabilities": [
4179
+ "state.onOff"
4180
+ ],
4181
+ "data": {
4182
+ "latitude": 0,
4183
+ "longitude": 0,
4184
+ "altitude": 0,
4185
+ "timezone": "Asia/Shanghai"
4186
+ },
4187
+ "availabilityStatus": "Unavailable",
4188
+ "issue": true,
4189
+ "group": false
4190
+ },
4191
+ {
4192
+ "id": "a:phone",
4193
+ "name": "Desk",
4194
+ "entityType": "AppClient",
4195
+ "integration": "demo.light",
4196
+ "active": false,
4197
+ "capabilities": [
4198
+ "state.onOff"
4199
+ ],
4200
+ "data": {
4201
+ "clientType": "iosPhone"
4202
+ },
4203
+ "availabilityStatus": "Unavailable",
4204
+ "issue": true,
4205
+ "group": false
4206
+ }
4207
+ ]
4208
+ }
4209
+ },
4210
+ {
4211
+ "name": "entity-selected-metadata",
4212
+ "target": "/app/entity/detail/get",
4213
+ "data": {
4214
+ "items": [
4215
+ {
4216
+ "requestedId": "lamp-1",
4217
+ "found": true,
4218
+ "entity": {
4219
+ "id": "lamp-1",
4220
+ "name": "Desk",
4221
+ "entityType": "demo.light.Light",
4222
+ "integration": "demo.light",
4223
+ "active": false,
4224
+ "capabilities": [
4225
+ "state.onOff"
4226
+ ],
4227
+ "data": {
4228
+ "id": "source-local-7",
4229
+ "on": false,
4230
+ "level": "0",
4231
+ "observedAt": "1700000000"
4232
+ },
4233
+ "tags": [
4234
+ "demo.blueprint"
4235
+ ],
4236
+ "availabilityStatus": "Unavailable",
4237
+ "issue": true,
4238
+ "group": false,
4239
+ "entityIds": []
4240
+ }
4241
+ },
4242
+ {
4243
+ "requestedId": "missing",
4244
+ "found": false,
4245
+ "reason": "not_found"
4246
+ }
4247
+ ]
4248
+ },
4249
+ "status": "success",
4250
+ "essential": {
4251
+ "items": [
4252
+ {
4253
+ "requestedId": "lamp-1",
4254
+ "found": true,
4255
+ "entity": {
4256
+ "id": "lamp-1",
4257
+ "name": "Desk",
4258
+ "entityType": "demo.light.Light",
4259
+ "integration": "demo.light",
4260
+ "active": false,
4261
+ "capabilities": [
4262
+ "state.onOff"
4263
+ ],
4264
+ "data": {
4265
+ "id": "source-local-7",
4266
+ "on": false,
4267
+ "level": "0",
4268
+ "observedAt": "1700000000"
4269
+ },
4270
+ "availabilityStatus": "Unavailable",
4271
+ "issue": true,
4272
+ "group": false
4273
+ }
4274
+ },
4275
+ {
4276
+ "requestedId": "missing",
4277
+ "found": false,
4278
+ "reason": "not_found"
4279
+ }
4280
+ ]
4281
+ }
4282
+ },
4283
+ {
4284
+ "name": "entity-observations",
4285
+ "target": "/app/entity/state/get",
4286
+ "data": {
4287
+ "items": [
4288
+ {
4289
+ "requestedId": "lamp-1",
4290
+ "found": true,
4291
+ "resource": {
4292
+ "entityId": "lamp-1",
4293
+ "latest": [
4294
+ {
4295
+ "capabilityId": "state.onOff",
4296
+ "state": {
4297
+ "timestamp": 1700000000,
4298
+ "state": {
4299
+ "on": false,
4300
+ "level": 0
4301
+ }
4302
+ }
4303
+ }
4304
+ ]
4305
+ }
4306
+ },
4307
+ {
4308
+ "requestedId": "empty",
4309
+ "found": true,
4310
+ "resource": {
4311
+ "entityId": "empty",
4312
+ "latest": []
4313
+ }
4314
+ },
4315
+ {
4316
+ "requestedId": "missing",
4317
+ "found": false,
4318
+ "reason": "not_found"
4319
+ }
4320
+ ]
4321
+ },
4322
+ "status": "success",
4323
+ "essential": {
4324
+ "items": [
4325
+ {
4326
+ "requestedId": "lamp-1",
4327
+ "found": true,
4328
+ "resource": {
4329
+ "entityId": "lamp-1",
4330
+ "latest": [
4331
+ {
4332
+ "capabilityId": "state.onOff",
4333
+ "state": {
4334
+ "timestamp": "2023-11-14 22:13:20 +00:00 (UTC)",
4335
+ "state": {
4336
+ "on": false,
4337
+ "level": 0
4338
+ }
4339
+ }
4340
+ }
4341
+ ]
4342
+ }
4343
+ },
4344
+ {
4345
+ "requestedId": "empty",
4346
+ "found": true,
4347
+ "resource": {
4348
+ "entityId": "empty",
4349
+ "latest": []
4350
+ }
4351
+ },
4352
+ {
4353
+ "requestedId": "missing",
4354
+ "found": false,
4355
+ "reason": "not_found"
4356
+ }
4357
+ ]
4358
+ }
4359
+ },
4360
+ {
4361
+ "name": "capability-full-keeps-types-essential-renders-home",
4362
+ "target": "/app/capability/invoke/json",
4363
+ "timezone": "America/New_York",
4364
+ "status": "success",
4365
+ "data": {
4366
+ "result": {
4367
+ "recordings": [
4368
+ {
4369
+ "startAt": {
4370
+ "_type": "Timestamp",
4371
+ "value": 1730615400123
4372
+ },
4373
+ "endAt": {
4374
+ "_type": "Timestamp",
4375
+ "value": -1
4376
+ },
4377
+ "temperature": {
4378
+ "_type": "Temperature",
4379
+ "value": 21.5,
4380
+ "unit": "C"
4381
+ },
4382
+ "duration": {
4383
+ "_type": "Duration",
4384
+ "value": 1500,
4385
+ "unit": "ms"
4386
+ },
4387
+ "ordinary": 1730615400123,
4388
+ "nullable": null
4389
+ }
4390
+ ]
4391
+ },
4392
+ "artifacts": []
4393
+ },
4394
+ "essential": {
4395
+ "result": {
4396
+ "recordings": [
4397
+ {
4398
+ "startAt": "2024-11-03 01:30:00.123 -05:00 (America/New_York)",
4399
+ "endAt": "1969-12-31 18:59:59.999 -05:00 (America/New_York)",
4400
+ "temperature": "21.5C",
4401
+ "duration": "1500ms",
4402
+ "ordinary": 1730615400123,
4403
+ "nullable": null
4404
+ }
4405
+ ]
4406
+ },
4407
+ "artifacts": []
4408
+ }
4409
+ },
4410
+ {
4411
+ "name": "history-full-numeric-instant-essential-home",
4412
+ "target": "/app/entity/history/list",
4413
+ "timezone": "Asia/Shanghai",
4414
+ "status": "success",
4415
+ "data": {
4416
+ "timeline": [
4417
+ {
4418
+ "timestamp": 0,
4419
+ "data": {
4420
+ "timestamp": 7
4421
+ }
4422
+ },
4423
+ {
4424
+ "timestamp": null
4425
+ },
4426
+ {
4427
+ "timestamp": 1730615400123
4428
+ }
4429
+ ]
4430
+ },
4431
+ "essential": {
4432
+ "timeline": [
4433
+ {
4434
+ "timestamp": "1970-01-01 08:00:00 +08:00 (Asia/Shanghai)",
4435
+ "data": {
4436
+ "timestamp": 7
4437
+ }
4438
+ },
4439
+ {
4440
+ "timestamp": null
4441
+ },
4442
+ {
4443
+ "timestamp": "2024-11-03 14:30:00.123 +08:00 (Asia/Shanghai)"
4444
+ }
4445
+ ]
4446
+ }
4447
+ },
4448
+ {
4449
+ "name": "trace-map-instants-essential-home",
4450
+ "target": "/app/trace/get",
4451
+ "timezone": "Asia/Shanghai",
4452
+ "status": "success",
4453
+ "data": {
4454
+ "traces": {
4455
+ "42": [
4456
+ {
4457
+ "type": "USER",
4458
+ "timestamp": 1730615400123
4459
+ }
4460
+ ]
4461
+ },
4462
+ "missingTraceIds": []
4463
+ },
4464
+ "essential": {
4465
+ "traces": {
4466
+ "42": [
4467
+ {
4468
+ "type": "USER",
4469
+ "timestamp": "2024-11-03 14:30:00.123 +08:00 (Asia/Shanghai)"
4470
+ }
4471
+ ]
4472
+ },
4473
+ "missingTraceIds": []
4474
+ }
4475
+ },
4476
+ {
4477
+ "name": "typed-scalar-root-is-display-only",
4478
+ "target": "/app/plugin/contribution/read",
4479
+ "timezone": "Asia/Shanghai",
4480
+ "status": "success",
4481
+ "data": {
4482
+ "_type": "Timestamp",
4483
+ "value": 123
4484
+ },
4485
+ "essential": "1970-01-01 08:00:00.123 +08:00 (Asia/Shanghai)"
4486
+ },
4487
+ {
4488
+ "name": "storage-decimal-timestamp-keeps-full-wire-string",
4489
+ "target": "/app/object-storage/folders/list",
4490
+ "timezone": "Asia/Shanghai",
4491
+ "status": "success",
4492
+ "data": {
4493
+ "folders": [
4494
+ {
4495
+ "id": "pictures",
4496
+ "createdAtMs": "1730615400123",
4497
+ "updatedAtMs": "1730615400123",
4498
+ "usedBytes": "1730615400123"
4499
+ }
4500
+ ]
4501
+ },
4502
+ "essential": {
4503
+ "folders": [
4504
+ {
4505
+ "id": "pictures",
4506
+ "createdAtMs": "2024-11-03 14:30:00.123 +08:00 (Asia/Shanghai)",
4507
+ "updatedAtMs": "2024-11-03 14:30:00.123 +08:00 (Asia/Shanghai)",
4508
+ "usedBytes": "1730615400123"
4509
+ }
4510
+ ]
4511
+ }
4512
+ },
4513
+ {
4514
+ "name": "card-skin-package-created-at-is-milliseconds",
4515
+ "target": "/app/ui/customize/cards/catalog/package/get",
4516
+ "timezone": "Asia/Shanghai",
4517
+ "status": "success",
4518
+ "data": {
4519
+ "revision": "fictional-revision",
4520
+ "value": {
4521
+ "packageId": "example.cards",
4522
+ "authorUserId": "user-1",
4523
+ "name": "Example",
4524
+ "description": "Example card package",
4525
+ "baseUi": "default",
4526
+ "createdAt": 1730615400123
4527
+ }
4528
+ },
4529
+ "essential": {
4530
+ "revision": "fictional-revision",
4531
+ "value": {
4532
+ "packageId": "example.cards",
4533
+ "authorUserId": "user-1",
4534
+ "name": "Example",
4535
+ "description": "Example card package",
4536
+ "baseUi": "default",
4537
+ "createdAt": "2024-11-03 14:30:00.123 +08:00 (Asia/Shanghai)"
4538
+ }
4539
+ }
3909
4540
  }
3910
4541
  ]