1+ import { ReturnMetadata } from "weaviate-client" ;
2+
13import {
24 QueryAgentResponse ,
35 SearchResult ,
@@ -10,6 +12,8 @@ import {
1012 ProgressMessage ,
1113 DateFilterValue ,
1214 MappedSearchModeResponse ,
15+ WeaviateObjectWithCollection ,
16+ WeaviateReturnWithCollection ,
1317} from "./response.js" ;
1418
1519import {
@@ -22,6 +26,8 @@ import {
2226 ApiSource ,
2327 ApiDateFilterValue ,
2428 ApiSearchModeResponse ,
29+ ApiWeaviateObject ,
30+ ApiWeaviateReturn ,
2531} from "./api-response.js" ;
2632
2733import { ServerSentEvent } from "./server-sent-events.js" ;
@@ -302,19 +308,68 @@ export const mapResponseFromSSE = (
302308 } ;
303309} ;
304310
305- export const mapSearchOnlyResponse = < T > (
306- response : ApiSearchModeResponse < T > ,
311+ const mapWeaviateObject = (
312+ object : ApiWeaviateObject ,
313+ ) : WeaviateObjectWithCollection => {
314+ const metadata : ReturnMetadata = {
315+ creationTime :
316+ object . metadata . creation_time !== null
317+ ? object . metadata . creation_time
318+ : undefined ,
319+ updateTime :
320+ object . metadata . update_time !== null
321+ ? object . metadata . update_time
322+ : undefined ,
323+ distance :
324+ object . metadata . distance !== null ? object . metadata . distance : undefined ,
325+ certainty :
326+ object . metadata . certainty !== null
327+ ? object . metadata . certainty
328+ : undefined ,
329+ score : object . metadata . score !== null ? object . metadata . score : undefined ,
330+ explainScore :
331+ object . metadata . explain_score !== null
332+ ? object . metadata . explain_score
333+ : undefined ,
334+ rerankScore :
335+ object . metadata . rerank_score !== null
336+ ? object . metadata . rerank_score
337+ : undefined ,
338+ isConsistent :
339+ object . metadata . is_consistent !== null
340+ ? object . metadata . is_consistent
341+ : undefined ,
342+ } ;
343+
344+ return {
345+ properties : object . properties ,
346+ metadata : metadata ,
347+ references : undefined ,
348+ uuid : object . uuid ,
349+ vectors : object . vector ,
350+ collection : object . collection ,
351+ } ;
352+ } ;
353+
354+ export const mapWeviateSearchResults = (
355+ response : ApiWeaviateReturn ,
356+ ) : WeaviateReturnWithCollection => ( {
357+ objects : response . objects . map ( mapWeaviateObject ) ,
358+ } ) ;
359+
360+ export const mapSearchOnlyResponse = (
361+ response : ApiSearchModeResponse ,
307362) : {
308- mappedResponse : MappedSearchModeResponse < T > ;
363+ mappedResponse : MappedSearchModeResponse ;
309364 apiSearches : ApiSearchResult [ ] | undefined ;
310365} => {
311366 const apiSearches = response . searches ;
312- const mappedResponse : MappedSearchModeResponse < T > = {
367+ const mappedResponse : MappedSearchModeResponse = {
313368 originalQuery : response . original_query ,
314369 searches : apiSearches ? mapInnerSearches ( apiSearches ) : undefined ,
315370 usage : mapUsage ( response . usage ) ,
316371 totalTime : response . total_time ,
317- searchResults : response . search_results ,
372+ searchResults : mapWeviateSearchResults ( response . search_results ) ,
318373 } ;
319374 return { mappedResponse, apiSearches } ;
320375} ;
0 commit comments