@framers/agentos 0.1.198 → 0.1.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +1 -0
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.js +5 -2
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -1
- package/dist/hearing/providers/AssemblyAISTTProvider.d.ts +1 -0
- package/dist/hearing/providers/AssemblyAISTTProvider.d.ts.map +1 -1
- package/dist/hearing/providers/AssemblyAISTTProvider.js +5 -15
- package/dist/hearing/providers/AssemblyAISTTProvider.js.map +1 -1
- package/dist/hearing/providers/DeepgramBatchSTTProvider.d.ts +1 -0
- package/dist/hearing/providers/DeepgramBatchSTTProvider.d.ts.map +1 -1
- package/dist/hearing/providers/DeepgramBatchSTTProvider.js +3 -15
- package/dist/hearing/providers/DeepgramBatchSTTProvider.js.map +1 -1
- package/dist/media/audio/providers/FalAudioProvider.d.ts +1 -0
- package/dist/media/audio/providers/FalAudioProvider.d.ts.map +1 -1
- package/dist/media/audio/providers/FalAudioProvider.js +5 -3
- package/dist/media/audio/providers/FalAudioProvider.js.map +1 -1
- package/dist/media/audio/providers/ReplicateAudioProvider.d.ts +1 -0
- package/dist/media/audio/providers/ReplicateAudioProvider.d.ts.map +1 -1
- package/dist/media/audio/providers/ReplicateAudioProvider.js +4 -2
- package/dist/media/audio/providers/ReplicateAudioProvider.js.map +1 -1
- package/dist/media/audio/providers/StableAudioProvider.d.ts +1 -0
- package/dist/media/audio/providers/StableAudioProvider.d.ts.map +1 -1
- package/dist/media/audio/providers/StableAudioProvider.js +3 -1
- package/dist/media/audio/providers/StableAudioProvider.js.map +1 -1
- package/dist/media/audio/providers/SunoProvider.d.ts +1 -0
- package/dist/media/audio/providers/SunoProvider.d.ts.map +1 -1
- package/dist/media/audio/providers/SunoProvider.js +4 -2
- package/dist/media/audio/providers/SunoProvider.js.map +1 -1
- package/dist/media/audio/providers/UdioProvider.d.ts +1 -0
- package/dist/media/audio/providers/UdioProvider.d.ts.map +1 -1
- package/dist/media/audio/providers/UdioProvider.js +4 -2
- package/dist/media/audio/providers/UdioProvider.js.map +1 -1
- package/dist/media/images/providers/FalImageProvider.d.ts +1 -0
- package/dist/media/images/providers/FalImageProvider.d.ts.map +1 -1
- package/dist/media/images/providers/FalImageProvider.js +5 -3
- package/dist/media/images/providers/FalImageProvider.js.map +1 -1
- package/dist/media/images/providers/FluxImageProvider.d.ts +1 -0
- package/dist/media/images/providers/FluxImageProvider.d.ts.map +1 -1
- package/dist/media/images/providers/FluxImageProvider.js +4 -2
- package/dist/media/images/providers/FluxImageProvider.js.map +1 -1
- package/dist/media/images/providers/ReplicateImageProvider.d.ts +1 -0
- package/dist/media/images/providers/ReplicateImageProvider.d.ts.map +1 -1
- package/dist/media/images/providers/ReplicateImageProvider.js +5 -3
- package/dist/media/images/providers/ReplicateImageProvider.js.map +1 -1
- package/dist/media/images/providers/StabilityImageProvider.d.ts +1 -0
- package/dist/media/images/providers/StabilityImageProvider.d.ts.map +1 -1
- package/dist/media/images/providers/StabilityImageProvider.js +5 -3
- package/dist/media/images/providers/StabilityImageProvider.js.map +1 -1
- package/dist/media/video/providers/FalVideoProvider.d.ts +1 -0
- package/dist/media/video/providers/FalVideoProvider.d.ts.map +1 -1
- package/dist/media/video/providers/FalVideoProvider.js +5 -3
- package/dist/media/video/providers/FalVideoProvider.js.map +1 -1
- package/dist/media/video/providers/ReplicateVideoProvider.d.ts +1 -0
- package/dist/media/video/providers/ReplicateVideoProvider.d.ts.map +1 -1
- package/dist/media/video/providers/ReplicateVideoProvider.js +4 -2
- package/dist/media/video/providers/ReplicateVideoProvider.js.map +1 -1
- package/dist/media/video/providers/RunwayVideoProvider.d.ts +1 -0
- package/dist/media/video/providers/RunwayVideoProvider.d.ts.map +1 -1
- package/dist/media/video/providers/RunwayVideoProvider.js +4 -2
- package/dist/media/video/providers/RunwayVideoProvider.js.map +1 -1
- package/dist/voice-pipeline/providers/DeepgramStreamingSTT.d.ts +2 -1
- package/dist/voice-pipeline/providers/DeepgramStreamingSTT.d.ts.map +1 -1
- package/dist/voice-pipeline/providers/DeepgramStreamingSTT.js +5 -2
- package/dist/voice-pipeline/providers/DeepgramStreamingSTT.js.map +1 -1
- package/dist/voice-pipeline/providers/OpenAIBatchTTS.d.ts +2 -0
- package/dist/voice-pipeline/providers/OpenAIBatchTTS.d.ts.map +1 -1
- package/dist/voice-pipeline/providers/OpenAIBatchTTS.js +15 -8
- package/dist/voice-pipeline/providers/OpenAIBatchTTS.js.map +1 -1
- package/dist/web-search/providers/BraveProvider.d.ts +1 -1
- package/dist/web-search/providers/BraveProvider.d.ts.map +1 -1
- package/dist/web-search/providers/BraveProvider.js +4 -3
- package/dist/web-search/providers/BraveProvider.js.map +1 -1
- package/dist/web-search/providers/FirecrawlProvider.d.ts +1 -1
- package/dist/web-search/providers/FirecrawlProvider.d.ts.map +1 -1
- package/dist/web-search/providers/FirecrawlProvider.js +4 -3
- package/dist/web-search/providers/FirecrawlProvider.js.map +1 -1
- package/dist/web-search/providers/SerperProvider.d.ts +1 -1
- package/dist/web-search/providers/SerperProvider.d.ts.map +1 -1
- package/dist/web-search/providers/SerperProvider.js +4 -3
- package/dist/web-search/providers/SerperProvider.js.map +1 -1
- package/dist/web-search/providers/TavilyProvider.d.ts +1 -1
- package/dist/web-search/providers/TavilyProvider.d.ts.map +1 -1
- package/dist/web-search/providers/TavilyProvider.js +4 -3
- package/dist/web-search/providers/TavilyProvider.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
* @see {@link IVideoGenerator} for the provider interface contract.
|
|
33
33
|
* @see {@link FalImageProvider} for the image counterpart.
|
|
34
34
|
*/
|
|
35
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
// Helpers
|
|
37
38
|
// ---------------------------------------------------------------------------
|
|
@@ -105,6 +106,7 @@ export class FalVideoProvider {
|
|
|
105
106
|
: 300000,
|
|
106
107
|
};
|
|
107
108
|
this.defaultModelId = this._config.defaultModelId;
|
|
109
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
108
110
|
this.isInitialized = true;
|
|
109
111
|
}
|
|
110
112
|
// -------------------------------------------------------------------------
|
|
@@ -211,7 +213,7 @@ export class FalVideoProvider {
|
|
|
211
213
|
const response = await fetch(url, {
|
|
212
214
|
method: 'POST',
|
|
213
215
|
headers: {
|
|
214
|
-
Authorization: `Key ${this.
|
|
216
|
+
Authorization: `Key ${this.keyPool.next()}`,
|
|
215
217
|
'Content-Type': 'application/json',
|
|
216
218
|
},
|
|
217
219
|
body: JSON.stringify(body),
|
|
@@ -241,7 +243,7 @@ export class FalVideoProvider {
|
|
|
241
243
|
const url = `${this._config.baseURL}/${model}/requests/${requestId}/status`;
|
|
242
244
|
const response = await fetch(url, {
|
|
243
245
|
headers: {
|
|
244
|
-
Authorization: `Key ${this.
|
|
246
|
+
Authorization: `Key ${this.keyPool.next()}`,
|
|
245
247
|
},
|
|
246
248
|
});
|
|
247
249
|
if (!response.ok) {
|
|
@@ -278,7 +280,7 @@ export class FalVideoProvider {
|
|
|
278
280
|
const url = `${this._config.baseURL}/${model}/requests/${requestId}`;
|
|
279
281
|
const response = await fetch(url, {
|
|
280
282
|
headers: {
|
|
281
|
-
Authorization: `Key ${this.
|
|
283
|
+
Authorization: `Key ${this.keyPool.next()}`,
|
|
282
284
|
},
|
|
283
285
|
});
|
|
284
286
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FalVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/FalVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"FalVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/FalVideoProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,7 @@ export declare class ReplicateVideoProvider implements IVideoGenerator {
|
|
|
99
99
|
defaultModelId?: string;
|
|
100
100
|
/** Internal resolved configuration. */
|
|
101
101
|
private _config;
|
|
102
|
+
private keyPool;
|
|
102
103
|
/**
|
|
103
104
|
* Initialize the provider with API credentials and optional configuration.
|
|
104
105
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicateVideoProvider.d.ts","sourceRoot":"","sources":["../../../../src/media/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ReplicateVideoProvider.d.ts","sourceRoot":"","sources":["../../../../src/media/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,kBAAkB;IAClB,SAAgB,UAAU,eAAe;IAEzC,kBAAkB;IACX,aAAa,UAAS;IAE7B,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,uCAAuC;IACvC,OAAO,CAAC,OAAO,CAAsI;IACrJ,OAAO,CAAC,OAAO,CAAc;IAM7B;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmChE;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBxE;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BtE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO;IAIjE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;;;;;;;;;;;OAcG;YACW,cAAc;IAyB5B;;;;;;;;;OASG;YACW,iBAAiB;IA2B/B;;;;;;;;OAQG;YACW,eAAe;IAgC7B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAwBrB"}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
* @see {@link IVideoGenerator} for the provider interface contract.
|
|
33
33
|
* @see {@link ReplicateImageProvider} for the image counterpart.
|
|
34
34
|
*/
|
|
35
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
// Helpers
|
|
37
38
|
// ---------------------------------------------------------------------------
|
|
@@ -143,6 +144,7 @@ export class ReplicateVideoProvider {
|
|
|
143
144
|
: 300000,
|
|
144
145
|
};
|
|
145
146
|
this.defaultModelId = this._config.defaultModelId;
|
|
147
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
146
148
|
this.isInitialized = true;
|
|
147
149
|
}
|
|
148
150
|
// -------------------------------------------------------------------------
|
|
@@ -278,7 +280,7 @@ export class ReplicateVideoProvider {
|
|
|
278
280
|
const response = await fetch(`${this._config.baseURL}/predictions`, {
|
|
279
281
|
method: 'POST',
|
|
280
282
|
headers: {
|
|
281
|
-
Authorization: `Token ${this.
|
|
283
|
+
Authorization: `Token ${this.keyPool.next()}`,
|
|
282
284
|
'Content-Type': 'application/json',
|
|
283
285
|
Prefer: 'wait=60',
|
|
284
286
|
},
|
|
@@ -304,7 +306,7 @@ export class ReplicateVideoProvider {
|
|
|
304
306
|
while (Date.now() - startedAt < this._config.timeoutMs) {
|
|
305
307
|
const response = await fetch(url, {
|
|
306
308
|
headers: {
|
|
307
|
-
Authorization: `Token ${this.
|
|
309
|
+
Authorization: `Token ${this.keyPool.next()}`,
|
|
308
310
|
},
|
|
309
311
|
});
|
|
310
312
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicateVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"ReplicateVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,7 @@ export declare class RunwayVideoProvider implements IVideoGenerator {
|
|
|
98
98
|
defaultModelId?: string;
|
|
99
99
|
/** Internal resolved configuration. */
|
|
100
100
|
private _config;
|
|
101
|
+
private keyPool;
|
|
101
102
|
/**
|
|
102
103
|
* Initialize the provider with API credentials and optional configuration.
|
|
103
104
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunwayVideoProvider.d.ts","sourceRoot":"","sources":["../../../../src/media/video/providers/RunwayVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"RunwayVideoProvider.d.ts","sourceRoot":"","sources":["../../../../src/media/video/providers/RunwayVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,kBAAkB;IAClB,SAAgB,UAAU,YAAY;IAEtC,kBAAkB;IACX,aAAa,UAAS;IAE7B,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,uCAAuC;IACvC,OAAO,CAAC,OAAO,CAAgI;IAC/I,OAAO,CAAC,OAAO,CAAc;IAM7B;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmChE;;;;;;;;;;OAUG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBxE;;;;;;;;;OASG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCtE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO;IAIjE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;;;;;;OASG;YACW,WAAW;IAyBzB;;;;;;;;OAQG;YACW,SAAS;IAoCvB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAqBrB"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
*
|
|
30
30
|
* @see {@link IVideoGenerator} for the provider interface contract.
|
|
31
31
|
*/
|
|
32
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
32
33
|
// ---------------------------------------------------------------------------
|
|
33
34
|
// Helpers
|
|
34
35
|
// ---------------------------------------------------------------------------
|
|
@@ -104,6 +105,7 @@ export class RunwayVideoProvider {
|
|
|
104
105
|
: 300000,
|
|
105
106
|
};
|
|
106
107
|
this.defaultModelId = this._config.defaultModelId;
|
|
108
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
107
109
|
this.isInitialized = true;
|
|
108
110
|
}
|
|
109
111
|
// -------------------------------------------------------------------------
|
|
@@ -210,7 +212,7 @@ export class RunwayVideoProvider {
|
|
|
210
212
|
const response = await fetch(url, {
|
|
211
213
|
method: 'POST',
|
|
212
214
|
headers: {
|
|
213
|
-
Authorization: `Bearer ${this.
|
|
215
|
+
Authorization: `Bearer ${this.keyPool.next()}`,
|
|
214
216
|
'Content-Type': 'application/json',
|
|
215
217
|
},
|
|
216
218
|
body: JSON.stringify(body),
|
|
@@ -240,7 +242,7 @@ export class RunwayVideoProvider {
|
|
|
240
242
|
const url = `${this._config.baseURL}/tasks/${taskId}`;
|
|
241
243
|
const response = await fetch(url, {
|
|
242
244
|
headers: {
|
|
243
|
-
Authorization: `Bearer ${this.
|
|
245
|
+
Authorization: `Bearer ${this.keyPool.next()}`,
|
|
244
246
|
},
|
|
245
247
|
});
|
|
246
248
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunwayVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/RunwayVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"RunwayVideoProvider.js","sourceRoot":"","sources":["../../../../src/media/video/providers/RunwayVideoProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,10 +59,11 @@ export declare class DeepgramStreamingSTT implements IStreamingSTT {
|
|
|
59
59
|
private readonly config;
|
|
60
60
|
readonly providerId = "deepgram-streaming";
|
|
61
61
|
readonly isStreaming = true;
|
|
62
|
+
private readonly keyPool;
|
|
62
63
|
constructor(config: DeepgramStreamingSTTConfig);
|
|
63
64
|
/**
|
|
64
65
|
* Create a new streaming STT session connected to Deepgram.
|
|
65
|
-
*
|
|
66
|
+
* Each session gets a fresh key from the round-robin pool.
|
|
66
67
|
*/
|
|
67
68
|
startSession(config?: StreamingSTTConfig): Promise<StreamingSTTSession>;
|
|
68
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepgramStreamingSTT.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/DeepgramStreamingSTT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"DeepgramStreamingSTT.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/DeepgramStreamingSTT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmQD;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IAK5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,QAAQ,CAAC,UAAU,wBAAwB;IAC3C,QAAQ,CAAC,WAAW,QAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,MAAM,EAAE,0BAA0B;IAI/D;;;OAGG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAM9E"}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { EventEmitter } from 'node:events';
|
|
27
27
|
import WebSocket from 'ws';
|
|
28
|
+
import { ApiKeyPool } from '../../core/providers/ApiKeyPool.js';
|
|
28
29
|
// ---------------------------------------------------------------------------
|
|
29
30
|
// Session Implementation
|
|
30
31
|
// ---------------------------------------------------------------------------
|
|
@@ -227,13 +228,15 @@ export class DeepgramStreamingSTT {
|
|
|
227
228
|
this.config = config;
|
|
228
229
|
this.providerId = 'deepgram-streaming';
|
|
229
230
|
this.isStreaming = true;
|
|
231
|
+
this.keyPool = new ApiKeyPool(config.apiKey);
|
|
230
232
|
}
|
|
231
233
|
/**
|
|
232
234
|
* Create a new streaming STT session connected to Deepgram.
|
|
233
|
-
*
|
|
235
|
+
* Each session gets a fresh key from the round-robin pool.
|
|
234
236
|
*/
|
|
235
237
|
async startSession(config) {
|
|
236
|
-
const
|
|
238
|
+
const resolvedConfig = { ...this.config, apiKey: this.keyPool.next() };
|
|
239
|
+
const session = new DeepgramStreamingSTTSession(resolvedConfig, config ?? {});
|
|
237
240
|
await session.connect();
|
|
238
241
|
return session;
|
|
239
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepgramStreamingSTT.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/DeepgramStreamingSTT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,SAAS,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"DeepgramStreamingSTT.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/DeepgramStreamingSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ export declare class OpenAIBatchTTS implements IBatchTTS {
|
|
|
31
31
|
* @param config - Optional voice, format, and speed overrides.
|
|
32
32
|
* @returns The synthesized audio buffer with metadata.
|
|
33
33
|
*/
|
|
34
|
+
/** Valid OpenAI TTS voice names. */
|
|
35
|
+
private static readonly VALID_VOICES;
|
|
34
36
|
synthesize(text: string, config?: BatchTTSConfig): Promise<BatchTTSResult>;
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=OpenAIBatchTTS.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIBatchTTS.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/OpenAIBatchTTS.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7E,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,oBAAoB;IAOxC;;;;;;OAMG;
|
|
1
|
+
{"version":3,"file":"OpenAIBatchTTS.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/OpenAIBatchTTS.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7E,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,oBAAoB;IAOxC;;;;;;OAMG;IACH,oCAAoC;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAEjC;IAEG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAgDjF"}
|
|
@@ -19,15 +19,11 @@ export class OpenAIBatchTTS {
|
|
|
19
19
|
this.baseUrl = config.baseUrl ?? 'https://api.openai.com/v1';
|
|
20
20
|
this.providerId = `openai-${this.model}`;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Synthesize complete text into audio via the OpenAI speech API.
|
|
24
|
-
*
|
|
25
|
-
* @param text - The text to synthesize.
|
|
26
|
-
* @param config - Optional voice, format, and speed overrides.
|
|
27
|
-
* @returns The synthesized audio buffer with metadata.
|
|
28
|
-
*/
|
|
29
22
|
async synthesize(text, config) {
|
|
30
|
-
|
|
23
|
+
// Validate voice name — if an external voice ID (e.g. ElevenLabs) is passed
|
|
24
|
+
// via the fallback chain, fall back to 'nova' instead of sending it to OpenAI.
|
|
25
|
+
const rawVoice = config?.voice ?? 'nova';
|
|
26
|
+
const voice = OpenAIBatchTTS.VALID_VOICES.has(rawVoice) ? rawVoice : 'nova';
|
|
31
27
|
const format = config?.format ?? 'mp3';
|
|
32
28
|
const body = {
|
|
33
29
|
model: this.model,
|
|
@@ -66,4 +62,15 @@ export class OpenAIBatchTTS {
|
|
|
66
62
|
return { audio, format, durationMs, provider: this.providerId };
|
|
67
63
|
}
|
|
68
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Synthesize complete text into audio via the OpenAI speech API.
|
|
67
|
+
*
|
|
68
|
+
* @param text - The text to synthesize.
|
|
69
|
+
* @param config - Optional voice, format, and speed overrides.
|
|
70
|
+
* @returns The synthesized audio buffer with metadata.
|
|
71
|
+
*/
|
|
72
|
+
/** Valid OpenAI TTS voice names. */
|
|
73
|
+
OpenAIBatchTTS.VALID_VOICES = new Set([
|
|
74
|
+
'nova', 'shimmer', 'echo', 'onyx', 'fable', 'alloy', 'ash', 'sage', 'coral',
|
|
75
|
+
]);
|
|
69
76
|
//# sourceMappingURL=OpenAIBatchTTS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIBatchTTS.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/OpenAIBatchTTS.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAYnE,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,KAAM,CAAC;AAEjC;;;GAGG;AACH,MAAM,OAAO,cAAc;IAMzB,YAAY,MAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAIBatchTTS.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/OpenAIBatchTTS.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { IWebSearchProvider, WebSearchResult } from '../types';
|
|
7
7
|
export declare class BraveProvider implements IWebSearchProvider {
|
|
8
|
-
private readonly apiKey;
|
|
9
8
|
readonly providerId: "brave";
|
|
10
9
|
readonly weight = 1;
|
|
10
|
+
private readonly keyPool;
|
|
11
11
|
constructor(apiKey: string);
|
|
12
12
|
isAvailable(): boolean;
|
|
13
13
|
search(query: string, limit?: number): Promise<WebSearchResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BraveProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/BraveProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"BraveProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/BraveProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,qBAAa,aAAc,YAAW,kBAAkB;IACtD,QAAQ,CAAC,UAAU,EAAG,OAAO,CAAU;IACvC,QAAQ,CAAC,MAAM,KAAO;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,MAAM;IAI1B,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAa3E"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import { ApiKeyPool } from '../../core/providers/ApiKeyPool.js';
|
|
1
2
|
export class BraveProvider {
|
|
2
3
|
constructor(apiKey) {
|
|
3
|
-
this.apiKey = apiKey;
|
|
4
4
|
this.providerId = 'brave';
|
|
5
5
|
this.weight = 1.0;
|
|
6
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
6
7
|
}
|
|
7
8
|
isAvailable() {
|
|
8
|
-
return this.
|
|
9
|
+
return this.keyPool.hasKeys;
|
|
9
10
|
}
|
|
10
11
|
async search(query, limit = 5) {
|
|
11
12
|
const params = new URLSearchParams({ q: query, count: String(limit) });
|
|
12
13
|
const res = await fetch(`https://api.search.brave.com/res/v1/web/search?${params}`, {
|
|
13
|
-
headers: { 'X-Subscription-Token': this.
|
|
14
|
+
headers: { 'X-Subscription-Token': this.keyPool.next() },
|
|
14
15
|
});
|
|
15
16
|
const data = await res.json();
|
|
16
17
|
return (data.web?.results ?? []).map((r) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BraveProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/BraveProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BraveProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/BraveProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,MAAM,OAAO,aAAa;IAMxB,YAAY,MAAc;QALjB,eAAU,GAAG,OAAgB,CAAC;QAC9B,WAAM,GAAG,GAAG,CAAC;QAKpB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,kDAAkD,MAAM,EAAE,EAAE;YAClF,OAAO,EAAE,EAAE,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;SACzD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC;YACpE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { IWebSearchProvider, WebSearchResult } from '../types';
|
|
9
9
|
export declare class FirecrawlProvider implements IWebSearchProvider {
|
|
10
|
-
private readonly apiKey;
|
|
11
10
|
readonly providerId: "firecrawl";
|
|
12
11
|
readonly weight = 1.5;
|
|
12
|
+
private readonly keyPool;
|
|
13
13
|
constructor(apiKey: string);
|
|
14
14
|
isAvailable(): boolean;
|
|
15
15
|
search(query: string, limit?: number): Promise<WebSearchResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirecrawlProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/FirecrawlProvider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"FirecrawlProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/FirecrawlProvider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,QAAQ,CAAC,UAAU,EAAG,WAAW,CAAU;IAC3C,QAAQ,CAAC,MAAM,OAAO;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,MAAM;IAI1B,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA6B3E"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { ApiKeyPool } from '../../core/providers/ApiKeyPool.js';
|
|
1
2
|
export class FirecrawlProvider {
|
|
2
3
|
constructor(apiKey) {
|
|
3
|
-
this.apiKey = apiKey;
|
|
4
4
|
this.providerId = 'firecrawl';
|
|
5
5
|
this.weight = 1.5;
|
|
6
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
6
7
|
}
|
|
7
8
|
isAvailable() {
|
|
8
|
-
return this.
|
|
9
|
+
return this.keyPool.hasKeys;
|
|
9
10
|
}
|
|
10
11
|
async search(query, limit = 5) {
|
|
11
12
|
const res = await fetch('https://api.firecrawl.dev/v1/search', {
|
|
12
13
|
method: 'POST',
|
|
13
14
|
headers: {
|
|
14
|
-
Authorization: `Bearer ${this.
|
|
15
|
+
Authorization: `Bearer ${this.keyPool.next()}`,
|
|
15
16
|
'Content-Type': 'application/json',
|
|
16
17
|
},
|
|
17
18
|
body: JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirecrawlProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/FirecrawlProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FirecrawlProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/FirecrawlProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,MAAM,OAAO,iBAAiB;IAM5B,YAAY,MAAc;QALjB,eAAU,GAAG,WAAoB,CAAC;QAClC,WAAM,GAAG,GAAG,CAAC;QAKpB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qCAAqC,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAC9C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,KAAK;gBACL,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;aAChE,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAK,CAAC,CAAC,QAAoC,EAAE,SAAS,IAAI,EAAE,CAAC;YAC9E,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAK,CAAC,CAAC,QAAoC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9E,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAK,CAAC,CAAC,QAAoC,EAAE,WAAW,IAAI,EAAE,CAAC;YAC5F,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { IWebSearchProvider, WebSearchResult } from '../types';
|
|
7
7
|
export declare class SerperProvider implements IWebSearchProvider {
|
|
8
|
-
private readonly apiKey;
|
|
9
8
|
readonly providerId: "serper";
|
|
10
9
|
readonly weight = 1;
|
|
10
|
+
private readonly keyPool;
|
|
11
11
|
constructor(apiKey: string);
|
|
12
12
|
isAvailable(): boolean;
|
|
13
13
|
search(query: string, limit?: number): Promise<WebSearchResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerperProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/SerperProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SerperProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/SerperProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,UAAU,EAAG,QAAQ,CAAU;IACxC,QAAQ,CAAC,MAAM,KAAO;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,MAAM;IAI1B,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAiB3E"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { ApiKeyPool } from '../../core/providers/ApiKeyPool.js';
|
|
1
2
|
export class SerperProvider {
|
|
2
3
|
constructor(apiKey) {
|
|
3
|
-
this.apiKey = apiKey;
|
|
4
4
|
this.providerId = 'serper';
|
|
5
5
|
this.weight = 1.0;
|
|
6
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
6
7
|
}
|
|
7
8
|
isAvailable() {
|
|
8
|
-
return this.
|
|
9
|
+
return this.keyPool.hasKeys;
|
|
9
10
|
}
|
|
10
11
|
async search(query, limit = 5) {
|
|
11
12
|
const res = await fetch('https://google.serper.dev/search', {
|
|
12
13
|
method: 'POST',
|
|
13
14
|
headers: {
|
|
14
|
-
'X-API-KEY': this.
|
|
15
|
+
'X-API-KEY': this.keyPool.next(),
|
|
15
16
|
'Content-Type': 'application/json',
|
|
16
17
|
},
|
|
17
18
|
body: JSON.stringify({ q: query, num: limit }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerperProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/SerperProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SerperProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/SerperProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,MAAM,OAAO,cAAc;IAMzB,YAAY,MAAc;QALjB,eAAU,GAAG,QAAiB,CAAC;QAC/B,WAAM,GAAG,GAAG,CAAC;QAKpB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,kCAAkC,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC;YAC/D,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;SACjC,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { IWebSearchProvider, WebSearchResult } from '../types';
|
|
7
7
|
export declare class TavilyProvider implements IWebSearchProvider {
|
|
8
|
-
private readonly apiKey;
|
|
9
8
|
readonly providerId: "tavily";
|
|
10
9
|
readonly weight = 1;
|
|
10
|
+
private readonly keyPool;
|
|
11
11
|
constructor(apiKey: string);
|
|
12
12
|
isAvailable(): boolean;
|
|
13
13
|
search(query: string, limit?: number): Promise<WebSearchResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TavilyProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/TavilyProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TavilyProvider.d.ts","sourceRoot":"","sources":["../../../src/web-search/providers/TavilyProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGpE,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,UAAU,EAAG,QAAQ,CAAU;IACxC,QAAQ,CAAC,MAAM,KAAO;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,MAAM;IAI1B,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAsB3E"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import { ApiKeyPool } from '../../core/providers/ApiKeyPool.js';
|
|
1
2
|
export class TavilyProvider {
|
|
2
3
|
constructor(apiKey) {
|
|
3
|
-
this.apiKey = apiKey;
|
|
4
4
|
this.providerId = 'tavily';
|
|
5
5
|
this.weight = 1.0;
|
|
6
|
+
this.keyPool = new ApiKeyPool(apiKey);
|
|
6
7
|
}
|
|
7
8
|
isAvailable() {
|
|
8
|
-
return this.
|
|
9
|
+
return this.keyPool.hasKeys;
|
|
9
10
|
}
|
|
10
11
|
async search(query, limit = 5) {
|
|
11
12
|
const res = await fetch('https://api.tavily.com/search', {
|
|
12
13
|
method: 'POST',
|
|
13
14
|
headers: { 'Content-Type': 'application/json' },
|
|
14
15
|
body: JSON.stringify({
|
|
15
|
-
api_key: this.
|
|
16
|
+
api_key: this.keyPool.next(),
|
|
16
17
|
query,
|
|
17
18
|
search_depth: 'advanced',
|
|
18
19
|
include_answer: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TavilyProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/TavilyProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TavilyProvider.js","sourceRoot":"","sources":["../../../src/web-search/providers/TavilyProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,MAAM,OAAO,cAAc;IAMzB,YAAY,MAAc;QALjB,eAAU,GAAG,QAAiB,CAAC;QAC/B,WAAM,GAAG,GAAG,CAAC;QAKpB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+BAA+B,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC5B,KAAK;gBACL,YAAY,EAAE,UAAU;gBACxB,cAAc,EAAE,KAAK;gBACrB,mBAAmB,EAAE,KAAK;gBAC1B,WAAW,EAAE,KAAK;aACnB,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC;YAC/D,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YAChC,cAAc,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;SAC5D,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|