Tags: ogx-ai/ogx
Tags
fix(unit_tests): test_library_client improvements (#5832) # What does this PR do? Improve/fix unit tests for OGX library client: * Remove unit tests that just call `hasattr()` and `callable()` on client methods. * Added `shutdown()` method to mocked stack so that warnings don't pop at the end of pytest session (I checked the logic, it just makes sense and makes tests a little faster). * Fixed the test that was supposed to check that the sync client `.shutdown()` is idempotent but was calling `.shutdown()` exactly 1 time. * Added a test for the sync client trying to send a request after the client is `.shutdown()` - raises `RuntimeError` for both stream/non-stream requests. Closes #5772 ## Test Plan Execute the unit tests. This PR only touches unit tests.
fix(storage): harden PostgreSQL storage and pgvector safety defaults (#… …5834) # What does this PR do? This PR hardens PostgreSQL-backed storage defaults and credential handling while improving PGVector query/runtime safety. It converts Postgres passwords to SecretStr-based handling, adds command timeouts and expiration index support, and updates default pool recycle settings in config and distribution templates. It also fixes ACL JSON array matching for SQLite/PostgreSQL, quotes Postgres identifiers during dynamic column adds, and updates PGVector query tuning to transaction-scoped `set_config` with matching unit tests and docs updates. ## Test Plan - `uv run pytest tests/unit/providers/vector_io/test_vector_io_stores_config.py::test_set_ef_search_called_before_select_in_query_vector tests/unit/providers/vector_io/test_vector_io_stores_config.py::test_apply_default_ef_search_for_query_vector tests/unit/providers/vector_io/test_vector_io_stores_config.py::test_add_chunks_does_not_run_analyze_on_write -q` (3 passed) - `uv run pytest tests/unit/providers/vector_io -k "pgvector or vector_io_stores_config and (ef_search or probes or keyword or hybrid or filter)" -q` (45 passed) - `uv run pytest tests/unit/utils/kvstore/test_postgres_kvstore.py tests/unit/utils/sqlstore/test_sqlstore.py tests/unit/utils/test_authorized_sqlstore.py -q` (52 passed, 3 xfailed) - `uv run ruff check src/ogx/providers/remote/vector_io/pgvector/pgvector.py tests/unit/providers/vector_io/test_vector_io_stores_config.py tests/unit/providers/vector_io/conftest.py` (all checks passed) --------- Signed-off-by: Sébastien Han <seb@redhat.com>
docs(releases): add 1.0 release notes (#5801) ## Summary - Draft release notes for the 1.0 major release covering the 73 commits since v0.8.0. - Frames 1.0 around the `/v1` stability contract (`docs/docs/concepts/apis/api_leveling.mdx`). - Headline breaking changes: multi-tenancy core, `AuthorizedSqlStore` enforcement, admin-route splits (`/v1/admin/tools`, `/v1alpha/admin/connectors`), Safety API removal, `ogx-api` namespace split. ## Test plan - [ ] Review breaking-change list for accuracy against merged PRs - [ ] Add per-commit contributor attribution (matches `RELEASE_NOTES_0.7.md` style) before publishing - [ ] Verify migration commands in the Upgrade Guide Signed-off-by: Charlie Doern <cdoern@redhat.com>
chore: update client package references from llama-stack-client to og… …x-client (#5635) ## Summary Updates package dependencies and workflow tests to use the renamed `ogx-client` package instead of `llama-stack-client`. ## Changes - **pyproject.toml**: Update `client` and `type_checking` dependencies to `ogx-client>=0.7.1` - **.github/workflows/pypi.yml**: Update Python import test to use `ogx_client` module - **.github/workflows/pypi.yml**: Update npm package test to use `ogx-client` package name ## Context Part of the rename from `llama-stack` to `ogx`. The Stainless config in `client-sdks/stainless/config.yml` is already updated to generate clients with the new names: - Python package: `ogx-client` (module: `ogx_client`) - npm package: `ogx-client` ## Blockers⚠️ **This PR is blocked on Stainless regenerating the client SDKs** with the new package names in: - `ogx-ai/ogx-client-python` - `ogx-ai/ogx-client-typescript` CI may fail until `ogx-client` is published to PyPI and npm. ## Related - Stainless config: `client-sdks/stainless/config.yml` (lines 16-27) - Stainless org/project in workflow: `.github/workflows/stainless-builds.yml` (lines 47, 50) --------- Signed-off-by: Charlie Doern <cdoern@redhat.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
feat(ui): add missing dashboard pages and migrate chat to Responses A… …PI (#5481) ## Summary - Add 8 new dashboard pages covering APIs that previously had no UI, bringing the dashboard closer to parity with the OpenAI platform - Migrate the chat playground from the deprecated Agents API to the Responses API - Replace the bare "Welcome to Llama Stack" home page with a stats dashboard ### New pages | Route | Feature | |-------|---------| | `/models` | Model registry browser with type badges (llm/embedding/rerank) | | `/connectors` | MCP connector list with tool inspection drill-down | | `/tools` | Toolgroups and individual tools with parameter schemas | | `/batches` | Batch job list with color-coded status badges | | `/conversations` | Conversation list with message detail view | | `/safety` | Content moderation testing playground | | `/admin` | System overview: providers, health, version, routes | | `/` | Dashboard with stats cards, quick links, server info | ### Chat playground improvements - Uses `/v1/responses` instead of the removed `/v1/agents` API - Conversation continuity via `previous_response_id` chaining - Agents and chat sessions persist to localStorage across page reloads - Falls back to `/v1/tools` when `/v1/toolgroups` is unavailable - Selected tools (web_search, file_search) wired into Responses API calls - Removed "Coming Soon" labels from working features ### Infrastructure - Added `v1alpha` API proxy route for admin endpoints - All pages handle unavailable APIs gracefully (404/405/501 show empty states) - Sidebar reorganized into Create, Manage, Admin, and Optimize sections ## Test plan - [x] `npx next build` passes with zero errors - [x] All pre-commit checks pass (including Format & Lint UI) - [x] Manual testing: dashboard loads with real data from Ollama backend - [x] Manual testing: models page shows all registered models with correct type badges - [x] Manual testing: chat playground creates agents, sends messages via Responses API with streaming - [x] Manual testing: chat history persists across page reloads - [x] Manual testing: tools (web_search, file_search) are selectable and sent in API requests - [x] Manual testing: pages with unavailable APIs (connectors, toolgroups, conversations) show graceful empty states 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: Sébastien Han <seb@redhat.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PreviousNext