Migrate ContextServiceClient.semanticSearch to use the OpenAI session provider when
CE_AI_PROVIDER=openai_session while preserving existing behavior for augment.
- Add provider-resolution and provider instance wiring in
ContextServiceClient. - Add provider-scoped cache-key namespace (
provider:query:topK). - Route
semanticSearchbased on active provider (augment-> DirectContext,openai_session->searchAndAsk). - Add JSON-array parsing for
openai_sessionsearch responses. - Add strict result-path sanitization and unsafe-path filtering.
- Preserve fallback path for malformed provider output (
keywordFallbackSearch). - Keep existing
semantic_searchandcodebase_retrievaltool contracts intact. - Add targeted unit tests for openai provider response parsing/fallback/cache-keying.
- Preserve offline-mode guard behavior for
openai_sessioninsearchAndAsk. - Preserve offline-mode behavior for
augmentin initialization by pre-invokingensureInitialized()when needed. - Optional hardening: move provider-parsing retry and telemetry into shared provider layer.
- Optional cleanup: reduce noisy console output in test environments.
npm test -- --runInBand tests/serviceClient.test.tsnpm test -- --runInBand tests/tools/search.test.ts tests/tools/codebaseRetrieval.test.ts