feat(zara-home): add bounded Home Assistant HTTP transport #221

Open
nsaspy wants to merge 30 commits from feat/zara-home-ha-transport into main
Owner

Implements #512 as one bounded provider slice.

  • adds production Home Assistant HTTP transport with bearer auth
  • confines base URL and request paths
  • bounds response size and request timeout
  • handles structured provider failures without secret-bearing error strings
  • permits exactly one refresh callback + retry after 401
  • configures zara-home from ZARA_HOME_ASSISTANT_URL + ZARA_HOME_ASSISTANT_TOKEN
  • keeps SmartThings credentials/provider authority out of the plugin and in Core #202
  • preserves HomeService read-back as the only source of mutation verification

Tests were added first in test_home_assistant_transport.py using a deterministic local HTTP server.

Worker mailbox: #505

Implements #512 as one bounded provider slice. - adds production Home Assistant HTTP transport with bearer auth - confines base URL and request paths - bounds response size and request timeout - handles structured provider failures without secret-bearing error strings - permits exactly one refresh callback + retry after 401 - configures zara-home from `ZARA_HOME_ASSISTANT_URL` + `ZARA_HOME_ASSISTANT_TOKEN` - keeps SmartThings credentials/provider authority out of the plugin and in Core #202 - preserves HomeService read-back as the only source of mutation verification Tests were added first in `test_home_assistant_transport.py` using a deterministic local HTTP server. Worker mailbox: #505
test(local-recall): inject failures at atomic publish boundary
Some checks failed
CI / test (pull_request) Failing after 27s
CI / zara-avatar idle CPU budget (pull_request) Failing after 15m4s
85f620a8d2
fix(local-recall): make installer update rollback transactional
fix(agent-zero): sanitize remote error details
Harden StarIntel remote failure sanitization
Adds the bounded zara-mobility service plugin slice for Google Maps, OpenStreetMap, COTA/GoBus transit profiles, Uber/Lyft ride handoffs, and trip planning. Live GTFS-RT parsing and Android Navigation SDK integration remain follow-on work in #829 and lost-rob0t/zara#1017.
First COTA slice: bounded static GTFS parsing, scheduled transit tools, route geometry for Zara Maps, registry packaging, and deterministic tests. Realtime, Prolog discovery, shared OSM maps, journey planning, and Android host integration remain tracked by #830 and zara#1016/#924.
fix(zara-home): enforce finite transport timeout bounds
Some checks failed
CI / test (pull_request) Failing after 14s
CI / zara-avatar idle CPU budget (pull_request) Failing after 15m1s
bc896242a4
Some checks failed
CI / test (pull_request) Failing after 14s
CI / zara-avatar idle CPU budget (pull_request) Failing after 15m1s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/zara-home-ha-transport:feat/zara-home-ha-transport
git switch feat/zara-home-ha-transport

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/zara-home-ha-transport
git switch feat/zara-home-ha-transport
git rebase main
git switch main
git merge --ff-only feat/zara-home-ha-transport
git switch feat/zara-home-ha-transport
git rebase main
git switch main
git merge --no-ff feat/zara-home-ha-transport
git switch main
git merge --squash feat/zara-home-ha-transport
git switch main
git merge --ff-only feat/zara-home-ha-transport
git switch main
git merge feat/zara-home-ha-transport
git push origin main
Sign in to join this conversation.
No description provided.