Skip to content

✨feat(api): agent custom routes under /api/agentsAllow agentvided FastAPI routers to mounted consistently under/api/agents/{slug}/... and update and metadata to reflect thecanonical path. Thisifies the API and avoids ambiguity aboutwhere custom agent live. - #26

Merged
alain-sv merged 2 commits into
developfrom
Fix-Secured-routes
Apr 20, 2026

Conversation

@alain-sv

Copy link
Copy Markdown
Contributor
  • Update README, docs/model_reference, and agent Field description to
    state custom routes are mounted underapiagentsslug}/...
    Clar router comment in src/supervaizer/routers/api to document the full
    path for nested agent routes🔧fix(access): simplify Tailscale access
    and clarify behaviorReject non-Tailscale clients uniformly (including
    WebSocket upgraderequests) by raising403 during the handshake rather
    than trying tomanually close websockets Simplify logic and ensure
    consistent errorhandling and logging.

  • Remove WebSocketState-specific branch in
    srcupervaizer/access/tailscale.py- Ensure docstring states WebSocket
    upgrade are rejected before connection is established🧪test: add
    validation for require_scope wiringAdd a unit test to ensure invalid
    or unknown scopes raise dependencycreation time to catch typos and
    wiring errors early.

  • Add pytest import and test_unknown_required_scope_raises_at in
    tests/test_access_api_auth.pyOther- Minor formatting/wording tweaks.

…tAPI routers to mounted consistently under/api/agents/{slug}/... and update and metadata to reflect thecanonical path. Thisifies the API and avoids ambiguity aboutwhere custom agent live.

- Update README, docs/model_reference, and agent Field description to
  state custom routes are mounted underapiagentsslug}/...
 Clar router comment in src/supervaizer/routers/api to document the full
 path for nested agent routes🔧fix(access): simplify Tailscale access
 and clarify behaviorReject non-Tailscale clients uniformly (including
 WebSocket upgraderequests) by raising403 during the handshake rather
 than trying tomanually close websockets Simplify logic and ensure
 consistent errorhandling and logging.

- Remove WebSocketState-specific branch in
  srcupervaizer/access/tailscale.py- Ensure docstring states WebSocket
  upgrade are rejected before connection is established🧪test: add
  validation for require_scope wiringAdd a unit test to ensure invalid
  or unknown scopes raise dependencycreation time to catch typos and
  wiring errors early.

- Add pytest import and test_unknown_required_scope_raises_at in
  tests/test_access_api_auth.pyOther- Minor formatting/wording tweaks.
…nknown_required_raises_at_creationmethod signature to a-line parameter layout. This change improves codereadability and aligns the test with the project's formatting standards forlong signatures. No behavioral changes introduced onlywh and line breaking are to make the clearer and moreainable.
@alain-sv
alain-sv merged commit 3df7db1 into develop Apr 20, 2026
6 checks passed
@alain-sv
alain-sv deleted the Fix-Secured-routes branch May 13, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant