nomagick commited on
Commit
09dbbd3
·
unverified ·
1 Parent(s): ec7c2ab

fix: retry for brave search

Browse files
backend/functions/src/services/brave-search.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AsyncService, AutoCastable, DownstreamServiceFailureError, Prop, RPC_CALL_ENVIRONMENT, marshalErrorLike } from 'civkit';
2
  import { singleton } from 'tsyringe';
3
  import { Logger } from '../shared/services/logger';
4
  import { SecretExposer } from '../shared/services/secrets';
@@ -31,6 +31,7 @@ export class BraveSearchService extends AsyncService {
31
  this.braveSearchHTTP = new BraveSearchHTTP(this.secretExposer.BRAVE_SEARCH_API_KEY);
32
  }
33
 
 
34
  async webSearch(query: WebSearchQueryParams) {
35
  const ip = this.threadLocal.get('ip');
36
  const extraHeaders: WebSearchOptionalHeaderOptions = {};
@@ -145,7 +146,7 @@ export class BraveSearchExplicitOperatorsDto extends AutoCastable {
145
  return [searchTerm, opPart].join(' ');
146
  }
147
 
148
- return searchTerm
149
  }
150
 
151
  static override from(input: any) {
@@ -163,7 +164,7 @@ export class BraveSearchExplicitOperatorsDto extends AutoCastable {
163
  continue;
164
  }
165
 
166
- const filtered = customValue.split(', ').filter(Boolean)
167
  if (filtered.length) {
168
  Reflect.set(instance, p, filtered);
169
  }
 
1
+ import { AsyncService, AutoCastable, DownstreamServiceFailureError, Prop, RPC_CALL_ENVIRONMENT, marshalErrorLike, retry } from 'civkit';
2
  import { singleton } from 'tsyringe';
3
  import { Logger } from '../shared/services/logger';
4
  import { SecretExposer } from '../shared/services/secrets';
 
31
  this.braveSearchHTTP = new BraveSearchHTTP(this.secretExposer.BRAVE_SEARCH_API_KEY);
32
  }
33
 
34
+ @retry(3, Math.ceil(500 + 500 * Math.random()))
35
  async webSearch(query: WebSearchQueryParams) {
36
  const ip = this.threadLocal.get('ip');
37
  const extraHeaders: WebSearchOptionalHeaderOptions = {};
 
146
  return [searchTerm, opPart].join(' ');
147
  }
148
 
149
+ return searchTerm;
150
  }
151
 
152
  static override from(input: any) {
 
164
  continue;
165
  }
166
 
167
+ const filtered = customValue.split(', ').filter(Boolean);
168
  if (filtered.length) {
169
  Reflect.set(instance, p, filtered);
170
  }