feat: integrate learned peripherals into mode creation

Expose safe NFC-bound infrared actions to semantic scene composition, require flashing-light actions for romantic and Mid-Autumn modes, and preserve mixed CAN/IR mode flows.

Fix NFC device reassignment and retry extension/toy MQTT publication when an active card's binding catalog changes.
This commit is contained in:
Miayui
2026-09-20 16:37:19 +08:00
parent 904f5f8a6c
commit bfff1b515c
25 changed files with 3073 additions and 102 deletions
+3 -3
View File
@@ -1013,7 +1013,7 @@ operations:
) as response:
speech_worklet = response.read().decode("utf-8")
with self.opener.open(
f"{self.base_url}/self-extension.js?v=pet-settings-53-performance", timeout=3
f"{self.base_url}/self-extension.js?v=nfc-mqtt-56", timeout=3
) as response:
extension_script = response.read().decode("utf-8")
with self.opener.open(
@@ -1084,7 +1084,7 @@ operations:
self.assertIn('<body class="console-v2">', html)
self.assertIn('id="v2BootScreen"', template)
self.assertIn('正在加载车机控制与实时状态', template)
self.assertIn('src="/self-extension.js?v=pet-settings-53-performance"', html)
self.assertIn('src="/self-extension.js?v=nfc-mqtt-56"', html)
self.assertIn('import "../self-extension.css";', vite_entry)
self.assertNotIn("self-calibration", template)
self.assertNotIn("self-repair", template)
@@ -1385,7 +1385,7 @@ operations:
self.assertIn('canvas.addEventListener("webglcontextlost"', app_script)
self.assertIn('"cognitive-agent:module-change"', app_script)
self.assertIn(
'const CACHE_VERSION = "cognitive-agent-pad-v324-firmware-notification"',
'const CACHE_VERSION = "cognitive-agent-pad-v328-nfc-mqtt"',
service_worker,
)
self.assertIn('/console-v2.css?v=delivery-state-69', service_worker)