Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7ac3398
apply dependabot insights
alain-sv May 13, 2026
22d50aa
minor
alain-sv May 13, 2026
2a89660
chore(ci): SHA-pin actions/checkout and actions/setup-python (#43)
alain-sv May 13, 2026
297d98e
docs(changelog): add unreleased dependency security refresh entry (#44)
alain-sv May 13, 2026
1c41f54
chore(ci): add uv cache-suffix per Python version + update AGENTS.md …
alain-sv May 13, 2026
00aad5e
Merge branch 'main' into develop
alain-sv May 13, 2026
1f5c176
supervaizer-v2-mvp-contracts (#47)
alain-sv May 17, 2026
d7c98b9
Minor
alain-sv May 17, 2026
b192229
Merge branch 'main' into develop
alain-sv May 17, 2026
789b0c6
chore: update changelog for Supervaizer v2 enhancements and API key v…
alain-sv May 17, 2026
da4b00d
Merge branch 'main' into develop
alain-sv May 17, 2026
c977b6e
workspace-agent-grants (#50)
alain-sv May 19, 2026
a12b628
minor
alain-sv May 19, 2026
a761421
Merge branch 'main' into develop
alain-sv May 20, 2026
1f20b22
feat(logging): implement structured logging for Cloud Logging compati…
alain-sv May 20, 2026
746a04f
Merge branch 'main' into develop
alain-sv May 24, 2026
75a3a0d
Minor
alain-sv May 24, 2026
612001f
Merge branch 'main' into develop
alain-sv May 26, 2026
3324db5
codex/supervaizer-lifespan-cleanup (#54)
alain-sv May 26, 2026
e7834a2
codex/refactor-server-modules (#55)
alain-sv May 26, 2026
4fed877
minor
alain-sv May 26, 2026
afaf602
codex/agent-interviewer-workspace-jobs-refresh (#56)
alain-sv May 26, 2026
ceede13
Refactor pre-commit configuration and enhance agent validation
alain-sv May 26, 2026
62f299d
Merge branch 'main' into develop
alain-sv May 27, 2026
ea6ce6c
chore(deps): bump uv from 0.11.14 to 0.11.15 (#58)
dependabot[bot] May 30, 2026
770a668
chore(deps): bump starlette from 0.50.0 to 1.0.1 (#60)
dependabot[bot] Jun 6, 2026
15e586e
chore(deps): bump trufflesecurity/trufflehog from 3.95.3 to 3.95.5 (#61)
dependabot[bot] Jun 9, 2026
4d5703a
feat(.agents): add skill symlinks from runwaize skills cookbook
alain-sv Jun 17, 2026
f197480
chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 (#62)
dependabot[bot] Jun 20, 2026
b50b3e9
chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#63)
dependabot[bot] Jun 20, 2026
4461b3e
chore(deps): bump starlette from 1.0.1 to 1.3.1 (#66)
dependabot[bot] Jun 20, 2026
287b498
chore(deps): bump cryptography from 48.0.0 to 48.0.1 (#67)
dependabot[bot] Jun 20, 2026
d3dcc08
chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#68)
dependabot[bot] Jul 2, 2026
5712dfd
chore(deps): bump softprops/action-gh-release from 3.0.0 to 3.0.1 (#69)
dependabot[bot] Jul 2, 2026
b64d982
chore(deps): bump trufflesecurity/trufflehog from 3.95.5 to 3.95.6 (#70)
dependabot[bot] Jul 2, 2026
dbd4e3f
codex/managed-context-sdk (#65)
alain-sv Jul 2, 2026
665ef50
✨ feat(contracts): add V2ContextAssignment for context.assign (#71)
alain-sv Jul 2, 2026
ec535d1
feat: bump version to1.3.0 and update deps; iterate nested (#73)
alain-sv Jul 2, 2026
3919acb
[PATCH] chore: merge develop to main
alain-sv Jul 2, 2026
e5fd1be
fix versions
alain-sv Jul 2, 2026
55b8005
Merge branch 'main' into release/patch-20260702-162458
alain-sv Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,21 @@ All notable changes to this project will be documented in this file.

## [Unreleased]

### Changed

- **`pyproject.toml` (since v1.3.0)** — Runtime lower bounds: FastAPI `>=0.139.0`, sse-starlette `>=3.4.5`, Typer `>=0.26.8`, Uvicorn `>=0.49.0`. **`deploy` extra:** boto3 `>=1.43.39`, google-cloud-run `>=0.16.1`, google-cloud-secret-manager `>=2.23.0`. **`dev` extra:** hatch `>=1.17.0`, pytest `>=9.1.1`, pytest-asyncio `>=1.4.0`, ruff `>=0.15.20`. Lock file refreshed via `uv lock`.

### Fixed

- **A2A event scope test** — `tests/test_a2a.py` now walks FastAPI included-router wrappers when locating `/a2a/events`, preserving the read-scope assertion under FastAPI `0.139.0`.

| Status | Count |
| ---------- | ----- |
| ✅ Passed | 683 |
| 🤔 Skipped | 0 |
| 🔴 Failed | 0 |
| ⏱️ in | 56s |

## [1.3.0] - 2026-07-02

### Added
Expand Down
24 changes: 9 additions & 15 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies = [
"cryptography>=49.0.0",
"demjson3>=3.0.0",
"deprecated>=1.3.0",
"fastapi>=0.136.3",
"fastapi>=0.139.0",
"httpx>=0.28.1",
"jinja2>=3.1.6",
"loguru>=0.7.3",
Expand All @@ -23,10 +23,10 @@ dependencies = [
"pyyaml>=6.0.0",
"rich>=15.0.0",
"shortuuid>=1.0.0",
"sse-starlette>=3.4.4",
"sse-starlette>=3.4.5",
"tinydb>=4.8.2",
"typer>=0.25.1",
"uvicorn>=0.48.0",
"typer>=0.26.8",
"uvicorn>=0.49.0",
]
license = "MPL-2.0"
classifiers = [
Expand All @@ -50,32 +50,26 @@ supervaizer = "supervaizer.cli:app"

[project.optional-dependencies]
deploy = [
"boto3>=1.43.14",
"boto3>=1.43.39",
"docker>=7.0.0",
<<<<<<< Updated upstream
"google-cloud-artifact-registry>=1.21.0",
"google-cloud-run>=0.16.0",
"google-cloud-secret-manager>=2.28.0",
=======
"google-cloud-artifact-registry>=1.22.0",
"google-cloud-run>=0.16.1",
"google-cloud-secret-manager>=2.29.0",
>>>>>>> Stashed changes
]
dev = [
"boto3>=1.42.73",
"docker>=7.0.0",
"hatch>=1.16.5",
"hatch>=1.17.0",
"jsonschema>=4.26.0",
"mypy>=2.1.0",
"pre-commit>=4.6.0",
"pytest-asyncio>=1.3.0",
"pytest-asyncio>=1.4.0",
"pytest-cov>=7.1.0",
"pytest-mock>=3.15.1",
"pytest-sugar>=1.1.1",
"pytest>=9.0.3",
"pytest>=9.1.1",
"respx>=0.23.1",
"ruff>=0.15.14",
"ruff>=0.15.20",
"yamllint>=1.38.0",
"types-deprecated>=1.3.1",
"types-PyYAML>=6.0.0",
Expand Down
13 changes: 12 additions & 1 deletion tests/test_a2a.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import json
import threading
import time
from collections.abc import Iterable
from typing import Any

import jsonschema
import pytest
Expand Down Expand Up @@ -99,6 +101,15 @@ def _authorized_a2a_headers(
return _a2a_workspace_headers(server, token)


def _iter_routes(routes: Iterable[Any]) -> Iterable[Any]:
for route in routes:
yield route
original_router = getattr(route, "original_router", None)
nested_routes = getattr(original_router, "routes", None)
if nested_routes is not None:
yield from _iter_routes(nested_routes)


def test_create_agent_card(agent_fixture: Agent) -> None:
"""Test the create_agent_card function."""
base_url = "http://test.example.com"
Expand Down Expand Up @@ -430,7 +441,7 @@ def test_a2a_controller_requires_write_scope(server_fixture: Server) -> None:
def test_a2a_events_remains_read_scoped(server_fixture: Server) -> None:
route = next(
route
for route in server_fixture.app.routes
for route in _iter_routes(server_fixture.app.routes)
if getattr(route, "path", None) == "/a2a/events"
)
dependency = route.dependant.dependencies[0].call
Expand Down
Loading
Loading