@mhome/app-facade-protocol 1.59.0 → 1.61.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.
@@ -781,75 +781,6 @@
781
781
  ]
782
782
  }
783
783
  },
784
- {
785
- "name": "device-cli-full-list-keeps-details",
786
- "target": "/app/device/list",
787
- "data": {
788
- "devices": [
789
- {
790
- "entityId": "d1",
791
- "name": "Lamp",
792
- "active": false,
793
- "roomId": "r1",
794
- "roomName": "Living room",
795
- "capabilities": [
796
- "state.onOff",
797
- "command.onOff"
798
- ],
799
- "group": false,
800
- "integration": "demo.device",
801
- "connectId": "connection-1",
802
- "manufacturerId": "demo",
803
- "manufacturerName": "Example maker",
804
- "online": false,
805
- "availabilityStatus": "unavailable",
806
- "twinTags": [
807
- "light"
808
- ],
809
- "states": [
810
- {
811
- "capabilityId": "state.onOff",
812
- "value": "off"
813
- }
814
- ],
815
- "memberIds": []
816
- }
817
- ]
818
- },
819
- "status": "success",
820
- "essential": {
821
- "devices": [
822
- {
823
- "entityId": "d1",
824
- "name": "Lamp",
825
- "active": false,
826
- "roomId": "r1",
827
- "roomName": "Living room",
828
- "capabilities": [
829
- "state.onOff",
830
- "command.onOff"
831
- ],
832
- "group": false,
833
- "integration": "demo.device",
834
- "connectId": "connection-1",
835
- "manufacturerId": "demo",
836
- "manufacturerName": "Example maker",
837
- "online": false,
838
- "availabilityStatus": "unavailable",
839
- "twinTags": [
840
- "light"
841
- ],
842
- "states": [
843
- {
844
- "capabilityId": "state.onOff",
845
- "value": "off"
846
- }
847
- ],
848
- "memberIds": []
849
- }
850
- ]
851
- }
852
- },
853
784
  {
854
785
  "name": "device-history-preserves-evidence",
855
786
  "target": "/app/device/history/list",
@@ -1074,5 +1005,2284 @@
1074
1005
  "essential": {
1075
1006
  "status": "notApplicable"
1076
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
+ }
2145
+ },
2146
+ {
2147
+ "name": "agent-llm-summary",
2148
+ "target": "/app/agent/llm/summary",
2149
+ "data": {
2150
+ "llmMode": "local",
2151
+ "effectiveMappings": [
2152
+ {
2153
+ "temperature": null,
2154
+ "reasoningEffort": null,
2155
+ "thinking": null,
2156
+ "fastMode": null,
2157
+ "useCase": "chat",
2158
+ "agentModelMode": "auto",
2159
+ "provider": "local_example",
2160
+ "model": "demo-chat",
2161
+ "source": "override",
2162
+ "configuredModel": "demo-chat"
2163
+ }
2164
+ ],
2165
+ "selectedProviders": {
2166
+ "chat": "local_example"
2167
+ },
2168
+ "defaultProviders": [
2169
+ {
2170
+ "useCase": "chat",
2171
+ "llmMode": "local",
2172
+ "provider": "local_example",
2173
+ "updatedAtMs": 123
2174
+ }
2175
+ ],
2176
+ "llmUseCases": [
2177
+ {
2178
+ "useCase": "chat",
2179
+ "displayName": "对话",
2180
+ "description": null,
2181
+ "ownerType": "system",
2182
+ "ownerId": "agent",
2183
+ "executionUseCase": "chat",
2184
+ "configurable": true,
2185
+ "active": true,
2186
+ "modes": [
2187
+ {
2188
+ "mode": "auto",
2189
+ "displayName": "自动",
2190
+ "description": null,
2191
+ "requirements": {
2192
+ "modelType": "chat",
2193
+ "requiredInputModalities": [
2194
+ "text"
2195
+ ],
2196
+ "optionalInputModalities": [],
2197
+ "requiredOutputModalities": [
2198
+ "text"
2199
+ ],
2200
+ "preferredFeatures": []
2201
+ }
2202
+ }
2203
+ ],
2204
+ "updatedAtMs": 1793059200000,
2205
+ "lastSeenAtMs": 1793059200000
2206
+ }
2207
+ ],
2208
+ "providerModels": [
2209
+ {
2210
+ "provider": "local_example",
2211
+ "models": [
2212
+ {
2213
+ "id": "demo-chat",
2214
+ "displayName": "示例对话模型",
2215
+ "modelType": "chat",
2216
+ "available": true,
2217
+ "deprecated": false,
2218
+ "successor": null,
2219
+ "supportsTools": true,
2220
+ "supportsVision": false,
2221
+ "contextWindowTokens": 32768,
2222
+ "inputModalities": [
2223
+ "text"
2224
+ ],
2225
+ "outputModalities": [
2226
+ "text"
2227
+ ],
2228
+ "chatConfig": null,
2229
+ "metadata": {
2230
+ "internalProviderModelId": "do-not-copy"
2231
+ },
2232
+ "generationControls": {
2233
+ "temperature": true,
2234
+ "temperatureMax": 1.0,
2235
+ "thinking": false,
2236
+ "reasoningEfforts": [
2237
+ "low",
2238
+ "high"
2239
+ ],
2240
+ "reasoningEffortDefault": "high",
2241
+ "fastMode": true
2242
+ }
2243
+ }
2244
+ ]
2245
+ }
2246
+ ],
2247
+ "canUseLocalRuntime": true,
2248
+ "localProviderSetup": {
2249
+ "canUseLocalRuntime": true,
2250
+ "providers": [
2251
+ {
2252
+ "provider": "local_example",
2253
+ "displayName": "示例 Provider",
2254
+ "runtime": "local",
2255
+ "modelSource": "catalog",
2256
+ "catalogProvider": "example",
2257
+ "executionProvider": "example",
2258
+ "useCases": [
2259
+ "chat"
2260
+ ],
2261
+ "allowedAgentModes": {
2262
+ "chat": [
2263
+ "auto"
2264
+ ]
2265
+ },
2266
+ "authKind": "api_key",
2267
+ "requiresCredential": true,
2268
+ "hasCredential": true,
2269
+ "authenticated": true,
2270
+ "ready": true,
2271
+ "status": "ready",
2272
+ "statusLabel": "Ready",
2273
+ "apiKey": null,
2274
+ "token": null,
2275
+ "accountId": null,
2276
+ "expiresAtMs": null,
2277
+ "metadata": null,
2278
+ "providerMetadata": null,
2279
+ "reason": null,
2280
+ "supportedUseCases": [
2281
+ "chat"
2282
+ ],
2283
+ "readinessByUseCase": {
2284
+ "chat": {
2285
+ "ready": true,
2286
+ "modelCount": 1,
2287
+ "reason": null
2288
+ }
2289
+ },
2290
+ "modelsByUseCase": {
2291
+ "chat": [
2292
+ {
2293
+ "id": "demo-chat",
2294
+ "displayName": "示例对话模型",
2295
+ "modelType": "chat",
2296
+ "provider": "local_example",
2297
+ "available": true,
2298
+ "deprecated": false,
2299
+ "successor": null,
2300
+ "supportsTools": true,
2301
+ "supportsVision": false,
2302
+ "contextWindowTokens": 32768,
2303
+ "inputModalities": [
2304
+ "text"
2305
+ ],
2306
+ "outputModalities": [
2307
+ "text"
2308
+ ],
2309
+ "chatConfig": null,
2310
+ "metadata": null
2311
+ }
2312
+ ]
2313
+ },
2314
+ "defaultMappingsByUseCase": {},
2315
+ "models": [
2316
+ {
2317
+ "id": "demo-chat",
2318
+ "displayName": "示例对话模型",
2319
+ "modelType": "chat",
2320
+ "provider": "local_example",
2321
+ "available": true,
2322
+ "deprecated": false,
2323
+ "successor": null,
2324
+ "supportsTools": true,
2325
+ "supportsVision": false,
2326
+ "contextWindowTokens": 32768,
2327
+ "inputModalities": [
2328
+ "text"
2329
+ ],
2330
+ "outputModalities": [
2331
+ "text"
2332
+ ],
2333
+ "chatConfig": null,
2334
+ "metadata": null
2335
+ }
2336
+ ],
2337
+ "defaultChatMappings": [],
2338
+ "defaultImagenMapping": null,
2339
+ "defaultTtsMapping": null,
2340
+ "defaultAsrMapping": null,
2341
+ "defaultDecisionMapping": null
2342
+ }
2343
+ ],
2344
+ "selectedProviders": {
2345
+ "chat": "local_example"
2346
+ }
2347
+ },
2348
+ "providers": [
2349
+ {
2350
+ "provider": "local_example",
2351
+ "displayName": "示例 Provider",
2352
+ "runtime": "local",
2353
+ "modelSource": "catalog",
2354
+ "catalogProvider": "example",
2355
+ "executionProvider": "example",
2356
+ "useCases": [
2357
+ "chat"
2358
+ ],
2359
+ "allowedAgentModes": {
2360
+ "chat": [
2361
+ "auto"
2362
+ ]
2363
+ },
2364
+ "authKind": "api_key",
2365
+ "requiresCredential": true,
2366
+ "hasCredential": true,
2367
+ "authenticated": true,
2368
+ "ready": true,
2369
+ "status": "ready",
2370
+ "statusLabel": "Ready",
2371
+ "apiKey": null,
2372
+ "token": null,
2373
+ "accountId": null,
2374
+ "expiresAtMs": null,
2375
+ "metadata": null,
2376
+ "providerMetadata": null,
2377
+ "reason": null,
2378
+ "supportedUseCases": [
2379
+ "chat"
2380
+ ],
2381
+ "readinessByUseCase": {
2382
+ "chat": {
2383
+ "ready": true,
2384
+ "modelCount": 1,
2385
+ "reason": null
2386
+ }
2387
+ },
2388
+ "modelsByUseCase": {
2389
+ "chat": [
2390
+ {
2391
+ "id": "demo-chat",
2392
+ "displayName": "示例对话模型",
2393
+ "modelType": "chat",
2394
+ "provider": "local_example",
2395
+ "available": true,
2396
+ "deprecated": false,
2397
+ "successor": null,
2398
+ "supportsTools": true,
2399
+ "supportsVision": false,
2400
+ "contextWindowTokens": 32768,
2401
+ "inputModalities": [
2402
+ "text"
2403
+ ],
2404
+ "outputModalities": [
2405
+ "text"
2406
+ ],
2407
+ "chatConfig": null,
2408
+ "metadata": null
2409
+ }
2410
+ ]
2411
+ },
2412
+ "defaultMappingsByUseCase": {},
2413
+ "models": [
2414
+ {
2415
+ "id": "demo-chat",
2416
+ "displayName": "示例对话模型",
2417
+ "modelType": "chat",
2418
+ "provider": "local_example",
2419
+ "available": true,
2420
+ "deprecated": false,
2421
+ "successor": null,
2422
+ "supportsTools": true,
2423
+ "supportsVision": false,
2424
+ "contextWindowTokens": 32768,
2425
+ "inputModalities": [
2426
+ "text"
2427
+ ],
2428
+ "outputModalities": [
2429
+ "text"
2430
+ ],
2431
+ "chatConfig": null,
2432
+ "metadata": null
2433
+ }
2434
+ ],
2435
+ "defaultChatMappings": [],
2436
+ "defaultImagenMapping": null,
2437
+ "defaultTtsMapping": null,
2438
+ "defaultAsrMapping": null,
2439
+ "defaultDecisionMapping": null
2440
+ }
2441
+ ]
2442
+ },
2443
+ "status": "success",
2444
+ "essential": {
2445
+ "llmMode": "local",
2446
+ "effectiveMappings": [
2447
+ {
2448
+ "temperature": null,
2449
+ "reasoningEffort": null,
2450
+ "thinking": null,
2451
+ "fastMode": null,
2452
+ "useCase": "chat",
2453
+ "agentModelMode": "auto",
2454
+ "provider": "local_example",
2455
+ "model": "demo-chat",
2456
+ "source": "override",
2457
+ "configuredModel": "demo-chat"
2458
+ }
2459
+ ],
2460
+ "selectedProviders": {
2461
+ "chat": "local_example"
2462
+ },
2463
+ "defaultProviders": [
2464
+ {
2465
+ "useCase": "chat",
2466
+ "llmMode": "local",
2467
+ "provider": "local_example"
2468
+ }
2469
+ ],
2470
+ "llmUseCases": [
2471
+ {
2472
+ "useCase": "chat",
2473
+ "displayName": "对话",
2474
+ "description": null,
2475
+ "configurable": true,
2476
+ "active": true,
2477
+ "modes": [
2478
+ {
2479
+ "mode": "auto",
2480
+ "displayName": "自动",
2481
+ "description": null,
2482
+ "requirements": {
2483
+ "modelType": "chat",
2484
+ "requiredInputModalities": [
2485
+ "text"
2486
+ ],
2487
+ "optionalInputModalities": [],
2488
+ "requiredOutputModalities": [
2489
+ "text"
2490
+ ],
2491
+ "preferredFeatures": []
2492
+ }
2493
+ }
2494
+ ]
2495
+ }
2496
+ ],
2497
+ "providerModels": [
2498
+ {
2499
+ "provider": "local_example",
2500
+ "models": [
2501
+ {
2502
+ "id": "demo-chat",
2503
+ "displayName": "示例对话模型",
2504
+ "modelType": "chat",
2505
+ "available": true,
2506
+ "deprecated": false,
2507
+ "successor": null,
2508
+ "supportsTools": true,
2509
+ "supportsVision": false,
2510
+ "contextWindowTokens": 32768,
2511
+ "inputModalities": [
2512
+ "text"
2513
+ ],
2514
+ "outputModalities": [
2515
+ "text"
2516
+ ],
2517
+ "generationControls": {
2518
+ "temperature": true,
2519
+ "temperatureMax": 1.0,
2520
+ "thinking": false,
2521
+ "reasoningEfforts": [
2522
+ "low",
2523
+ "high"
2524
+ ],
2525
+ "reasoningEffortDefault": "high",
2526
+ "fastMode": true
2527
+ }
2528
+ }
2529
+ ]
2530
+ }
2531
+ ],
2532
+ "canUseLocalRuntime": true,
2533
+ "providers": [
2534
+ {
2535
+ "provider": "local_example",
2536
+ "displayName": "示例 Provider",
2537
+ "runtime": "local",
2538
+ "useCases": [
2539
+ "chat"
2540
+ ],
2541
+ "allowedAgentModes": {
2542
+ "chat": [
2543
+ "auto"
2544
+ ]
2545
+ },
2546
+ "authKind": "api_key",
2547
+ "requiresCredential": true,
2548
+ "hasCredential": true,
2549
+ "authenticated": true,
2550
+ "ready": true,
2551
+ "status": "ready",
2552
+ "reason": null,
2553
+ "supportedUseCases": [
2554
+ "chat"
2555
+ ],
2556
+ "readinessByUseCase": {
2557
+ "chat": {
2558
+ "ready": true,
2559
+ "modelCount": 1,
2560
+ "reason": null
2561
+ }
2562
+ }
2563
+ }
2564
+ ]
2565
+ }
2566
+ },
2567
+ {
2568
+ "name": "agent-provider-unavailable",
2569
+ "target": "/app/agent/llm/provider/list",
2570
+ "data": {
2571
+ "providerModels": [
2572
+ {
2573
+ "provider": "local_example",
2574
+ "models": [
2575
+ {
2576
+ "id": "demo-chat",
2577
+ "displayName": "示例对话模型",
2578
+ "modelType": "chat",
2579
+ "available": true,
2580
+ "deprecated": false,
2581
+ "successor": null,
2582
+ "supportsTools": true,
2583
+ "supportsVision": false,
2584
+ "contextWindowTokens": 32768,
2585
+ "inputModalities": [
2586
+ "text"
2587
+ ],
2588
+ "outputModalities": [
2589
+ "text"
2590
+ ],
2591
+ "chatConfig": null,
2592
+ "metadata": null,
2593
+ "generationControls": {
2594
+ "temperature": false,
2595
+ "thinking": false,
2596
+ "fastMode": false
2597
+ }
2598
+ }
2599
+ ]
2600
+ }
2601
+ ],
2602
+ "canUseLocalRuntime": true,
2603
+ "localProviderSetup": {
2604
+ "canUseLocalRuntime": true,
2605
+ "providers": [
2606
+ {
2607
+ "provider": "local_example",
2608
+ "displayName": "示例 Provider",
2609
+ "runtime": "local",
2610
+ "modelSource": "catalog",
2611
+ "catalogProvider": "example",
2612
+ "executionProvider": "example",
2613
+ "useCases": [
2614
+ "chat"
2615
+ ],
2616
+ "allowedAgentModes": {
2617
+ "chat": [
2618
+ "auto"
2619
+ ]
2620
+ },
2621
+ "authKind": "api_key",
2622
+ "requiresCredential": true,
2623
+ "hasCredential": true,
2624
+ "authenticated": true,
2625
+ "ready": true,
2626
+ "status": "ready",
2627
+ "statusLabel": "Ready",
2628
+ "apiKey": null,
2629
+ "token": null,
2630
+ "accountId": null,
2631
+ "expiresAtMs": null,
2632
+ "metadata": null,
2633
+ "providerMetadata": null,
2634
+ "reason": null,
2635
+ "supportedUseCases": [
2636
+ "chat"
2637
+ ],
2638
+ "readinessByUseCase": {
2639
+ "chat": {
2640
+ "ready": true,
2641
+ "modelCount": 1,
2642
+ "reason": null
2643
+ }
2644
+ },
2645
+ "modelsByUseCase": {
2646
+ "chat": [
2647
+ {
2648
+ "id": "demo-chat",
2649
+ "displayName": "示例对话模型",
2650
+ "modelType": "chat",
2651
+ "provider": "local_example",
2652
+ "available": true,
2653
+ "deprecated": false,
2654
+ "successor": null,
2655
+ "supportsTools": true,
2656
+ "supportsVision": false,
2657
+ "contextWindowTokens": 32768,
2658
+ "inputModalities": [
2659
+ "text"
2660
+ ],
2661
+ "outputModalities": [
2662
+ "text"
2663
+ ],
2664
+ "chatConfig": null,
2665
+ "metadata": null
2666
+ }
2667
+ ]
2668
+ },
2669
+ "defaultMappingsByUseCase": {},
2670
+ "models": [
2671
+ {
2672
+ "id": "demo-chat",
2673
+ "displayName": "示例对话模型",
2674
+ "modelType": "chat",
2675
+ "provider": "local_example",
2676
+ "available": true,
2677
+ "deprecated": false,
2678
+ "successor": null,
2679
+ "supportsTools": true,
2680
+ "supportsVision": false,
2681
+ "contextWindowTokens": 32768,
2682
+ "inputModalities": [
2683
+ "text"
2684
+ ],
2685
+ "outputModalities": [
2686
+ "text"
2687
+ ],
2688
+ "chatConfig": null,
2689
+ "metadata": null
2690
+ }
2691
+ ],
2692
+ "defaultChatMappings": [],
2693
+ "defaultImagenMapping": null,
2694
+ "defaultTtsMapping": null,
2695
+ "defaultAsrMapping": null,
2696
+ "defaultDecisionMapping": null
2697
+ }
2698
+ ]
2699
+ },
2700
+ "providers": [
2701
+ {
2702
+ "provider": "local_example",
2703
+ "displayName": "示例 Provider",
2704
+ "runtime": "local",
2705
+ "modelSource": "catalog",
2706
+ "catalogProvider": "example",
2707
+ "executionProvider": "example",
2708
+ "useCases": [
2709
+ "chat"
2710
+ ],
2711
+ "allowedAgentModes": {
2712
+ "chat": [
2713
+ "auto"
2714
+ ]
2715
+ },
2716
+ "authKind": "api_key",
2717
+ "requiresCredential": true,
2718
+ "hasCredential": false,
2719
+ "authenticated": true,
2720
+ "ready": false,
2721
+ "status": "login_required",
2722
+ "statusLabel": "Ready",
2723
+ "apiKey": null,
2724
+ "token": null,
2725
+ "accountId": null,
2726
+ "expiresAtMs": null,
2727
+ "metadata": null,
2728
+ "providerMetadata": null,
2729
+ "reason": "Login expired",
2730
+ "supportedUseCases": [
2731
+ "chat"
2732
+ ],
2733
+ "readinessByUseCase": {
2734
+ "chat": {
2735
+ "ready": true,
2736
+ "modelCount": 1,
2737
+ "reason": null
2738
+ }
2739
+ },
2740
+ "modelsByUseCase": {
2741
+ "chat": [
2742
+ {
2743
+ "id": "demo-chat",
2744
+ "displayName": "示例对话模型",
2745
+ "modelType": "chat",
2746
+ "provider": "local_example",
2747
+ "available": true,
2748
+ "deprecated": false,
2749
+ "successor": null,
2750
+ "supportsTools": true,
2751
+ "supportsVision": false,
2752
+ "contextWindowTokens": 32768,
2753
+ "inputModalities": [
2754
+ "text"
2755
+ ],
2756
+ "outputModalities": [
2757
+ "text"
2758
+ ],
2759
+ "chatConfig": null,
2760
+ "metadata": null
2761
+ }
2762
+ ]
2763
+ },
2764
+ "defaultMappingsByUseCase": {},
2765
+ "models": [
2766
+ {
2767
+ "id": "demo-chat",
2768
+ "displayName": "示例对话模型",
2769
+ "modelType": "chat",
2770
+ "provider": "local_example",
2771
+ "available": true,
2772
+ "deprecated": false,
2773
+ "successor": null,
2774
+ "supportsTools": true,
2775
+ "supportsVision": false,
2776
+ "contextWindowTokens": 32768,
2777
+ "inputModalities": [
2778
+ "text"
2779
+ ],
2780
+ "outputModalities": [
2781
+ "text"
2782
+ ],
2783
+ "chatConfig": null,
2784
+ "metadata": null
2785
+ }
2786
+ ],
2787
+ "defaultChatMappings": [],
2788
+ "defaultImagenMapping": null,
2789
+ "defaultTtsMapping": null,
2790
+ "defaultAsrMapping": null,
2791
+ "defaultDecisionMapping": null,
2792
+ "nodeType": "llm",
2793
+ "nodeBound": true,
2794
+ "nodeOnline": false
2795
+ }
2796
+ ]
2797
+ },
2798
+ "status": "success",
2799
+ "essential": {
2800
+ "providerModels": [
2801
+ {
2802
+ "provider": "local_example",
2803
+ "models": [
2804
+ {
2805
+ "id": "demo-chat",
2806
+ "displayName": "示例对话模型",
2807
+ "modelType": "chat",
2808
+ "available": true,
2809
+ "deprecated": false,
2810
+ "successor": null,
2811
+ "supportsTools": true,
2812
+ "supportsVision": false,
2813
+ "contextWindowTokens": 32768,
2814
+ "inputModalities": [
2815
+ "text"
2816
+ ],
2817
+ "outputModalities": [
2818
+ "text"
2819
+ ],
2820
+ "generationControls": {
2821
+ "temperature": false,
2822
+ "thinking": false,
2823
+ "fastMode": false
2824
+ }
2825
+ }
2826
+ ]
2827
+ }
2828
+ ],
2829
+ "canUseLocalRuntime": true,
2830
+ "providers": [
2831
+ {
2832
+ "provider": "local_example",
2833
+ "displayName": "示例 Provider",
2834
+ "runtime": "local",
2835
+ "useCases": [
2836
+ "chat"
2837
+ ],
2838
+ "allowedAgentModes": {
2839
+ "chat": [
2840
+ "auto"
2841
+ ]
2842
+ },
2843
+ "authKind": "api_key",
2844
+ "requiresCredential": true,
2845
+ "hasCredential": false,
2846
+ "authenticated": true,
2847
+ "ready": false,
2848
+ "status": "login_required",
2849
+ "reason": "Login expired",
2850
+ "supportedUseCases": [
2851
+ "chat"
2852
+ ],
2853
+ "readinessByUseCase": {
2854
+ "chat": {
2855
+ "ready": true,
2856
+ "modelCount": 1,
2857
+ "reason": null
2858
+ }
2859
+ },
2860
+ "nodeType": "llm",
2861
+ "nodeBound": true,
2862
+ "nodeOnline": false
2863
+ }
2864
+ ]
2865
+ }
2866
+ },
2867
+ {
2868
+ "name": "agent-provider-cloud",
2869
+ "target": "/app/agent/llm/provider/list",
2870
+ "data": {
2871
+ "canUseLocalRuntime": false,
2872
+ "localProviderSetup": null,
2873
+ "providers": [
2874
+ {
2875
+ "provider": "cloud-example",
2876
+ "displayName": "Cloud Example",
2877
+ "runtime": "cloud",
2878
+ "modelSource": "cloud_bridge",
2879
+ "authKind": "none",
2880
+ "catalogProvider": "example",
2881
+ "executionProvider": "example",
2882
+ "useCases": [
2883
+ "chat"
2884
+ ],
2885
+ "allowedAgentModes": {
2886
+ "chat": [
2887
+ "auto"
2888
+ ]
2889
+ },
2890
+ "metadata": {
2891
+ "internal": "x"
2892
+ }
2893
+ }
2894
+ ],
2895
+ "providerModels": [
2896
+ {
2897
+ "provider": "cloud-example",
2898
+ "models": [
2899
+ {
2900
+ "id": "demo-chat",
2901
+ "displayName": "示例对话模型",
2902
+ "modelType": "chat",
2903
+ "available": true,
2904
+ "deprecated": false,
2905
+ "successor": null,
2906
+ "supportsTools": true,
2907
+ "supportsVision": false,
2908
+ "contextWindowTokens": 32768,
2909
+ "inputModalities": [
2910
+ "text"
2911
+ ],
2912
+ "outputModalities": [
2913
+ "text"
2914
+ ],
2915
+ "chatConfig": null,
2916
+ "metadata": {
2917
+ "internalProviderModelId": "do-not-copy"
2918
+ },
2919
+ "generationControls": {
2920
+ "temperature": true,
2921
+ "temperatureMax": 1.0,
2922
+ "thinking": false,
2923
+ "reasoningEfforts": [
2924
+ "low",
2925
+ "high"
2926
+ ],
2927
+ "reasoningEffortDefault": "high",
2928
+ "fastMode": true
2929
+ }
2930
+ }
2931
+ ]
2932
+ }
2933
+ ]
2934
+ },
2935
+ "status": "success",
2936
+ "essential": {
2937
+ "canUseLocalRuntime": false,
2938
+ "providers": [
2939
+ {
2940
+ "provider": "cloud-example",
2941
+ "displayName": "Cloud Example",
2942
+ "runtime": "cloud",
2943
+ "authKind": "none",
2944
+ "useCases": [
2945
+ "chat"
2946
+ ],
2947
+ "allowedAgentModes": {
2948
+ "chat": [
2949
+ "auto"
2950
+ ]
2951
+ }
2952
+ }
2953
+ ],
2954
+ "providerModels": [
2955
+ {
2956
+ "provider": "cloud-example",
2957
+ "models": [
2958
+ {
2959
+ "id": "demo-chat",
2960
+ "displayName": "示例对话模型",
2961
+ "modelType": "chat",
2962
+ "available": true,
2963
+ "deprecated": false,
2964
+ "successor": null,
2965
+ "supportsTools": true,
2966
+ "supportsVision": false,
2967
+ "contextWindowTokens": 32768,
2968
+ "inputModalities": [
2969
+ "text"
2970
+ ],
2971
+ "outputModalities": [
2972
+ "text"
2973
+ ],
2974
+ "generationControls": {
2975
+ "temperature": true,
2976
+ "temperatureMax": 1.0,
2977
+ "thinking": false,
2978
+ "reasoningEfforts": [
2979
+ "low",
2980
+ "high"
2981
+ ],
2982
+ "reasoningEffortDefault": "high",
2983
+ "fastMode": true
2984
+ }
2985
+ }
2986
+ ]
2987
+ }
2988
+ ]
2989
+ }
2990
+ },
2991
+ {
2992
+ "name": "agent-mappings",
2993
+ "target": "/app/agent/llm/mapping/list",
2994
+ "data": {
2995
+ "effectiveMappings": [
2996
+ {
2997
+ "temperature": null,
2998
+ "reasoningEffort": null,
2999
+ "thinking": null,
3000
+ "fastMode": null,
3001
+ "useCase": "chat",
3002
+ "agentModelMode": "auto",
3003
+ "provider": "local_example",
3004
+ "model": "demo-chat",
3005
+ "source": "override",
3006
+ "configuredModel": "demo-chat"
3007
+ }
3008
+ ],
3009
+ "selectedProviders": {
3010
+ "chat": "local_example"
3011
+ },
3012
+ "defaultProviders": [],
3013
+ "llmUseCases": [
3014
+ {
3015
+ "useCase": "chat",
3016
+ "displayName": "对话",
3017
+ "description": null,
3018
+ "ownerType": "system",
3019
+ "ownerId": "agent",
3020
+ "executionUseCase": "chat",
3021
+ "configurable": true,
3022
+ "active": true,
3023
+ "modes": [
3024
+ {
3025
+ "mode": "auto",
3026
+ "displayName": "自动",
3027
+ "description": null,
3028
+ "requirements": {
3029
+ "modelType": "chat",
3030
+ "requiredInputModalities": [
3031
+ "text"
3032
+ ],
3033
+ "optionalInputModalities": [],
3034
+ "requiredOutputModalities": [
3035
+ "text"
3036
+ ],
3037
+ "preferredFeatures": []
3038
+ }
3039
+ }
3040
+ ],
3041
+ "updatedAtMs": 1793059200000,
3042
+ "lastSeenAtMs": 1793059200000
3043
+ }
3044
+ ]
3045
+ },
3046
+ "status": "success",
3047
+ "essential": {
3048
+ "effectiveMappings": [
3049
+ {
3050
+ "temperature": null,
3051
+ "reasoningEffort": null,
3052
+ "thinking": null,
3053
+ "fastMode": null,
3054
+ "useCase": "chat",
3055
+ "agentModelMode": "auto",
3056
+ "provider": "local_example",
3057
+ "model": "demo-chat",
3058
+ "source": "override",
3059
+ "configuredModel": "demo-chat"
3060
+ }
3061
+ ],
3062
+ "selectedProviders": {
3063
+ "chat": "local_example"
3064
+ },
3065
+ "defaultProviders": [],
3066
+ "llmUseCases": [
3067
+ {
3068
+ "useCase": "chat",
3069
+ "displayName": "对话",
3070
+ "description": null,
3071
+ "configurable": true,
3072
+ "active": true,
3073
+ "modes": [
3074
+ {
3075
+ "mode": "auto",
3076
+ "displayName": "自动",
3077
+ "description": null,
3078
+ "requirements": {
3079
+ "modelType": "chat",
3080
+ "requiredInputModalities": [
3081
+ "text"
3082
+ ],
3083
+ "optionalInputModalities": [],
3084
+ "requiredOutputModalities": [
3085
+ "text"
3086
+ ],
3087
+ "preferredFeatures": []
3088
+ }
3089
+ }
3090
+ ]
3091
+ }
3092
+ ]
3093
+ }
3094
+ },
3095
+ {
3096
+ "name": "agent-session-default",
3097
+ "target": "/app/agent/session/get",
3098
+ "data": {
3099
+ "surfaceId": "cs1:cp:dXNlci1kZW1v",
3100
+ "idleTimeoutMinutes": 30,
3101
+ "version": 0,
3102
+ "source": "system",
3103
+ "updatedAtMs": null,
3104
+ "serverNowUnixMs": 1793059200000
3105
+ },
3106
+ "status": "success",
3107
+ "essential": {
3108
+ "idleTimeoutMinutes": 30,
3109
+ "source": "system"
3110
+ }
3111
+ },
3112
+ {
3113
+ "name": "agent-session-saved",
3114
+ "target": "/app/agent/session/save",
3115
+ "data": {
3116
+ "surfaceId": "cs1:cp:dXNlci1kZW1v",
3117
+ "idleTimeoutMinutes": 60,
3118
+ "version": 1,
3119
+ "source": "user",
3120
+ "updatedAtMs": 1793059260000,
3121
+ "serverNowUnixMs": 1793059260000
3122
+ },
3123
+ "status": "success",
3124
+ "essential": {
3125
+ "idleTimeoutMinutes": 60,
3126
+ "source": "user"
3127
+ }
3128
+ },
3129
+ {
3130
+ "name": "agent-memory-text",
3131
+ "target": "/app/agent/memory/get",
3132
+ "data": {
3133
+ "content": "客厅空调设定为 26°C 前先征求用户同意。"
3134
+ },
3135
+ "status": "success",
3136
+ "essential": {
3137
+ "content": "客厅空调设定为 26°C 前先征求用户同意。"
3138
+ }
3139
+ },
3140
+ {
3141
+ "name": "agent-identity-text",
3142
+ "target": "/app/agent/identity/get",
3143
+ "data": {
3144
+ "content": "使用中文,回答简洁。"
3145
+ },
3146
+ "status": "success",
3147
+ "essential": {
3148
+ "content": "使用中文,回答简洁。"
3149
+ }
3150
+ },
3151
+ {
3152
+ "name": "agent-llm-usage",
3153
+ "target": "/app/agent/llm/usage",
3154
+ "data": {
3155
+ "audience": "space",
3156
+ "timezone": "UTC",
3157
+ "fromDate": "2026-10-01",
3158
+ "toDate": "2026-10-27",
3159
+ "rows": [
3160
+ {
3161
+ "date": "2026-10-27",
3162
+ "provider": "local_example",
3163
+ "model": "demo-chat",
3164
+ "modelType": "chat",
3165
+ "inputTokens": 1200,
3166
+ "outputTokens": 300,
3167
+ "costMicros": 2400
3168
+ }
3169
+ ]
3170
+ },
3171
+ "status": "success",
3172
+ "essential": {
3173
+ "audience": "space",
3174
+ "timezone": "UTC",
3175
+ "fromDate": "2026-10-01",
3176
+ "toDate": "2026-10-27",
3177
+ "rows": [
3178
+ {
3179
+ "date": "2026-10-27",
3180
+ "provider": "local_example",
3181
+ "model": "demo-chat",
3182
+ "modelType": "chat",
3183
+ "inputTokens": 1200,
3184
+ "outputTokens": 300,
3185
+ "costMicros": 2400
3186
+ }
3187
+ ]
3188
+ }
3189
+ },
3190
+ {
3191
+ "name": "agent-llm-usage-unavailable",
3192
+ "target": "/app/agent/llm/usage",
3193
+ "data": {
3194
+ "available": false
3195
+ },
3196
+ "status": "success",
3197
+ "essential": {
3198
+ "available": false
3199
+ }
3200
+ },
3201
+ {
3202
+ "name": "agent-credit-usage",
3203
+ "target": "/app/agent/credit/usage",
3204
+ "data": {
3205
+ "audience": "space",
3206
+ "timezone": "UTC",
3207
+ "fromDate": "2026-10-01",
3208
+ "toDate": "2026-10-27",
3209
+ "trackedFrom": "2026-09-01T00:00:00Z",
3210
+ "rows": [
3211
+ {
3212
+ "date": "2026-10-27",
3213
+ "source": "agent",
3214
+ "credits": 120
3215
+ },
3216
+ {
3217
+ "date": "2026-10-27",
3218
+ "source": "automation",
3219
+ "credits": 30
3220
+ }
3221
+ ]
3222
+ },
3223
+ "status": "success",
3224
+ "essential": {
3225
+ "audience": "space",
3226
+ "timezone": "UTC",
3227
+ "fromDate": "2026-10-01",
3228
+ "toDate": "2026-10-27",
3229
+ "trackedFrom": "2026-09-01T00:00:00Z",
3230
+ "rows": [
3231
+ {
3232
+ "date": "2026-10-27",
3233
+ "source": "agent",
3234
+ "credits": 120
3235
+ },
3236
+ {
3237
+ "date": "2026-10-27",
3238
+ "source": "automation",
3239
+ "credits": 30
3240
+ }
3241
+ ]
3242
+ }
3243
+ },
3244
+ {
3245
+ "name": "agent-mapping-save",
3246
+ "target": "/app/agent/llm/mapping/save",
3247
+ "data": {
3248
+ "success": true
3249
+ },
3250
+ "status": "success",
3251
+ "essential": {
3252
+ "success": true
3253
+ }
3254
+ },
3255
+ {
3256
+ "name": "agent-identity-multiline",
3257
+ "target": "/app/agent/identity/get",
3258
+ "data": {
3259
+ "content": "# Preferences\n\n- Keep this complete.\n- Preserve indentation:\n second line\n"
3260
+ },
3261
+ "status": "success",
3262
+ "essential": {
3263
+ "content": "# Preferences\n\n- Keep this complete.\n- Preserve indentation:\n second line\n"
3264
+ }
3265
+ },
3266
+ {
3267
+ "name": "agent-memory-multiline",
3268
+ "target": "/app/agent/memory/get",
3269
+ "data": {
3270
+ "content": "# Preferences\n\n- Keep this complete.\n- Preserve indentation:\n second line\n"
3271
+ },
3272
+ "status": "success",
3273
+ "essential": {
3274
+ "content": "# Preferences\n\n- Keep this complete.\n- Preserve indentation:\n second line\n"
3275
+ }
3276
+ },
3277
+ {
3278
+ "name": "agent-llm-mode",
3279
+ "target": "/app/agent/mode/get",
3280
+ "data": {
3281
+ "llmMode": "local"
3282
+ },
3283
+ "status": "success",
3284
+ "essential": {
3285
+ "llmMode": "local"
3286
+ }
1077
3287
  }
1078
3288
  ]