Commit 46065c9
committed
Expose USB passthrough over REST API and first-class MCP tools
Extract the passthrough commands into a single source of truth
(passthrough/commands.py) and drive every surface from it:
- REST: /usb/passthrough/{status,enable}, /usb/acl{,/add,/remove,/default},
/usb/loopback/{devices,open}, /usb/remote/{devices,open} (bearer-gated;
ACL export/import deliberately omitted to avoid server-side file paths).
OpenAPI spec updated.
- MCP: first-class ac_usb_* tools with JSON Schemas and read-only/non-
destructive annotations, so an agent calls them directly instead of via
ac_execute_actions.
- The AC_usb_* executor adapters now delegate to the same module.
Tests cover REST (auth, 400/500 paths) and MCP (registration, schema,
read-only filtering). Docs updated; import je_auto_control stays Qt-free.1 parent 3b35b47 commit 46065c9
11 files changed
Lines changed: 775 additions & 88 deletions
File tree
- docs/source
- Eng/doc/operations_layer
- Zh/doc/operations_layer
- je_auto_control/utils
- executor
- mcp_server/tools
- rest_api
- usb/passthrough
- test/unit_test/headless
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
304 | 313 | | |
305 | 314 | | |
306 | 315 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
284 | 293 | | |
285 | 294 | | |
286 | 295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
957 | 957 | | |
958 | 958 | | |
959 | 959 | | |
960 | | - | |
961 | | - | |
| 960 | + | |
962 | 961 | | |
963 | 962 | | |
964 | | - | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
969 | | - | |
| 963 | + | |
| 964 | + | |
970 | 965 | | |
971 | 966 | | |
972 | 967 | | |
973 | | - | |
974 | | - | |
| 968 | + | |
| 969 | + | |
975 | 970 | | |
976 | 971 | | |
977 | 972 | | |
978 | | - | |
979 | | - | |
980 | | - | |
981 | | - | |
982 | | - | |
983 | | - | |
984 | | - | |
| 973 | + | |
| 974 | + | |
985 | 975 | | |
986 | 976 | | |
987 | 977 | | |
988 | 978 | | |
989 | 979 | | |
990 | | - | |
991 | | - | |
992 | | - | |
993 | | - | |
994 | | - | |
995 | | - | |
996 | | - | |
997 | | - | |
998 | | - | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
999 | 985 | | |
1000 | 986 | | |
1001 | 987 | | |
1002 | 988 | | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
1008 | | - | |
| 989 | + | |
| 990 | + | |
1009 | 991 | | |
1010 | 992 | | |
1011 | 993 | | |
1012 | | - | |
1013 | | - | |
1014 | | - | |
1015 | | - | |
| 994 | + | |
| 995 | + | |
1016 | 996 | | |
1017 | 997 | | |
1018 | 998 | | |
1019 | | - | |
1020 | | - | |
1021 | | - | |
1022 | | - | |
| 999 | + | |
| 1000 | + | |
1023 | 1001 | | |
1024 | 1002 | | |
1025 | 1003 | | |
1026 | | - | |
1027 | | - | |
1028 | | - | |
1029 | | - | |
1030 | | - | |
1031 | | - | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
1035 | | - | |
1036 | | - | |
1037 | | - | |
1038 | | - | |
1039 | | - | |
1040 | | - | |
1041 | | - | |
1042 | | - | |
1043 | | - | |
1044 | | - | |
1045 | | - | |
1046 | | - | |
1047 | | - | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
| 1004 | + | |
| 1005 | + | |
1051 | 1006 | | |
1052 | 1007 | | |
1053 | 1008 | | |
1054 | | - | |
1055 | | - | |
1056 | | - | |
1057 | | - | |
| 1009 | + | |
| 1010 | + | |
1058 | 1011 | | |
1059 | 1012 | | |
1060 | 1013 | | |
1061 | 1014 | | |
1062 | | - | |
1063 | | - | |
1064 | | - | |
1065 | | - | |
1066 | | - | |
1067 | | - | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
| 1015 | + | |
| 1016 | + | |
1075 | 1017 | | |
1076 | 1018 | | |
1077 | 1019 | | |
1078 | | - | |
1079 | | - | |
| 1020 | + | |
| 1021 | + | |
1080 | 1022 | | |
1081 | 1023 | | |
1082 | 1024 | | |
1083 | 1025 | | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
| 1026 | + | |
| 1027 | + | |
1088 | 1028 | | |
1089 | 1029 | | |
1090 | 1030 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1779 | 1779 | | |
1780 | 1780 | | |
1781 | 1781 | | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
1782 | 1889 | | |
1783 | 1890 | | |
1784 | 1891 | | |
| |||
1789 | 1896 | | |
1790 | 1897 | | |
1791 | 1898 | | |
| 1899 | + | |
1792 | 1900 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1535 | 1535 | | |
1536 | 1536 | | |
1537 | 1537 | | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
0 commit comments