Repository navigation
Python: Restore DevUI context provider metadata - #8992
dhairya (dhairyajangir) wants to merge 9 commits into
Conversation
Refactor context provider retrieval to use the walrus operator for cleaner code.
Added tests for context providers in agent metadata and legacy support.
|
/review |
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: Findings reported
Scope: full PR (2 commit(s)): 43c0694899a3, c86050e53c5e
Model: gpt-5.6-sol
Overview
The change correctly reads the ordered context_providers list while preserving the singular compatibility fallback, and its backend tests cover zero, one, and multiple providers. The backend response model already accepts the resulting list, but the multi-provider case exposes an unresolved frontend contract mismatch that renders provider names without separation.
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
1 verified finding remained after source verification (1 medium) across 1 file. Details are attached to the affected lines below.
Affected areas: python/packages/devui/agent_framework_devui/_utils.py
|
Eduard van Valkenburg (@eavanvalkenburg) the branch is now updated with The provider-name finding is addressed in the earlier revision reply. The current head has 7 workflows awaiting maintainer approval. Could you authorize CI and revisit that finding when convenient? This revalidation and follow-up were AI-assisted. The checks above are focused local tests; they do not replace the pending upstream CI or code-owner review. |
Use the existing BaseChatClient fixture so the metadata regression satisfies the overloaded response protocol. Assertions and production code are unchanged.
|
Fixed the executed Test Typing Checks failure in 160783f. The discovery regression now uses the existing Validation on Python 3.11.17:
The broader local DevUI run on the same candidate tree recorded 203 passed, four skipped and one browser-memory test failure with timeout/cleanup errors; I am not claiming a complete-suite pass. New-head upstream CI and maintainer review remain pending. Could you revisit the PR after those checks run? |
|
The newly executed checks at The remaining Python 3.13 / Windows failure is Both Could you rerun the failed Windows job to check whether the startup failure recurs? If it does, its new log should help determine the next investigation separately from this DevUI metadata change. |
|
/review |
There was a problem hiding this comment.
MAF Automated Review — Iteration 2
Result: No findings
Scope: 21 net-new commit(s): 735050553822, 3c2fe0a8a365, d7ef9e240836, 90615858cbf0, de3a3b08df5b, cdd339b0a541, 4dfb7565b67e, 301a43c862be, 2606b1a0498a, 5bba4cec7380, ccf44d95988b, 6574f75ba0e2, 4cd858d17941, 3a2a8c964068, 0e1e6ffa8817, fdb7ec343398, 52fed574f05a, 6ef0b73ed8ee, 2df61296bb56, e80552d9e6e4, 160783f7d529
Model: gpt-5.6-sol
Overview
This incremental range resolves the previous frontend contract mismatch by typing context providers as an ordered string list and rendering names with explicit separators. Backend discovery, legacy fallback, API forwarding, source UI, and packaged UI remain aligned, with regressions covering absent, single, and multiple providers. The final fixture correction uses the protocol-compatible chat client expected by Agent; no publishable Critical, High, or Medium issue remains.
Reviewed the supplied incremental change set across correctness, security/reliability, architecture, and failure behavior.
No publishable findings remained after source verification for this scope.
Motivation & Context
DevUI hid configured context providers from agent details because its metadata helper read the obsolete singular attribute. Current
Agentinstances expose acontext_providerslist, so both registration and directory discovery returned an empty provider field.Description & Review Guide
context_providerslist before using the existing singular fallback. Add discovery regressions for zero, one, and multiple providers, plus a compatibility test for older agent-like objects. Type the frontend provider field asstring[], render names with explicit comma separation, and update the packaged UI.context_providerresponse field and behavior for agent-like objects with the singular attribute remain compatible.Implementation and independent review were AI-assisted. Backend validation: The new one- and two-provider tests fail before the fix and pass afterward; all 12 discovery tests pass. Package Ruff, changed-file formatting, strict source Pyright, test mypy/Pyright/Pyrefly/ty, changed-test Zuban, and source/wheel builds pass. The package suite has 203 passing tests and four skips, with one browser-memory test failing during process cleanup (
PermissionError); the same failure occurs on the original code. Full-package Zuban reports the same six errors in three unchanged test files on both versions. No live-service integration tests were run.Frontend validation: all 3 new API-to-modal render tests, 13 existing tracing tests, TypeScript/Vite build, and changed-file hooks pass. The multi-provider test fails on the previous implementation, while single-provider and absent-provider controls pass. Frontend lint exits 0 with the same 13 warnings reproduced on the prior head; the no-warnings checklist item remains unchecked. The published source and packaged renderer match the independently reviewed files.
Related Issue
Fixes #8989
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.