@@ -179,3 +179,34 @@ test("parsePluginConfig rejects empty array apiKey", () => {
179179 / a p i K e y / ,
180180 ) ;
181181} ) ;
182+
183+ test ( "parsePluginConfig resolves env vars in retrieval rerank config" , ( ) => {
184+ process . env . __TEST_RERANK_KEY = "rerank-key-from-env" ;
185+ process . env . __TEST_RERANK_ENDPOINT = "https://api.jina.ai/v1/rerank" ;
186+ process . env . __TEST_RERANK_MODEL = "jina-reranker-v2-base-multilingual" ;
187+ process . env . __TEST_RERANK_PROVIDER = "jina" ;
188+ try {
189+ const config = parsePluginConfig ( {
190+ embedding : {
191+ apiKey : "embed-key" ,
192+ model : "text-embedding-3-small" ,
193+ } ,
194+ retrieval : {
195+ rerank : "cross-encoder" ,
196+ rerankApiKey : "${__TEST_RERANK_KEY}" ,
197+ rerankEndpoint : "${__TEST_RERANK_ENDPOINT}" ,
198+ rerankModel : "${__TEST_RERANK_MODEL}" ,
199+ rerankProvider : "${__TEST_RERANK_PROVIDER}" ,
200+ } ,
201+ } ) ;
202+ assert . equal ( config . retrieval . rerankApiKey , "rerank-key-from-env" ) ;
203+ assert . equal ( config . retrieval . rerankEndpoint , "https://api.jina.ai/v1/rerank" ) ;
204+ assert . equal ( config . retrieval . rerankModel , "jina-reranker-v2-base-multilingual" ) ;
205+ assert . equal ( config . retrieval . rerankProvider , "jina" ) ;
206+ } finally {
207+ delete process . env . __TEST_RERANK_KEY ;
208+ delete process . env . __TEST_RERANK_ENDPOINT ;
209+ delete process . env . __TEST_RERANK_MODEL ;
210+ delete process . env . __TEST_RERANK_PROVIDER ;
211+ }
212+ } ) ;
0 commit comments