Add Url variant to AgentDesiredModel for generic HTTP model downloads#234
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds a new Url variant for desired models so agents can download GGUF models from generic HTTP URLs, with cache resolution, status reporting, client schema updates, and integration tests.
Changes:
- Adds Rust model-source abstraction and URL-backed model resolution/cache download support.
- Extends shared types, Python/JavaScript schemas, GUI display, and admin UI conversion for
AgentDesiredModel::Url. - Adds cache-dir helpers, URL model tests, and subprocess integration tests for URL desired state and 404 reporting.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
resources/ts/components/ChangeModelPage.tsx |
Displays Url desired models in the model form. |
paddler/src/resolves_model_source.rs |
Adds a common async model-source resolution trait. |
paddler/src/resolve_desired_model.rs |
Routes Hugging Face, local, URL, and none variants through resolvers. |
paddler/src/paddler_cache_dir.rs |
Adds cache-directory resolution from env/XDG/HOME. |
paddler/src/model_source/url.rs |
Implements URL model cache pathing, download, status updates, and tests. |
paddler/src/model_source/mod.rs |
Exposes model-source modules. |
paddler/src/model_source/local.rs |
Moves local-path resolution into a resolver type. |
paddler/src/model_source/huggingface.rs |
Moves Hugging Face download resolution into a resolver implementation. |
paddler/src/lib.rs |
Updates exported modules for the new resolver structure. |
paddler/src/download_huggingface_model.rs |
Removes the old standalone Hugging Face downloader module. |
paddler/src/desired_model_resolution.rs |
Adds Debug for resolution values. |
paddler/src/agent_issue_fix.rs |
Adds URL model issue-fix handling and tests. |
paddler/Cargo.toml |
Adds sha2 to paddler dependencies. |
paddler_types/src/url_model_reference.rs |
Adds the shared URL model reference type. |
paddler_types/src/lib.rs |
Exports the URL model reference module. |
paddler_types/src/agent_issue.rs |
Adds URL model issue variants. |
paddler_types/src/agent_desired_model.rs |
Adds the Url desired model variant. |
paddler_tests/tests/balancer_reports_url_model_not_found.rs |
Adds subprocess coverage for URL 404 issue reporting. |
paddler_tests/tests/balancer_persists_url_model_in_desired_state.rs |
Adds subprocess coverage for persisted URL desired state. |
paddler_tests/src/local_http_fixture.rs |
Adds a reusable local HTTP fixture for tests. |
paddler_tests/src/lib.rs |
Exports the local HTTP fixture. |
paddler_gui/src/ui/view_running_balancer.rs |
Displays URL desired models in the GUI. |
paddler_client_python/tests/test_agent_desired_model.py |
Adds Python serialization/deserialization tests for URL models. |
paddler_client_python/paddler_client/url_model_reference.py |
Adds Python URL model reference type. |
paddler_client_python/paddler_client/agent_desired_model.py |
Adds Python client support for the Url variant. |
paddler_client_javascript/src/schemas/UrlModelReference.ts |
Adds JavaScript schema/type for URL model references. |
paddler_client_javascript/src/schemas/AgentDesiredModel.ts |
Adds JavaScript schema support for the Url variant. |
Cargo.toml |
Adds workspace sha2 dependency. |
Cargo.lock |
Records sha2 as a paddler dependency. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… classify 4xx as DownloadServerRejectedRequest
…se_in_process_cluster
… every token kind in Python integration tests
…into agent-desired-model-url-source
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.