PR #544's change, ported onto the api_v3 package split (#553). Identical
behaviour; only the placement of the new code differs.
The original added 508 lines to web_interface/blueprints/api_v3.py, which #553
deletes, so every hunk of it would conflict irreconcilably. Ported by AST:
26 new top-level items sorted to where the split puts each kind --
__init__.py 2 imports, 11 constants, 7 helpers
starlark.py 4 routes (/starlark/editor/{apps,status,start,stop})
misc.py 2 routes (/integrations/mqtt-bridge{,/config})
Everything outside api_v3.py -- the Tools partial, the installer scripts, the
JS tests -- applied unchanged.
Routes: 111 from the split plus these 6 = 117, and the url-map snapshot is
regenerated to match, which is exactly what test_api_v3_url_map.py is designed
to make you do when routes are added.
Full Python suite: 4,278 passed, 68 skipped, 0 failed. The JS tests this PR
ships could not be run here -- node is not installed on this machine -- so
test/js/dom/test_tools_sections.js is unverified.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RRtqXDCnvnY6EQwhT5CV9