Add read-only package broker policy inspector - #5292
Draft
Benoît Cortier (CBenoit) wants to merge 5 commits into
Draft
Add read-only package broker policy inspector#5292Benoît Cortier (CBenoit) wants to merge 5 commits into
Benoît Cortier (CBenoit) wants to merge 5 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This was referenced Aug 17, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a Windows-only, read-only Devolutions Agent package-policy inspector integrated into Administrator settings.
Changes:
- Adds broker policy retrieval, validation, status mapping, and centralized client creation.
- Adds searchable, localized UI for policy metadata, rules, constraints, and canonical JSON.
- Adds coverage for broker responses, cancellation, stale refreshes, and search visibility.
The unpublished 0.4.0 dependencies remain a merge blocker.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/UniGetUI.Tests/UniGetUI.Tests.csproj |
Adds inspector test dependencies. |
src/UniGetUI.Tests/SettingsSearchIndexTests.cs |
Tests platform-aware search. |
src/UniGetUI.Tests/AgentPolicyInspectorViewModelTests.cs |
Tests presentation and refresh behavior. |
src/UniGetUI.PackageEngine.Tests/BrokerPolicyInspectorTests.cs |
Tests policy transport and validation. |
src/UniGetUI.PackageEngine.Operations/PackageOperations.cs |
Uses centralized broker creation. |
src/UniGetUI.PackageEngine.AgentBroker/UniGetUI.PackageEngine.AgentBroker.csproj |
Updates policy dependencies. |
src/UniGetUI.PackageEngine.AgentBroker/BrokerPolicyInspector.cs |
Implements policy inspection. |
src/UniGetUI.PackageEngine.AgentBroker/BrokerClientFactory.cs |
Centralizes broker configuration. |
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/SettingsBasePage.axaml.cs |
Registers the inspector page. |
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/AgentPolicyInspector.axaml.cs |
Connects view model and clipboard. |
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/AgentPolicyInspector.axaml |
Defines the inspector UI. |
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Administrator.axaml.cs |
Forwards inspector navigation. |
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Administrator.axaml |
Adds the Windows-only entry. |
src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/AgentPolicyInspectorViewModel.cs |
Formats policy data and manages refreshes. |
src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/AdministratorViewModel.cs |
Adds navigation command. |
src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj |
References the broker project. |
src/UniGetUI.Avalonia/InternalsVisibleTo.cs |
Exposes internals to tests. |
src/UniGetUI.Avalonia/Infrastructure/SettingsSearchIndex.cs |
Indexes the Windows-only inspector. |
src/Languages/lang_en.json |
Adds inspector localization strings. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Reject malformed required policy data using schema-aligned validation and cover missing, defaulted, nested, and wire-invalid responses. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the settings shell as the single page-level heading for assistive technologies. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Match the repository formatter so the code-style CI check passes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Update the package broker inspector to the official 2026.9.3 API and Client packages and adopt the renamed source-generated serializers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Benoît Cortier (CBenoit)
September 4, 2026 01:49
View session
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.
Summary
BrokerClient.GetPolicyand sharedPolicyDocument/PolicySerializerwithout raw transport, duplicate DTOs, filesystem access, or mutationUseAgentBroker, cancellable, stale-safe, localized, searchable, accessible, and NativeAOT-safeInvalidResponseCoordinated Phase 1 work
Published dependency evidence
This branch consumes the official NuGet.org packages
Devolutions.Now.Policy.Apiand.Clientversion2026.9.3;.Modelversion2026.9.3is resolved transitively. A forced restore ofsrc/UniGetUI.Windows.slnxused a new empty package cache and onlyhttps://api.nuget.org/v3/index.json.Devolutions.Now.Policy.Model.2026.9.3.nupkg968001b5ac049c02e94ed3c8a60e57d82112480c010d82180659f0acb3add47dDevolutions.Now.Policy.Api.2026.9.3.nupkgebc532fb751a2e3d1c03ea7a685ac75f436d67126afb57cbdabd6245bf105163Devolutions.Now.Policy.Client.2026.9.3.nupkg59157e8f7f3558c75ce404110842c0cc48f290c12004627a6e24f70f1823319cCompatibility changes are limited to the official version pins, the published
PolicySerializer/BrokerSerializerAPI names, and strict-valid test fixture construction. Phase 1 remains read-only.Validation
net10.0andnet10.0-windows10.0.26100.0), 320 executions totalThis PR remains draft for coordinated stack finalization; the unpublished-package blocker is cleared. Phase 2 PR #5335 will restack after this base advances. The non-Windows runtime matrix remains a runner gap; defensive platform guards and Windows-only settings-search filtering are unit-tested.