Refactor plugins to use validated functional options - #359
Refactor plugins to use validated functional options#359Loyalsoldier with Copilot wants to merge 8 commits into
Conversation
|
@claude[agent] Review this PR, try to refine it and find potential bugs. |
|
@codex[agent] Review this PR, try to refine it and find potential bugs. |
Agent-Logs-Url: https://github.com/Loyalsoldier/geoip/sessions/a71b4444-20f8-444c-bb11-bb3f97beddc3 Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Loyalsoldier/geoip/sessions/a71b4444-20f8-444c-bb11-bb3f97beddc3 Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Reviewed the whole diff. One real regression found and fixed in f91e24c:
Two things I left as-is but worth your call:
Verified with |
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Reviewed the PR and fixed a validation regression in b3bf254: JSON config creators now return validation errors instead of exiting via public constructors. Local |
Plugin construction mixed JSON decoding, defaults, and validation across exported implementations. This refactor applies functional options to every converter and validates documented requirements before returning.
Construction
New*,With*, andNew*FromBytesAPIs.Validation
nameanduriin one option.inputDirthe mutually exclusive alternative.jsonPath,wantedList,search, and V2Rayuri.Integration
inputDir.