@@ -72,12 +72,14 @@ class GenerateManager<T> implements Generate<T> {
7272 ) : Promise < GenerativeReturn < T > > {
7373 return this . check
7474 . fetchObjects ( opts )
75- . then ( ( { search } ) =>
76- search . withFetch ( {
75+ . then ( ( { search } ) => ( {
76+ search,
77+ args : {
7778 ...Serialize . search . fetchObjects ( opts ) ,
7879 generative : Serialize . generative ( generate ) ,
79- } )
80- )
80+ } ,
81+ } ) )
82+ . then ( ( { search, args } ) => search . withFetch ( args ) )
8183 . then ( ( reply ) => this . parseReply ( reply ) ) ;
8284 }
8385
@@ -94,12 +96,14 @@ class GenerateManager<T> implements Generate<T> {
9496 public bm25 ( query : string , generate : GenerateOptions < T > , opts ?: Bm25Options < T > ) : GenerateReturn < T > {
9597 return this . check
9698 . bm25 ( opts )
97- . then ( ( { search } ) =>
98- search . withBm25 ( {
99+ . then ( ( { search } ) => ( {
100+ search,
101+ args : {
99102 ...Serialize . search . bm25 ( query , opts ) ,
100103 generative : Serialize . generative ( generate ) ,
101- } )
102- )
104+ } ,
105+ } ) )
106+ . then ( ( { search, args } ) => search . withBm25 ( args ) )
103107 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
104108 }
105109
@@ -116,20 +120,31 @@ class GenerateManager<T> implements Generate<T> {
116120 public hybrid ( query : string , generate : GenerateOptions < T > , opts ?: HybridOptions < T > ) : GenerateReturn < T > {
117121 return this . check
118122 . hybridSearch ( opts )
119- . then ( ( { search, supportsTargets, supportsVectorsForTargets, supportsWeightsForTargets } ) =>
120- search . withHybrid ( {
121- ...Serialize . search . hybrid (
122- {
123- query,
124- supportsTargets,
125- supportsVectorsForTargets,
126- supportsWeightsForTargets,
127- } ,
128- opts
129- ) ,
130- generative : Serialize . generative ( generate ) ,
123+ . then (
124+ async ( {
125+ search,
126+ supportsTargets,
127+ supportsVectorsForTargets,
128+ supportsWeightsForTargets,
129+ supportsVectors,
130+ } ) => ( {
131+ search,
132+ args : {
133+ ...( await Serialize . search . hybrid (
134+ {
135+ query,
136+ supportsTargets,
137+ supportsVectorsForTargets,
138+ supportsWeightsForTargets,
139+ supportsVectors,
140+ } ,
141+ opts
142+ ) ) ,
143+ generative : Serialize . generative ( generate ) ,
144+ } ,
131145 } )
132146 )
147+ . then ( ( { search, args } ) => search . withHybrid ( args ) )
133148 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
134149 }
135150
@@ -150,21 +165,21 @@ class GenerateManager<T> implements Generate<T> {
150165 ) : GenerateReturn < T > {
151166 return this . check
152167 . nearSearch ( opts )
153- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
154- toBase64FromMedia ( image ) . then ( ( image ) =>
155- search . withNearImage ( {
156- ...Serialize . search . nearImage (
157- {
158- image,
159- supportsTargets,
160- supportsWeightsForTargets,
161- } ,
162- opts
163- ) ,
164- generative : Serialize . generative ( generate ) ,
165- } )
166- )
167- )
168+ . then ( async ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
169+ search ,
170+ args : {
171+ ...Serialize . search . nearImage (
172+ {
173+ image : await toBase64FromMedia ( image ) ,
174+ supportsTargets,
175+ supportsWeightsForTargets,
176+ } ,
177+ opts
178+ ) ,
179+ generative : Serialize . generative ( generate ) ,
180+ } ,
181+ } ) )
182+ . then ( ( { search , args } ) => search . withNearImage ( args ) )
168183 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
169184 }
170185
@@ -181,8 +196,9 @@ class GenerateManager<T> implements Generate<T> {
181196 public nearObject ( id : string , generate : GenerateOptions < T > , opts ?: NearOptions < T > ) : GenerateReturn < T > {
182197 return this . check
183198 . nearSearch ( opts )
184- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
185- search . withNearObject ( {
199+ . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
200+ search,
201+ args : {
186202 ...Serialize . search . nearObject (
187203 {
188204 id,
@@ -192,8 +208,9 @@ class GenerateManager<T> implements Generate<T> {
192208 opts
193209 ) ,
194210 generative : Serialize . generative ( generate ) ,
195- } )
196- )
211+ } ,
212+ } ) )
213+ . then ( ( { search, args } ) => search . withNearObject ( args ) )
197214 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
198215 }
199216
@@ -214,8 +231,9 @@ class GenerateManager<T> implements Generate<T> {
214231 ) : GenerateReturn < T > {
215232 return this . check
216233 . nearSearch ( opts )
217- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
218- search . withNearText ( {
234+ . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
235+ search,
236+ args : {
219237 ...Serialize . search . nearText (
220238 {
221239 query,
@@ -225,8 +243,9 @@ class GenerateManager<T> implements Generate<T> {
225243 opts
226244 ) ,
227245 generative : Serialize . generative ( generate ) ,
228- } )
229- )
246+ } ,
247+ } ) )
248+ . then ( ( { search, args } ) => search . withNearText ( args ) )
230249 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
231250 }
232251
@@ -247,20 +266,31 @@ class GenerateManager<T> implements Generate<T> {
247266 ) : GenerateReturn < T > {
248267 return this . check
249268 . nearVector ( vector , opts )
250- . then ( ( { search, supportsTargets, supportsVectorsForTargets, supportsWeightsForTargets } ) =>
251- search . withNearVector ( {
252- ...Serialize . search . nearVector (
253- {
254- vector,
255- supportsTargets,
256- supportsVectorsForTargets,
257- supportsWeightsForTargets,
258- } ,
259- opts
260- ) ,
261- generative : Serialize . generative ( generate ) ,
269+ . then (
270+ async ( {
271+ search,
272+ supportsTargets,
273+ supportsVectorsForTargets,
274+ supportsWeightsForTargets,
275+ supportsVectors,
276+ } ) => ( {
277+ search,
278+ args : {
279+ ...( await Serialize . search . nearVector (
280+ {
281+ vector,
282+ supportsTargets,
283+ supportsVectorsForTargets,
284+ supportsWeightsForTargets,
285+ supportsVectors,
286+ } ,
287+ opts
288+ ) ) ,
289+ generative : Serialize . generative ( generate ) ,
290+ } ,
262291 } )
263292 )
293+ . then ( ( { search, args } ) => search . withNearVector ( args ) )
264294 . then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
265295 }
266296
0 commit comments