ThreadModelSelection is now "inherit" or { primary, reasoning_effort };
the BFF validator tolerates and drops legacy auxiliary keys, the runs
route no longer snapshots an auxiliary ref, and the Registry Editor's
default-auxiliary field is removed, matching the backend's single-role
snapshot resolution.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Editing a large registry draft is easy to lose to a stray click; the
dialog now only closes via the X or Close button.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Saved models start collapsed to a compact status row (key, availability,
enabled, Test); new unsaved models start expanded for editing. Test
outcomes stay visible regardless of collapse state.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Saving no longer runs live provider tests: changed enabled models are
saved as disabled (defaults repointed when needed) and the user
re-verifies manually with the per-model Test button, then re-enables and
saves again. A successful test now refreshes the local availability so
re-enabling is a plain save.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Editing an enabled model invalidated its verification record, so the
backend rejected the save with MODEL_NOT_AVAILABLE. The editor now
detects changed enabled models (mirroring configuration_hash inputs plus
credential rotation) and runs the documented disable & save -> test ->
enable & save sequence as one click, temporarily repointing defaults
when the edited model is the default primary.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
With multiple providers configured, the vertical stack required long
scrolling. The left pane now lists providers with enabled markers and
per-model availability dots plus the template picker; the right pane
shows the selected provider's editor, auto-selecting newly added
providers and clamping selection on remove.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add the six phase-1 templates (智谱 GLM, OpenAI, Anthropic,
OpenAI-compatible, Anthropic-compatible, Ollama) that prefill adapter,
Base URL, auth mode, and suggested models; saved providers remain
ordinary profiles. Verified in browser against the live dev server.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- New RegistryEditor renders providers, models, runtime parameters and
capabilities from the backend's AdapterParameterSpec contract, with
ModelAvailability badges, write-once credential staging, provider tests
showing effective_request_options, revision CAS on save, and 422 detail
paths surfaced verbatim (design doc sections 9, 11.8)
- ConfigDialog now hosts the Registry Editor (admin-only; non-admins see a
notice from the 403 path)
- AccountDialog shows the session role and embeds an admin user-management
section (list/create/promote/demote/password reset/delete, last-admin
guard enforced server-side)
- Deleted legacy ProviderProfiles/BuiltinProviders/RegistryBuiltinProviders
editors, providerProfiles/legacyLlmConfig libs, the admin-token proxy and
the /api/provider-profiles, /api/provider-actions, /api/default-model and
/api/config BFF routes (design doc section 10 legacy removals)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Implemented the ObservationGraph component to visualize relationships between observations.
- Added force simulation for node positioning using physics-based calculations.
- Created a detail panel to display information about selected nodes, including related observations.
- Introduced utility functions for managing observation graph data, including node and edge definitions.
- Enhanced memory reading functions to extract and structure observation data for the graph.
- Introduced a new ScheduledTasksPanel component to manage and display scheduled tasks.
- Implemented useScheduledTasks hook for fetching, creating, and deleting scheduled tasks.
- Added cronUtils for handling cron expressions and scheduling logic.
- Updated ThreadList component to include a button for accessing the scheduled tasks view.
- Enhanced the useAvailableModels hook for better code readability.