You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: use interfaces.PipelineRunner in RoutePipelineSetter (#116)
* refactor: use interfaces.PipelineRunner in RoutePipelineSetter (closes#58)
Replace the concrete *module.Pipeline type in the RoutePipelineSetter interface
and the CommandHandler/QueryHandler routePipelines map with interfaces.PipelineRunner.
This decouples the engine's route-pipeline wiring contract from the concrete
Pipeline implementation, allowing test doubles and future plugin-provided
pipelines to satisfy the interface without importing the module package.
Changes:
- engine.go: RoutePipelineSetter.SetRoutePipeline now takes interfaces.PipelineRunner
- module/command_handler.go: routePipelines map and SetRoutePipeline use interfaces.PipelineRunner;
ServeHTTP type-asserts to *Pipeline for concrete field access (Metadata, RoutePattern, Execute)
with a Run()-based fallback for non-*Pipeline implementations
- module/query_handler.go: same as command_handler
*module.Pipeline already satisfies PipelineRunner, so engine.go callers pass
*module.Pipeline unchanged — no call-site changes required there.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: typed-nil guard and _response_handled parity for PipelineRunner fallback path (#121)
* Initial plan
* fix: typed-nil guard, _response_handled fallback, add route pipeline tests
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
0 commit comments