donobu 2.15.0 → 2.15.1
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/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/apis/FlowsFilesApi.js +5 -2
- package/dist/apis/FlowsFilesApi.js.map +1 -1
- package/dist/assets/generated/parameter-schemas.json +101 -0
- package/dist/assets/generated/version +1 -1
- package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/bindings/PageInteractionTracker.js +2 -2
- package/dist/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
- package/dist/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.js +12 -329
- package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/clients/AnthropicGptClient.d.ts +0 -8
- package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicGptClient.js +8 -22
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleGptClient.d.ts +4 -20
- package/dist/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/clients/GoogleGptClient.js +23 -299
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.d.ts +0 -6
- package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/clients/OpenAiGptClient.js +4 -8
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/clients/VercelAiGptClient.d.ts +3 -1
- package/dist/clients/VercelAiGptClient.d.ts.map +1 -1
- package/dist/clients/VercelAiGptClient.js +18 -14
- package/dist/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.js +5 -2
- package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
- package/dist/esm/assets/generated/parameter-schemas.json +101 -0
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.js +2 -2
- package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +12 -329
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.d.ts +0 -8
- package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +8 -22
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGptClient.d.ts +4 -20
- package/dist/esm/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +23 -299
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.d.ts +0 -6
- package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +4 -8
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts +3 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.js +18 -14
- package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/managers/DonobuFlow.d.ts +6 -2
- package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlow.js +93 -37
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/ToolManager.js +2 -2
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/GptMessage.d.ts +3 -3
- package/dist/esm/models/GptMessage.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistence.d.ts +4 -4
- package/dist/esm/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js +8 -6
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js +5 -4
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.js +8 -6
- package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +2 -2
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.js +5 -3
- package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +2 -2
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.js +5 -3
- package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/esm/playwrightTestExtensions.js +4 -4
- package/dist/esm/playwrightTestExtensions.js.map +1 -1
- package/dist/esm/tools/AssertTool.js +2 -2
- package/dist/esm/tools/AssertTool.js.map +1 -1
- package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +1 -1
- package/dist/esm/tools/DetectBrokenLinksTool.js +4 -2
- package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +3 -3
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
- package/dist/esm/utils/MiscUtils.d.ts +8 -11
- package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
- package/dist/esm/utils/MiscUtils.js +90 -54
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.d.ts +6 -3
- package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +9 -5
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/managers/DonobuFlow.d.ts +6 -2
- package/dist/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/managers/DonobuFlow.js +93 -37
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/ToolManager.js +2 -2
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/GptMessage.d.ts +3 -3
- package/dist/models/GptMessage.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistence.d.ts +4 -4
- package/dist/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.js +8 -6
- package/dist/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.js +5 -4
- package/dist/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.js +8 -6
- package/dist/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.d.ts +2 -2
- package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.js +5 -3
- package/dist/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.d.ts +2 -2
- package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.js +5 -3
- package/dist/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/playwrightTestExtensions.js +4 -4
- package/dist/playwrightTestExtensions.js.map +1 -1
- package/dist/tools/AssertTool.js +2 -2
- package/dist/tools/AssertTool.js.map +1 -1
- package/dist/tools/DetectBrokenLinksTool.d.ts.map +1 -1
- package/dist/tools/DetectBrokenLinksTool.js +4 -2
- package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +3 -3
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
- package/dist/utils/MiscUtils.d.ts +8 -11
- package/dist/utils/MiscUtils.d.ts.map +1 -1
- package/dist/utils/MiscUtils.js +90 -54
- package/dist/utils/MiscUtils.js.map +1 -1
- package/dist/utils/PlaywrightUtils.d.ts +6 -3
- package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/utils/PlaywrightUtils.js +9 -5
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/AnthropicGptClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AnthropicGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/AnthropicGptClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAW5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAU;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAe;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAuB;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAgB;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAsB;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEE,eAAe,EAAE,eAAe;IAUvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkC7D,mBAAmB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC,uBAAuB,CAAC;IAyDtB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,wBAAwB,CAAC;YAqEtB,iCAAiC;YA0BjC,WAAW;IAwBzB,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAkF/C,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAOlC"}
|
|
@@ -8,14 +8,12 @@ const GptModelNotFoundException_1 = require("../exceptions/GptModelNotFoundExcep
|
|
|
8
8
|
const GptPlatformAuthenticationFailedException_1 = require("../exceptions/GptPlatformAuthenticationFailedException");
|
|
9
9
|
const GptPlatformInternalErrorException_1 = require("../exceptions/GptPlatformInternalErrorException");
|
|
10
10
|
const GptPlatformNotReachableException_1 = require("../exceptions/GptPlatformNotReachableException");
|
|
11
|
+
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
11
12
|
/**
|
|
12
13
|
* A GPT client implemented using the Anthropic API
|
|
13
14
|
* @see https://docs.anthropic.com/en/api/messages
|
|
14
15
|
*/
|
|
15
16
|
class AnthropicGptClient extends GptClient_1.GptClient {
|
|
16
|
-
/**
|
|
17
|
-
* Create a new instance.
|
|
18
|
-
*/
|
|
19
17
|
constructor(anthropicConfig) {
|
|
20
18
|
super(anthropicConfig);
|
|
21
19
|
this.anthropicConfig = anthropicConfig;
|
|
@@ -35,6 +33,7 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
async getMessage(messages) {
|
|
36
|
+
messages = MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages);
|
|
38
37
|
const systemPrompts = messages
|
|
39
38
|
.filter((msg) => msg.type === 'system')
|
|
40
39
|
.map(AnthropicGptClient.chatRequestMessageFromGptMessage);
|
|
@@ -47,7 +46,6 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
47
46
|
.filter((msg) => msg.type !== 'system')
|
|
48
47
|
.map(AnthropicGptClient.chatRequestMessageFromGptMessage),
|
|
49
48
|
};
|
|
50
|
-
AnthropicGptClient.shenanigansUserMessageMerge(body.messages);
|
|
51
49
|
const resp = await this.makeRequest('/v1/messages', 'POST', body);
|
|
52
50
|
if (resp.status !== 200) {
|
|
53
51
|
throw await this.mapErrorResponseToDonobuException(resp);
|
|
@@ -64,6 +62,7 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
64
62
|
};
|
|
65
63
|
}
|
|
66
64
|
async getStructuredOutput(messages, jsonSchema) {
|
|
65
|
+
messages = MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages);
|
|
67
66
|
const systemPrompts = messages
|
|
68
67
|
.filter((msg) => msg.type === 'system')
|
|
69
68
|
.map(AnthropicGptClient.chatRequestMessageFromGptMessage);
|
|
@@ -88,7 +87,6 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
88
87
|
disable_parallel_tool_use: true,
|
|
89
88
|
},
|
|
90
89
|
};
|
|
91
|
-
AnthropicGptClient.shenanigansUserMessageMerge(body.messages);
|
|
92
90
|
const resp = await this.makeRequest('/v1/messages', 'POST', body);
|
|
93
91
|
if (resp.status !== 200) {
|
|
94
92
|
throw await this.mapErrorResponseToDonobuException(resp);
|
|
@@ -116,6 +114,7 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
116
114
|
};
|
|
117
115
|
}
|
|
118
116
|
async getToolCalls(messages, tools) {
|
|
117
|
+
messages = MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages);
|
|
119
118
|
const systemPrompts = messages
|
|
120
119
|
.filter((msg) => msg.type === 'system')
|
|
121
120
|
.map(AnthropicGptClient.chatRequestMessageFromGptMessage);
|
|
@@ -136,7 +135,6 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
136
135
|
.filter((msg) => msg.type !== 'system')
|
|
137
136
|
.map(AnthropicGptClient.chatRequestMessageFromGptMessage),
|
|
138
137
|
};
|
|
139
|
-
AnthropicGptClient.shenanigansUserMessageMerge(body.messages);
|
|
140
138
|
// Note the special header for this endpoint
|
|
141
139
|
const headers = new Headers(this.headers);
|
|
142
140
|
headers.append('anthropic-beta', 'prompt-caching-2024-07-31');
|
|
@@ -206,20 +204,6 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
206
204
|
}
|
|
207
205
|
}
|
|
208
206
|
}
|
|
209
|
-
/**
|
|
210
|
-
* Merges adjacent user messages because Anthropic will reject requests that do not delicately
|
|
211
|
-
* flip-flop between "user" and "assistant" roles.
|
|
212
|
-
*/
|
|
213
|
-
static shenanigansUserMessageMerge(messages) {
|
|
214
|
-
for (let i = messages.length - 1; i > 0; i--) {
|
|
215
|
-
const message = messages[i];
|
|
216
|
-
const adjacentMessage = messages[i - 1];
|
|
217
|
-
if (message.role === 'user' && adjacentMessage.role === 'user') {
|
|
218
|
-
adjacentMessage.content.push(...message.content);
|
|
219
|
-
messages.splice(i, 1);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
207
|
static chatRequestMessageFromGptMessage(gptMessage) {
|
|
224
208
|
if (gptMessage.type === 'assistant') {
|
|
225
209
|
return {
|
|
@@ -255,12 +239,14 @@ class AnthropicGptClient extends GptClient_1.GptClient {
|
|
|
255
239
|
return {
|
|
256
240
|
role: 'user',
|
|
257
241
|
content: gptMessage.items.map((item) => {
|
|
258
|
-
if (
|
|
242
|
+
if ('bytes' in item) {
|
|
243
|
+
const imageType = MiscUtils_1.MiscUtils.detectImageType(item.bytes);
|
|
244
|
+
const mimeType = `image/${imageType}`;
|
|
259
245
|
return {
|
|
260
246
|
type: 'image',
|
|
261
247
|
source: {
|
|
262
248
|
type: 'base64',
|
|
263
|
-
media_type:
|
|
249
|
+
media_type: mimeType,
|
|
264
250
|
data: Buffer.from(item.bytes).toString('base64'),
|
|
265
251
|
},
|
|
266
252
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicGptClient.js","sourceRoot":"","sources":["../../src/clients/AnthropicGptClient.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,kDAA+C;AAC/C,2CAAoD;AAQpD,uFAAoF;AACpF,qHAAkH;AAClH,uGAAoG;AACpG,qGAAkG;
|
|
1
|
+
{"version":3,"file":"AnthropicGptClient.js","sourceRoot":"","sources":["../../src/clients/AnthropicGptClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,31 +8,19 @@ import { GoogleGeminiConfig } from '../models/GptConfig';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class GoogleGptClient extends GptClient {
|
|
10
10
|
private readonly googleGeminiConfig;
|
|
11
|
-
private
|
|
12
|
-
private static readonly REQUEST_TIMEOUT_MILLISECONDS;
|
|
13
|
-
private static readonly API_KEY_HEADER_NAME;
|
|
14
|
-
private static readonly CONTENT_TYPE;
|
|
15
|
-
private readonly headers;
|
|
16
|
-
/**
|
|
17
|
-
* Create a new instance.
|
|
18
|
-
* @param apiKey The Google API key to use for all requests with this client.
|
|
19
|
-
* @param modelName See https://ai.google.dev/gemini-api/docs/models/gemini for the list of models.
|
|
20
|
-
* @param apiUrl The URL of the API to use for all requests with this client.
|
|
21
|
-
*/
|
|
11
|
+
private readonly delegate;
|
|
22
12
|
constructor(googleGeminiConfig: GoogleGeminiConfig);
|
|
23
13
|
ping(): Promise<void>;
|
|
24
14
|
getMessage(messages: GptMessage[]): Promise<AssistantMessage>;
|
|
25
15
|
getStructuredOutput(messages: GptMessage[], jsonSchema: JSONSchema7): Promise<StructuredOutputMessage>;
|
|
26
16
|
getToolCalls(messages: GptMessage[], tools: ToolOption[]): Promise<ProposedToolCallsMessage>;
|
|
27
17
|
/**
|
|
28
|
-
* Fix the "assert1" field issue in tool call parameters
|
|
18
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
19
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
20
|
+
*
|
|
29
21
|
* Recursively search and replace any field containing "assert1" with "assert"
|
|
30
22
|
*/
|
|
31
23
|
private static fixAssertFields;
|
|
32
|
-
private mapErrorResponseToDonobuException;
|
|
33
|
-
private makeRequest;
|
|
34
|
-
private static chatRequestMessageFromGptMessage;
|
|
35
|
-
private static toolChoiceFromTool;
|
|
36
24
|
/**
|
|
37
25
|
* Creates a new JSON schema compatible with Google's API.
|
|
38
26
|
*/
|
|
@@ -42,10 +30,6 @@ export declare class GoogleGptClient extends GptClient {
|
|
|
42
30
|
* schema since Google does not support that keyword.
|
|
43
31
|
**/
|
|
44
32
|
private static removeAdditionalProperties;
|
|
45
|
-
/**
|
|
46
|
-
* Merges adjacent user messages because Google will otherwise reject the request.
|
|
47
|
-
*/
|
|
48
|
-
private static shenanigansUserMessageMerge;
|
|
49
33
|
/**
|
|
50
34
|
* Recursively replaces "type" fields that are arrays containing "null" with
|
|
51
35
|
* a single non-null type since Google will otherwise throw an error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAGzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAFtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAED,kBAAkB,EAAE,kBAAkB;IAS7D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM7D,mBAAmB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC,uBAAuB,CAAC;IAStB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,wBAAwB,CAAC;IAmBpC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA0C9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAU/C;;;QAGI;IACJ,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAmBzC;;;QAGI;IACJ,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA2BnC"}
|
|
@@ -1,199 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GoogleGptClient = void 0;
|
|
4
|
-
const GptModelNotFoundException_1 = require("../exceptions/GptModelNotFoundException");
|
|
5
4
|
const GptClient_1 = require("./GptClient");
|
|
6
|
-
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
7
|
-
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
8
5
|
const Logger_1 = require("../utils/Logger");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
6
|
+
const google_1 = require("@ai-sdk/google");
|
|
7
|
+
const VercelAiGptClient_1 = require("./VercelAiGptClient");
|
|
8
|
+
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
12
9
|
/**
|
|
13
10
|
* Implementation using the Google API
|
|
14
11
|
* @see https://ai.google.dev/api/all-methods#service:-generativelanguage.googleapis.com
|
|
15
12
|
*/
|
|
16
13
|
class GoogleGptClient extends GptClient_1.GptClient {
|
|
17
|
-
/**
|
|
18
|
-
* Create a new instance.
|
|
19
|
-
* @param apiKey The Google API key to use for all requests with this client.
|
|
20
|
-
* @param modelName See https://ai.google.dev/gemini-api/docs/models/gemini for the list of models.
|
|
21
|
-
* @param apiUrl The URL of the API to use for all requests with this client.
|
|
22
|
-
*/
|
|
23
14
|
constructor(googleGeminiConfig) {
|
|
24
15
|
super(googleGeminiConfig);
|
|
25
16
|
this.googleGeminiConfig = googleGeminiConfig;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
'Content-Type': GoogleGptClient.CONTENT_TYPE,
|
|
17
|
+
const google = (0, google_1.createGoogleGenerativeAI)({
|
|
18
|
+
apiKey: googleGeminiConfig.apiKey,
|
|
29
19
|
});
|
|
20
|
+
const model = google(googleGeminiConfig.modelName);
|
|
21
|
+
this.delegate = new VercelAiGptClient_1.VercelAiGptClient(model);
|
|
30
22
|
}
|
|
31
23
|
async ping() {
|
|
32
|
-
|
|
33
|
-
if (response.status === 404) {
|
|
34
|
-
throw new GptModelNotFoundException_1.GptModelNotFoundException(this.config.type, this.googleGeminiConfig.modelName);
|
|
35
|
-
}
|
|
36
|
-
else if (response.status !== 200) {
|
|
37
|
-
throw await this.mapErrorResponseToDonobuException(response);
|
|
38
|
-
}
|
|
24
|
+
return this.delegate.ping();
|
|
39
25
|
}
|
|
40
26
|
async getMessage(messages) {
|
|
41
|
-
|
|
42
|
-
const systemMessageRaw = messages.find((msg) => msg.type === 'system');
|
|
43
|
-
const mappedMessages = messages
|
|
44
|
-
.filter((msg) => msg.type !== 'system')
|
|
45
|
-
.map(GoogleGptClient.chatRequestMessageFromGptMessage);
|
|
46
|
-
GoogleGptClient.shenanigansUserMessageMerge(mappedMessages);
|
|
47
|
-
const requestBody = {
|
|
48
|
-
generationConfig: {
|
|
49
|
-
temperature: 0.0,
|
|
50
|
-
maxOutputTokens: 8192,
|
|
51
|
-
},
|
|
52
|
-
contents: mappedMessages,
|
|
53
|
-
systemInstruction: systemMessageRaw
|
|
54
|
-
? {
|
|
55
|
-
role: 'user',
|
|
56
|
-
parts: [
|
|
57
|
-
{
|
|
58
|
-
text: systemMessageRaw.text,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
}
|
|
62
|
-
: undefined,
|
|
63
|
-
};
|
|
64
|
-
const response = await this.makeRequest(`/v1beta/models/${this.googleGeminiConfig.modelName}:generateContent`, 'POST', requestBody);
|
|
65
|
-
if (response.status !== 200) {
|
|
66
|
-
throw await this.mapErrorResponseToDonobuException(response);
|
|
67
|
-
}
|
|
68
|
-
const responseBody = await response.json();
|
|
69
|
-
const text = responseBody.candidates[0].content.parts[0].text;
|
|
70
|
-
const promptTokensUsed = responseBody.usageMetadata.promptTokenCount;
|
|
71
|
-
const completionTokensUsed = responseBody.usageMetadata.candidatesTokenCount;
|
|
72
|
-
return {
|
|
73
|
-
type: 'assistant',
|
|
74
|
-
text: text,
|
|
75
|
-
promptTokensUsed: promptTokensUsed,
|
|
76
|
-
completionTokensUsed: completionTokensUsed,
|
|
77
|
-
};
|
|
27
|
+
return this.delegate.getMessage(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages));
|
|
78
28
|
}
|
|
79
29
|
async getStructuredOutput(messages, jsonSchema) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.filter((msg) => msg.type !== 'system')
|
|
84
|
-
.map(GoogleGptClient.chatRequestMessageFromGptMessage);
|
|
85
|
-
GoogleGptClient.shenanigansUserMessageMerge(mappedMessages);
|
|
86
|
-
const requestBody = {
|
|
87
|
-
generationConfig: {
|
|
88
|
-
temperature: 0.0,
|
|
89
|
-
maxOutputTokens: 8192,
|
|
90
|
-
responseMimeType: GoogleGptClient.CONTENT_TYPE,
|
|
91
|
-
responseSchema: GoogleGptClient.createGoogleCompatibleJsonSchema(jsonSchema),
|
|
92
|
-
},
|
|
93
|
-
contents: mappedMessages,
|
|
94
|
-
systemInstruction: systemMessageRaw
|
|
95
|
-
? {
|
|
96
|
-
role: 'user',
|
|
97
|
-
parts: [
|
|
98
|
-
{
|
|
99
|
-
text: systemMessageRaw.text,
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
}
|
|
103
|
-
: undefined,
|
|
104
|
-
};
|
|
105
|
-
const response = await this.makeRequest(`/v1beta/models/${this.googleGeminiConfig.modelName}:generateContent`, 'POST', requestBody);
|
|
106
|
-
if (response.status !== 200) {
|
|
107
|
-
throw await this.mapErrorResponseToDonobuException(response);
|
|
108
|
-
}
|
|
109
|
-
const responseBody = await response.json();
|
|
110
|
-
const text = responseBody.candidates[0].content.parts[0].text.trim();
|
|
111
|
-
const responseObject = JsonUtils_1.JsonUtils.jsonStringToJsonObject(text);
|
|
112
|
-
if (!responseObject) {
|
|
113
|
-
throw new Error('Failed to parse response as JSON object');
|
|
114
|
-
}
|
|
115
|
-
const promptTokensUsed = responseBody.usageMetadata.promptTokenCount;
|
|
116
|
-
const completionTokensUsed = responseBody.usageMetadata.candidatesTokenCount;
|
|
117
|
-
return {
|
|
118
|
-
type: 'structured_output',
|
|
119
|
-
output: responseObject,
|
|
120
|
-
promptTokensUsed: promptTokensUsed,
|
|
121
|
-
completionTokensUsed: completionTokensUsed,
|
|
122
|
-
};
|
|
30
|
+
const resp = await this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), GoogleGptClient.createGoogleCompatibleJsonSchema(jsonSchema));
|
|
31
|
+
GoogleGptClient.fixAssertFields(resp.output);
|
|
32
|
+
return resp;
|
|
123
33
|
}
|
|
124
34
|
async getToolCalls(messages, tools) {
|
|
125
|
-
|
|
126
|
-
const systemMessageRaw = messages.find((msg) => msg.type === 'system');
|
|
127
|
-
const mappedMessages = messages
|
|
128
|
-
.filter((msg) => msg.type !== 'system')
|
|
129
|
-
.map(GoogleGptClient.chatRequestMessageFromGptMessage);
|
|
130
|
-
GoogleGptClient.shenanigansUserMessageMerge(mappedMessages);
|
|
131
|
-
const requestBody = {
|
|
132
|
-
generationConfig: {
|
|
133
|
-
temperature: 0.0,
|
|
134
|
-
maxOutputTokens: 8192,
|
|
135
|
-
},
|
|
136
|
-
toolConfig: {
|
|
137
|
-
functionCallingConfig: {
|
|
138
|
-
mode: 'ANY',
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
contents: mappedMessages,
|
|
142
|
-
tools: tools.length
|
|
143
|
-
? [
|
|
144
|
-
{
|
|
145
|
-
functionDeclarations: tools.map(GoogleGptClient.toolChoiceFromTool),
|
|
146
|
-
},
|
|
147
|
-
]
|
|
148
|
-
: undefined,
|
|
149
|
-
systemInstruction: systemMessageRaw
|
|
150
|
-
? {
|
|
151
|
-
role: 'user',
|
|
152
|
-
parts: [
|
|
153
|
-
{
|
|
154
|
-
text: systemMessageRaw.text,
|
|
155
|
-
},
|
|
156
|
-
],
|
|
157
|
-
}
|
|
158
|
-
: undefined,
|
|
159
|
-
};
|
|
160
|
-
const response = await this.makeRequest(`/v1beta/models/${this.googleGeminiConfig.modelName}:generateContent`, 'POST', requestBody);
|
|
161
|
-
if (response.status !== 200) {
|
|
162
|
-
throw await this.mapErrorResponseToDonobuException(response);
|
|
163
|
-
}
|
|
164
|
-
const responseBody = await response.json();
|
|
165
|
-
const toolCallsArray = responseBody.candidates[0].content.parts.filter((part) => {
|
|
166
|
-
return part.functionCall !== undefined;
|
|
167
|
-
});
|
|
168
|
-
if (!toolCallsArray?.length) {
|
|
169
|
-
throw new Error(`Unable to extract tool calls from Google response: ${JSON.stringify(responseBody, null, 2)}`);
|
|
170
|
-
}
|
|
171
|
-
const toolCalls = toolCallsArray.map((tc) => {
|
|
172
|
-
const functionName = tc.functionCall.name;
|
|
173
|
-
const parameters = tc.functionCall.args;
|
|
174
|
-
// Fix the assert1 issue
|
|
175
|
-
GoogleGptClient.fixAssertFields(parameters);
|
|
176
|
-
const tool = tools.find((t) => t.name === functionName);
|
|
177
|
-
if (!tool) {
|
|
178
|
-
throw new Error(`Tool not found: ${functionName}`);
|
|
179
|
-
}
|
|
35
|
+
const resp = await this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), tools.map((t) => {
|
|
180
36
|
return {
|
|
181
|
-
name:
|
|
182
|
-
|
|
183
|
-
|
|
37
|
+
name: t.name,
|
|
38
|
+
description: t.description,
|
|
39
|
+
inputSchema: GoogleGptClient.createGoogleCompatibleJsonSchema(t.inputSchema),
|
|
184
40
|
};
|
|
41
|
+
}));
|
|
42
|
+
resp.proposedToolCalls.forEach((t) => {
|
|
43
|
+
GoogleGptClient.fixAssertFields(t.parameters);
|
|
185
44
|
});
|
|
186
|
-
|
|
187
|
-
const completionTokensUsed = responseBody.usageMetadata.candidatesTokenCount;
|
|
188
|
-
return {
|
|
189
|
-
type: 'proposed_tool_calls',
|
|
190
|
-
proposedToolCalls: toolCalls,
|
|
191
|
-
promptTokensUsed: promptTokensUsed,
|
|
192
|
-
completionTokensUsed: completionTokensUsed,
|
|
193
|
-
};
|
|
45
|
+
return resp;
|
|
194
46
|
}
|
|
195
47
|
/**
|
|
196
|
-
* Fix the "assert1" field issue in tool call parameters
|
|
48
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
49
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
50
|
+
*
|
|
197
51
|
* Recursively search and replace any field containing "assert1" with "assert"
|
|
198
52
|
*/
|
|
199
53
|
static fixAssertFields(obj) {
|
|
@@ -228,119 +82,6 @@ class GoogleGptClient extends GptClient_1.GptClient {
|
|
|
228
82
|
Logger_1.appLogger.info(`Fixed field: renamed "${oldKey}" to "${newKey}" in tool call parameters`);
|
|
229
83
|
});
|
|
230
84
|
}
|
|
231
|
-
async mapErrorResponseToDonobuException(error) {
|
|
232
|
-
try {
|
|
233
|
-
const errorData = await error.json();
|
|
234
|
-
Logger_1.appLogger.error(`Google error response: ${JSON.stringify(JsonUtils_1.JsonUtils.objectToJson(errorData))}`);
|
|
235
|
-
if (errorData.error?.details?.[0]?.reason === 'API_KEY_INVALID') {
|
|
236
|
-
return new GptPlatformAuthenticationFailedException_1.GptPlatformAuthenticationFailedException(this.config.type);
|
|
237
|
-
}
|
|
238
|
-
return new GptPlatformInternalErrorException_1.GptPlatformInternalErrorException(errorData.error?.message || `HTTP ${error.status}: ${error.statusText}`);
|
|
239
|
-
}
|
|
240
|
-
catch (_) {
|
|
241
|
-
Logger_1.appLogger.error(`Failed to parse Google error response: HTTP ${error.status}: ${error.statusText}`);
|
|
242
|
-
return new GptPlatformInternalErrorException_1.GptPlatformInternalErrorException(`HTTP ${error.status}: ${error.statusText}`);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
async makeRequest(endpoint, method = 'GET', body) {
|
|
246
|
-
try {
|
|
247
|
-
return await fetch(`${GoogleGptClient.API_URL}${endpoint}`, {
|
|
248
|
-
method,
|
|
249
|
-
headers: this.headers,
|
|
250
|
-
body: body ? JSON.stringify(body) : undefined,
|
|
251
|
-
signal: AbortSignal.timeout(GoogleGptClient.REQUEST_TIMEOUT_MILLISECONDS),
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
catch (error) {
|
|
255
|
-
if (error instanceof TypeError) {
|
|
256
|
-
throw new GptPlatformNotReachableException_1.GptPlatformNotReachableException(this.config.type);
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
throw error;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
static chatRequestMessageFromGptMessage(gptMessage) {
|
|
264
|
-
if (gptMessage.type === 'assistant') {
|
|
265
|
-
return {
|
|
266
|
-
role: 'model',
|
|
267
|
-
parts: [
|
|
268
|
-
{
|
|
269
|
-
text: gptMessage.text,
|
|
270
|
-
},
|
|
271
|
-
],
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
if (gptMessage.type === 'structured_output') {
|
|
275
|
-
return {
|
|
276
|
-
role: 'model',
|
|
277
|
-
parts: [
|
|
278
|
-
{
|
|
279
|
-
text: JSON.stringify(gptMessage.output, null, 2),
|
|
280
|
-
},
|
|
281
|
-
],
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
if (gptMessage.type === 'proposed_tool_calls') {
|
|
285
|
-
return {
|
|
286
|
-
role: 'model',
|
|
287
|
-
parts: gptMessage.proposedToolCalls.map((tc) => ({
|
|
288
|
-
functionCall: {
|
|
289
|
-
name: tc.name,
|
|
290
|
-
args: JsonUtils_1.JsonUtils.objectToJson(tc.parameters),
|
|
291
|
-
},
|
|
292
|
-
})),
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
if (gptMessage.type === 'system') {
|
|
296
|
-
throw new Error('Inline system messages must be filtered out for Google calls!');
|
|
297
|
-
}
|
|
298
|
-
if (gptMessage.type === 'user') {
|
|
299
|
-
return {
|
|
300
|
-
role: 'user',
|
|
301
|
-
parts: gptMessage.items.map((item) => {
|
|
302
|
-
if ('bytes' in item) {
|
|
303
|
-
// PNG
|
|
304
|
-
return {
|
|
305
|
-
inlineData: {
|
|
306
|
-
mimeType: 'image/png',
|
|
307
|
-
data: Buffer.from(item.bytes).toString('base64'),
|
|
308
|
-
},
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
return { text: item.text }; // Text
|
|
312
|
-
}),
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
if (gptMessage.type === 'tool_call_result') {
|
|
316
|
-
return {
|
|
317
|
-
role: 'user',
|
|
318
|
-
parts: [
|
|
319
|
-
{
|
|
320
|
-
functionResponse: {
|
|
321
|
-
name: gptMessage.toolName,
|
|
322
|
-
response: {
|
|
323
|
-
value: gptMessage.data,
|
|
324
|
-
},
|
|
325
|
-
},
|
|
326
|
-
},
|
|
327
|
-
],
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
throw new Error(`Unsupported message type: ${JsonUtils_1.JsonUtils.objectToJson(gptMessage)}`);
|
|
331
|
-
}
|
|
332
|
-
static toolChoiceFromTool(tool) {
|
|
333
|
-
const result = {
|
|
334
|
-
name: tool.name,
|
|
335
|
-
description: tool.description,
|
|
336
|
-
};
|
|
337
|
-
// Only set parameters if there are properties
|
|
338
|
-
if (tool.inputSchema.properties &&
|
|
339
|
-
Object.keys(tool.inputSchema.properties).length > 0) {
|
|
340
|
-
result.parameters = GoogleGptClient.createGoogleCompatibleJsonSchema(tool.inputSchema);
|
|
341
|
-
}
|
|
342
|
-
return result;
|
|
343
|
-
}
|
|
344
85
|
/**
|
|
345
86
|
* Creates a new JSON schema compatible with Google's API.
|
|
346
87
|
*/
|
|
@@ -370,19 +111,6 @@ class GoogleGptClient extends GptClient_1.GptClient {
|
|
|
370
111
|
}
|
|
371
112
|
});
|
|
372
113
|
}
|
|
373
|
-
/**
|
|
374
|
-
* Merges adjacent user messages because Google will otherwise reject the request.
|
|
375
|
-
*/
|
|
376
|
-
static shenanigansUserMessageMerge(messages) {
|
|
377
|
-
for (let i = messages.length - 1; i > 0; i--) {
|
|
378
|
-
const message = messages[i];
|
|
379
|
-
const adjacentMessage = messages[i - 1];
|
|
380
|
-
if (message.role === 'user' && adjacentMessage.role === 'user') {
|
|
381
|
-
adjacentMessage.parts.push(...message.parts);
|
|
382
|
-
messages.splice(i, 1);
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
114
|
/**
|
|
387
115
|
* Recursively replaces "type" fields that are arrays containing "null" with
|
|
388
116
|
* a single non-null type since Google will otherwise throw an error.
|
|
@@ -411,8 +139,4 @@ class GoogleGptClient extends GptClient_1.GptClient {
|
|
|
411
139
|
}
|
|
412
140
|
}
|
|
413
141
|
exports.GoogleGptClient = GoogleGptClient;
|
|
414
|
-
GoogleGptClient.API_URL = 'https://generativelanguage.googleapis.com';
|
|
415
|
-
GoogleGptClient.REQUEST_TIMEOUT_MILLISECONDS = 120000;
|
|
416
|
-
GoogleGptClient.API_KEY_HEADER_NAME = 'x-goog-api-key';
|
|
417
|
-
GoogleGptClient.CONTENT_TYPE = 'application/json';
|
|
418
142
|
//# sourceMappingURL=GoogleGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleGptClient.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAQpF,2CAAoD;AACpD,kDAA+C;AAC/C,kDAA+C;AAE/C,4CAA4C;AAC5C,qHAAkH;AAClH,uGAAoG;AACpG,qGAAkG;AAGlG;;;GAGG;AACH,MAAa,eAAgB,SAAQ,qBAAS;IAQ5C;;;;;OAKG;IACH,YAAoC,kBAAsC;QACxE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAoB;QAExE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,MAAM;YAChE,cAAc,EAAE,eAAe,CAAC,YAAY;SAC7C,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CACtD,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,qDAAyB,CACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAClC,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAsB;QAC5C,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAExD,CAAC;QACd,MAAM,cAAc,GAAG,QAAQ;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;aACtC,GAAG,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;QACzD,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG;YAClB,gBAAgB,EAAE;gBAChB,WAAW,EAAE,GAAG;gBAChB,eAAe,EAAE,IAAI;aACtB;YACD,QAAQ,EAAE,cAAc;YACxB,iBAAiB,EAAE,gBAAgB;gBACjC,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,gBAAgB,CAAC,IAAI;yBAC5B;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,SAAS,kBAAkB,EACrE,MAAM,EACN,WAAW,CACZ,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACrE,MAAM,oBAAoB,GACxB,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,gBAAgB;YAClC,oBAAoB,EAAE,oBAAoB;SAChB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,UAAuB;QAEvB,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAExD,CAAC;QACd,MAAM,cAAc,GAAG,QAAQ;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;aACtC,GAAG,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;QACzD,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG;YAClB,gBAAgB,EAAE;gBAChB,WAAW,EAAE,GAAG;gBAChB,eAAe,EAAE,IAAI;gBACrB,gBAAgB,EAAE,eAAe,CAAC,YAAY;gBAC9C,cAAc,EACZ,eAAe,CAAC,gCAAgC,CAAC,UAAU,CAAC;aAC/D;YACD,QAAQ,EAAE,cAAc;YACxB,iBAAiB,EAAE,gBAAgB;gBACjC,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,gBAAgB,CAAC,IAAI;yBAC5B;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,SAAS,kBAAkB,EACrE,MAAM,EACN,WAAW,CACZ,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,cAAc,GAAG,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACrE,MAAM,oBAAoB,GACxB,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,cAAc;YACtB,gBAAgB,EAAE,gBAAgB;YAClC,oBAAoB,EAAE,oBAAoB;SACT,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB;QAEnB,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAExD,CAAC;QACd,MAAM,cAAc,GAAG,QAAQ;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;aACtC,GAAG,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;QACzD,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG;YAClB,gBAAgB,EAAE;gBAChB,WAAW,EAAE,GAAG;gBAChB,eAAe,EAAE,IAAI;aACtB;YACD,UAAU,EAAE;gBACV,qBAAqB,EAAE;oBACrB,IAAI,EAAE,KAAK;iBACZ;aACF;YACD,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,KAAK,CAAC,MAAM;gBACjB,CAAC,CAAC;oBACE;wBACE,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAC7B,eAAe,CAAC,kBAAkB,CACnC;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,gBAAgB;gBACjC,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,gBAAgB,CAAC,IAAI;yBAC5B;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,SAAS,kBAAkB,EACrE,MAAM,EACN,WAAW,CACZ,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CACpE,CAAC,IAAS,EAAE,EAAE;YACZ,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;QACzC,CAAC,CACuB,CAAC;QAE3B,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAExC,wBAAwB;YACxB,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAExD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,qBAAS,CAAC,qBAAqB,EAAE;aAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACrE,MAAM,oBAAoB,GACxB,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,iBAAiB,EAAE,SAAS;YAC5B,gBAAgB,EAAE,gBAAgB;YAClC,oBAAoB,EAAE,oBAAoB;SACR,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,eAAe,CAAC,GAAY;QACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,GAA8B,CAAC;QAEjD,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,YAAY,GAAyC,EAAE,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,sDAAsD;YACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,qCAAqC;YACrC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACzD,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mFAAmF;QACnF,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YACzB,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAE1B,kBAAS,CAAC,IAAI,CACZ,yBAAyB,MAAM,SAAS,MAAM,2BAA2B,CAC1E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,KAAe;QAEf,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,kBAAS,CAAC,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAC9E,CAAC;YAEF,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBAChE,OAAO,IAAI,mFAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,IAAI,qEAAiC,CAC1C,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kBAAS,CAAC,KAAK,CACb,+CAA+C,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CACnF,CAAC;YACF,OAAO,IAAI,qEAAiC,CAC1C,QAAQ,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,SAAyB,KAAK,EAC9B,IAAc;QAEd,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,eAAe,CAAC,OAAO,GAAG,QAAQ,EAAE,EAAE;gBAC1D,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CACzB,eAAe,CAAC,4BAA4B,CAC7C;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,mEAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,gCAAgC,CAC7C,UAAsB;QAEtB,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,UAAU,CAAC,IAAI;qBACtB;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC5C,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACjD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/C,YAAY,EAAE;wBACZ,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,qBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC;qBAC5C;iBACF,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;wBACpB,MAAM;wBACN,OAAO;4BACL,UAAU,EAAE;gCACV,QAAQ,EAAE,WAAW;gCACrB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;6BACjD;yBACF,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO;gBACrC,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC3C,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,gBAAgB,EAAE;4BAChB,IAAI,EAAE,UAAU,CAAC,QAAQ;4BACzB,QAAQ,EAAE;gCACR,KAAK,EAAE,UAAU,CAAC,IAAI;6BACvB;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CACb,6BAA6B,qBAAS,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,IAAgB;QAChD,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,8CAA8C;QAC9C,IACE,IAAI,CAAC,WAAW,CAAC,UAAU;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EACnD,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,gCAAgC,CAClE,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,gCAAgC,CAC7C,MAAmB;QAEnB,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,eAAe,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACzD,eAAe,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;QAGI;IACI,MAAM,CAAC,0BAA0B,CAAC,IAAa;QACrD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,OAAQ,IAAgC,CAAC,sBAAsB,CAAC,CAAC;QAEjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,eAAe,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,2BAA2B,CACxC,QAA+B;QAE/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAExC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/D,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7C,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;QAGI;IACI,MAAM,CAAC,mBAAmB,CAAC,IAAa;QAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAA+B,CAAC;QAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,2BAA2B;YAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAE7D,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAjhBH,0CAkhBC;AAjhByB,uBAAO,GAAG,2CAA2C,CAAC;AACtD,4CAA4B,GAAG,MAAM,CAAC;AACtC,mCAAmB,GAAG,gBAAgB,CAAC;AACvC,4BAAY,GAAG,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"GoogleGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleGptClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,12 +11,6 @@ export declare class OpenAiGptClient extends GptClient {
|
|
|
11
11
|
private static readonly API_URL;
|
|
12
12
|
private static readonly REQUEST_TIMEOUT_MILLISECONDS;
|
|
13
13
|
private readonly headers;
|
|
14
|
-
/**
|
|
15
|
-
* Create a new instance.
|
|
16
|
-
* @param apiKey The OpenAI API key to use for all requests with this client.
|
|
17
|
-
* @param modelName See https://platform.openai.com/docs/models for the list of models.
|
|
18
|
-
* @param apiUrl The URL of the API to use for all requests with this client.
|
|
19
|
-
*/
|
|
20
14
|
constructor(openAiConfig: OpenApiConfig);
|
|
21
15
|
ping(): Promise<void>;
|
|
22
16
|
getMessage(messages: GptMessage[]): Promise<AssistantMessage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/OpenAiGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAiGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/OpenAiGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAKzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAU;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEE,YAAY,EAAE,aAAa;IAQlD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB7D,mBAAmB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC,uBAAuB,CAAC;IAyBtB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,wBAAwB,CAAC;IAsBpC,OAAO,CAAC,gCAAgC;IA8ExC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,4BAA4B;IAkBpC,OAAO,CAAC,6BAA6B;YAuCvB,iCAAiC;IA2B/C;;OAEG;YACW,WAAW;IAuBzB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;CAyFhD"}
|