Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Compatibility is documented in release notes, not encoded in the version string.
- **The event-dispatch worker now runs the full project image** instead of a lean image that rebuilt its `.claude` artifacts from `config.yml` at startup. Dispatched agents now see the same facility overlays (custom skills, agents, and rules) and `data/` files as the Web Terminal agent, by construction — previously overlays and `data/` were silently absent from dispatched runs. `osprey deploy up` builds the project image (`<project>:local`; `--dev` installs the locally built wheel) and the worker references it via `OSPREY_WORKER_IMAGE`. **Requires rebuilding the dispatch worker image on redeploy.**
- `claude-agent-sdk` upgraded to 0.2.110 (bundles CLI 2.1.191); `uv.lock` regenerated (#311).
- `fastmcp` floor raised to `>=3.4.4` (brings FastAPI 0.139 / Starlette 1.x); `uv.lock` regenerated. Route-registration checks now read the app's OpenAPI schema rather than `router.routes`, which Starlette 1.0 no longer flattens for included routers.
- Dependency floors raised — `bokeh`, `gspread`, `watchdog`, `questionary`, `pillow`, `openai`, `scipy`, `bluesky`, `sphinx`; `uv.lock` regenerated to match.
- Dependency floors raised — `bokeh`, `gspread`, `watchdog`, `questionary`, `pillow`, `openai`, `scipy`, `bluesky`, `sphinx`, `docker`, `duckdb`, `idna`, `nltk`, `ollama`, `testcontainers`, `tiled`, `urllib3`, `uvicorn`; `uv.lock` regenerated to match.
- The Claude Code launch environment now builds its model-tier variables from a single declaration shared by the launch, e2e-override, and scrub paths, so adding a model tier can no longer leave those lists out of sync (#357). The full project-`.env` passthrough into the agent environment — which feeds `.mcp.json` `${VAR}` references such as `EPICS_CA_ADDR_LIST` — is now explicit and test-covered, and proxy providers carry their raw API-key variable through the launch path as well.
- README rewritten: corrected the connector claim (EPICS and Mock ship in-tree; other stacks use the connector interface), fixed the `osprey skills install` quickstart command, and removed stale release and conference notices. The PyPI package description now matches the documentation.
- The Web Terminal and ARIEL settings drawers now share one accessible `<osprey-drawer>` component (focus trap and restore, `Escape`/backdrop close, screen-reader dialog semantics, inert background); each interface keeps its own look, and the Web Terminal drawer's tabs, resizing, and unsaved-changes guard behave as before.
Expand Down
20 changes: 10 additions & 10 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ dependencies = [
"openai>=2.45.0",
"anthropic",
"google-generativeai",
"ollama>=0.5.1",
"ollama>=0.6.2",
# Advanced code generation
# Claude Code SDK - pinned. Bundles CLI 2.1.191 (verified to work with
# als-apg routing). >=0.1.46 needed for list_subagents/
Expand All @@ -75,10 +75,10 @@ dependencies = [
# Networking and protocols
"aiohttp>=3.10", # Required by litellm (ConnectionTimeoutError added in 3.10)
"websocket-client>=1.7.0",
"urllib3>=2.4.0",
"urllib3>=2.7.0",
"certifi>=2025.4.26",
"charset-normalizer>=3.4.2",
"idna>=3.10",
"idna>=3.18",
"MarkupSafe>=3.0.2",
"markdown>=3.5", # Markdown-to-HTML rendering for artifact converters
"aiofiles>=24.1.0", # Async file I/O for non-blocking Python executor
Expand All @@ -93,10 +93,10 @@ dependencies = [
"playwright>=1.40.0",
"ipywidgets", # Interactive widgets for Jupyter notebooks
# Natural language processing
"nltk>=3.8.1",
"nltk>=3.10.0",
# ARIEL Web Interface (FastAPI server)
"fastapi>=0.109.0",
"uvicorn[standard]>=0.27.0",
"uvicorn[standard]>=0.51.0",
# Utilities
"unique-namer>=0.1.0",
# EPICS Channel Access client (used by control_system connector,
Expand Down Expand Up @@ -124,8 +124,8 @@ dependencies = [
# the aioca Channel Access backend the EPICS substrate devices need.
"bluesky>=1.15.1",
"ophyd-async[ca]>=0.16,<1.0",
"tiled[client]>=0.1",
"duckdb>=1.5.1",
"tiled[client]>=0.2.14",
"duckdb>=1.5.4",
"tenacity>=9.1.4",
# Cross-version TypedDict/NotRequired — pydantic v2.12 rejects typing.TypedDict on py<3.12.
"typing_extensions>=4.12.0",
Expand Down Expand Up @@ -157,9 +157,9 @@ dev = [
"pre-commit",
"ruff",
"build", # Required for 'osprey deploy up --dev' to build local wheel
"testcontainers[postgres]>=4.0.0", # Real PostgreSQL for integration tests
"testcontainers[mongodb]>=4.0.0", # MongoDB for archiver-mongodb integration tests
"docker>=7.0.0", # Docker SDK for testcontainers availability check
"testcontainers[postgres]>=4.14.2", # Real PostgreSQL for integration tests
"testcontainers[mongodb]>=4.14.2", # MongoDB for archiver-mongodb integration tests
"docker>=7.2.0", # Docker SDK for testcontainers availability check
"psycopg[binary,pool]>=3.1.0,<4.0.0", # ARIEL search integration tests
"psycopg-pool>=3.1.0,<4.0.0", # ARIEL search integration tests
"pillow>=12.3.0", # Perceptual diffing for the design-system visual regression suite
Expand Down
Loading
Loading