feat(nvidia): fetch featured model catalog#79482
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close as superseded: the newer open implementation at #80775 covers the same NVIDIA featured-catalog work, credits this branch's author as co-author, and adds the HTTPS, bounded parsing, release cleanup, onboarding-test, and proof improvements missing here. So I’m closing this here and keeping the remaining discussion on the canonical linked item. Review detailsBest possible solution: Review and land one provider-owned NVIDIA live-catalog implementation through #80775, then close the linked feature request once that canonical path merges. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a feature PR for live NVIDIA catalog discovery, not a broken existing behavior report. Source inspection confirms current main still uses static NVIDIA catalog rows, and both PR diffs show the intended live provider path. Is this the best way to solve the issue? No for this branch: the provider-owned live/static design is the right shape, but this PR is superseded by the newer open implementation with stronger network hardening, validation bounds, onboarding coverage, and sufficient real behavior proof. Security review: Security review needs attention: If this branch were merged, the new public NVIDIA catalog fetch would need the HTTPS and bounded-parsing hardening already present in the newer canonical PR.
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against dc70841f8bcb. |
3e4aec9 to
c8ea1cf
Compare
c8ea1cf to
7793c56
Compare
|
@clawsweeper why close my PR? |
Summary
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof (required for external PRs)
.local/node22/bin.PATH=/home/ubuntu/.local/node22/bin:$PATH node -e 'fetch("https://assets.ngc.nvidia.com/products/api-catalog/featured-models.json").then(async r=>{const j=await r.json(); console.log(JSON.stringify({status:r.status, count:j["featured-models"]?.length, first:j["featured-models"]?.[0]}, null, 2));})'Root Cause (if applicable)
Regression Test Plan (if applicable)
N/A
extensions/nvidia/provider-catalog.test.ts,extensions/nvidia/index.test.tsUser-visible / Behavior Changes
NVIDIA setup and model-selection surfaces can show NVIDIA's current public featured models without an OpenClaw code update. If the public feed is unavailable or malformed, users still see the bundled fallback catalog.
Diagram (if applicable)
Security Impact (required)
Yes/No) NoYes/No) NoYes/No) YesYes/No) NoYes/No) NoYes, explain risk + mitigation: the NVIDIA provider performs a credential-free GET to NVIDIA's public featured-model JSON endpoint. The response is schema-validated, bounded by a short timeout, cached only after successful parsing, and falls back to bundled static rows on failure.Repro + Verification
Environment
.local/node22/bin, local checkoutSteps
Expected
Actual
status: 200,count: 4, first rownemotron-3-super-120b-a12bwith context262144and max output8192.pnpm test extensions/nvidia/provider-catalog.test.ts extensions/nvidia/index.test.ts extensions/nvidia/onboard.test.tspassed: 3 files, 17 tests.pnpm check:changed --stagedpassed for lanesextensions, extensionTests, docs.Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
augmentModelCatalogfallback and live rows, extension typecheck/lint/import-cycle changed gate.nemotron-...tonvidia/nemotron-...; duplicate fallback row suppression.Review Conversations
If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.
Compatibility / Migration
Yes/No) YesYes/No) NoYes/No) NoRisks and Mitigations