Adjusting for less duplication in Skills and MCP#358
Conversation
|
Warning Review limit reached
More reviews will be available in 30 minutes and 21 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository: nanoframework/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThis PR consolidates shared utility types across two namespaced variants of the WebServer library. DescriptionAttribute, JsonHelper, and RegistryBase are extracted into single conditional-compilation sources that branch on ChangesShared utility consolidation with dual-namespace support
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@nanoFramework.WebServer.Skills/RegistryBase.cs`:
- Around line 175-182: The nested-Hashtable deserialization branch in
RegistryBase.cs is malformed; fix the DeserializeFromHashtable call and
surrounding control flow by replacing the corrupted fragment so it reads: if
(value is Hashtable nestedHashtable) { object nestedObject =
DeserializeFromHashtable(nestedHashtable, propertyType); method.Invoke(instance,
new object[] { nestedObject }); } else { throw new InvalidCastException(); } —
ensure you use the correct parameter name/propertyType used elsewhere in
RegistryBase (and keep method.Invoke(...) as shown) or, alternatively, remove
this duplicate Skills-local RegistryBase.cs file if the shared
..\Shared\RegistryBase.cs is the canonical source to avoid future build/tooling
issues.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: nanoframework/coderabbit/.coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: b8b42dea-c4a4-42b5-ac56-c66870b75eef
📒 Files selected for processing (8)
Shared/DescriptionAttribute.csShared/JsonHelper.csShared/RegistryBase.csnanoFramework.WebServer.Mcp/DescriptionAttribute.csnanoFramework.WebServer.Mcp/McpToolsJsonHelper.csnanoFramework.WebServer.Mcp/nanoFramework.WebServer.Mcp.nfprojnanoFramework.WebServer.Skills/RegistryBase.csnanoFramework.WebServer.Skills/nanoFramework.WebServer.Skills.nfproj
💤 Files with no reviewable changes (2)
- nanoFramework.WebServer.Mcp/DescriptionAttribute.cs
- nanoFramework.WebServer.Mcp/McpToolsJsonHelper.cs
|



Description
Adjusting for less duplication in Skills and MCP
Motivation and Context
How Has This Been Tested?
Screenshots
Types of changes
Checklist: