倪程伟
|
0a58b3fb35
|
feat(plugin): 插件化搜索 Provider — PluginType.SEARCH + PluginSearchProvider SPI (#477) (#479)
* docs: add plugin search provider design spec and plan (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* feat(plugin-api): add SEARCH plugin type and PluginSearchProvider SPI (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* feat(search): make SearchProviderRegistry accept runtime plugin providers (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* test(search): cover blank plugin provider id rejection (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* feat(plugin): bridge PluginSearchProvider to the core SearchProvider chain (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* feat(plugin): registerSearchProvider lifecycle — register, disable, rollback (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* fix(plugin): preserve cause when wrapping registry conflict as PluginException (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* feat(plugin): add search provider sample plugin module (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* docs(plugin): note unused query params and narrow parse exception in search sample (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
* docs(architecture): document the standalone-jar plugin system and SEARCH type (#477)
Claude-Session: https://claude.ai/code/session_013uyvXEazZkhNw27geRtakK
|
2026-07-03 16:57:27 +08:00 |
|