donobu 3.2.2 → 3.2.3
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/assets/generated/version +1 -1
- package/dist/clients/DonobuGptClient.d.ts.map +1 -1
- package/dist/clients/DonobuGptClient.js +20 -3
- package/dist/clients/DonobuGptClient.js.map +1 -1
- package/dist/clients/GoogleGenerativeAiGptClient.d.ts +7 -7
- package/dist/clients/GoogleGenerativeAiGptClient.d.ts.map +1 -1
- package/dist/clients/GoogleGenerativeAiGptClient.js +40 -39
- package/dist/clients/GoogleGenerativeAiGptClient.js.map +1 -1
- package/dist/clients/GoogleVertexGptClient.d.ts +0 -7
- package/dist/clients/GoogleVertexGptClient.d.ts.map +1 -1
- package/dist/clients/GoogleVertexGptClient.js +4 -40
- package/dist/clients/GoogleVertexGptClient.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/DonobuGptClient.d.ts.map +1 -1
- package/dist/esm/clients/DonobuGptClient.js +20 -3
- package/dist/esm/clients/DonobuGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGenerativeAiGptClient.d.ts +7 -7
- package/dist/esm/clients/GoogleGenerativeAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/GoogleGenerativeAiGptClient.js +40 -39
- package/dist/esm/clients/GoogleGenerativeAiGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleVertexGptClient.d.ts +0 -7
- package/dist/esm/clients/GoogleVertexGptClient.d.ts.map +1 -1
- package/dist/esm/clients/GoogleVertexGptClient.js +4 -40
- package/dist/esm/clients/GoogleVertexGptClient.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1435
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DonobuGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAsB,MAAM,aAAa,CAAC;AAI5D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAC,eAAe,CACqC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,qBAAqB,EAAE,qBAAqB;IAYlD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAIf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IA0BzB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DonobuGptClient = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
4
5
|
const GptClient_1 = require("./GptClient");
|
|
5
6
|
const OpenAiGptClient_1 = require("./OpenAiGptClient");
|
|
7
|
+
const GoogleGenerativeAiGptClient_1 = require("./GoogleGenerativeAiGptClient");
|
|
6
8
|
/**
|
|
7
9
|
* A GPT client implemented using the Donobu API.
|
|
8
10
|
*/
|
|
@@ -28,7 +30,10 @@ class DonobuGptClient extends GptClient_1.GptClient {
|
|
|
28
30
|
{
|
|
29
31
|
name: 'output',
|
|
30
32
|
description: 'The schema of the expected response structure.',
|
|
31
|
-
inputSchema:
|
|
33
|
+
inputSchema: v4_1.z.preprocess((data) => {
|
|
34
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
35
|
+
return data;
|
|
36
|
+
}, zodSchema),
|
|
32
37
|
},
|
|
33
38
|
], options);
|
|
34
39
|
const toolCall = resp.proposedToolCalls.at(0);
|
|
@@ -40,9 +45,21 @@ class DonobuGptClient extends GptClient_1.GptClient {
|
|
|
40
45
|
};
|
|
41
46
|
}
|
|
42
47
|
async getToolCalls(messages, tools, options) {
|
|
43
|
-
|
|
48
|
+
const preprocessedTools = tools.map((tool) => ({
|
|
49
|
+
name: tool.name,
|
|
50
|
+
description: tool.description,
|
|
51
|
+
inputSchema: v4_1.z.preprocess((data) => {
|
|
52
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
53
|
+
return data;
|
|
54
|
+
}, tool.inputSchema),
|
|
55
|
+
}));
|
|
56
|
+
const resp = await this.delegate.getToolCalls(messages, preprocessedTools, options);
|
|
57
|
+
resp.proposedToolCalls.forEach((t) => {
|
|
58
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(t.parameters);
|
|
59
|
+
});
|
|
60
|
+
return resp;
|
|
44
61
|
}
|
|
45
62
|
}
|
|
46
63
|
exports.DonobuGptClient = DonobuGptClient;
|
|
47
|
-
DonobuGptClient.DEFAULT_API_URL = 'https://donobu-api-73193699649.us-central1.run.app';
|
|
64
|
+
DonobuGptClient.DEFAULT_API_URL = 'https://donobu-prd-api-service-73193699649.us-central1.run.app';
|
|
48
65
|
//# sourceMappingURL=DonobuGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuGptClient.js","sourceRoot":"","sources":["../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DonobuGptClient.js","sourceRoot":"","sources":["../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAU3B,2CAA4D;AAC5D,uDAAoD;AACpD,+EAAgE;AAEhE;;GAEG;AACH,MAAa,eAAgB,SAAQ,qBAAS;IAK5C,YAAmB,qBAA4C;QAC7D,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAe,CACjC;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,qBAAqB,CAAC,MAAM;SACrC,EACD,eAAe,CAAC,eAAe,CAChC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,QAAmC;QACnD,OAAO;IACT,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,QAAsB,EACtB,OAAkC;QAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,SAAqB,EACrB,OAAkC;QAElC,kFAAkF;QAClF,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,QAAQ,EACR;YACE;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC;aACd;SACF,EACD,OAAO,CACR,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;YACL,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,IAAA,8BAAkB,EAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;SAC5D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB,EACnB,OAAkC;QAElC,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SACrB,CAAC,CAAwB,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,QAAQ,EACR,iBAAiB,EACjB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,IAAA,6CAAe,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;;AAhFH,0CAiFC;AAhFgB,+BAAe,GAC5B,gEAAgE,CAAC"}
|
|
@@ -22,12 +22,12 @@ export declare class GoogleGenerativeAiGptClient extends GptClient {
|
|
|
22
22
|
getToolCalls(messages: GptMessage[], tools: ToolOption[], options?: {
|
|
23
23
|
signal?: AbortSignal;
|
|
24
24
|
}): Promise<ProposedToolCallsMessage>;
|
|
25
|
-
/**
|
|
26
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
27
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
28
|
-
*
|
|
29
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
30
|
-
*/
|
|
31
|
-
private static fixAssertFields;
|
|
32
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
28
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
29
|
+
*
|
|
30
|
+
* Recursively search and replace any field containing "assert1" with "assert"
|
|
31
|
+
*/
|
|
32
|
+
export declare function fixAssertFields(obj: unknown): void;
|
|
33
33
|
//# sourceMappingURL=GoogleGenerativeAiGptClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAiGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,wBAAwB;IAStC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAiGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,wBAAwB;IAStC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAoClD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GoogleGenerativeAiGptClient = void 0;
|
|
4
|
+
exports.fixAssertFields = fixAssertFields;
|
|
4
5
|
const google_1 = require("@ai-sdk/google");
|
|
5
6
|
const v4_1 = require("zod/v4");
|
|
6
7
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
@@ -27,7 +28,7 @@ class GoogleGenerativeAiGptClient extends GptClient_1.GptClient {
|
|
|
27
28
|
}
|
|
28
29
|
async getStructuredOutput(messages, zodSchema, options) {
|
|
29
30
|
const preprocessedSchema = v4_1.z.preprocess((data) => {
|
|
30
|
-
|
|
31
|
+
fixAssertFields(data);
|
|
31
32
|
return data;
|
|
32
33
|
}, zodSchema);
|
|
33
34
|
const resp = await this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedSchema, options);
|
|
@@ -38,53 +39,53 @@ class GoogleGenerativeAiGptClient extends GptClient_1.GptClient {
|
|
|
38
39
|
name: tool.name,
|
|
39
40
|
description: tool.description,
|
|
40
41
|
inputSchema: v4_1.z.preprocess((data) => {
|
|
41
|
-
|
|
42
|
+
fixAssertFields(data);
|
|
42
43
|
return data;
|
|
43
44
|
}, tool.inputSchema),
|
|
44
45
|
}));
|
|
45
46
|
const resp = await this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedTools, options);
|
|
46
47
|
resp.proposedToolCalls.forEach((t) => {
|
|
47
|
-
|
|
48
|
+
fixAssertFields(t.parameters);
|
|
48
49
|
});
|
|
49
50
|
return resp;
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
}
|
|
53
|
+
exports.GoogleGenerativeAiGptClient = GoogleGenerativeAiGptClient;
|
|
54
|
+
/**
|
|
55
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
56
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
57
|
+
*
|
|
58
|
+
* Recursively search and replace any field containing "assert1" with "assert"
|
|
59
|
+
*/
|
|
60
|
+
function fixAssertFields(obj) {
|
|
61
|
+
if (!obj || typeof obj !== 'object') {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(obj)) {
|
|
65
|
+
obj.forEach((item) => fixAssertFields(item));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const objRecord = obj;
|
|
69
|
+
// Check each property name for keys containing "assert1"
|
|
70
|
+
const keys = Object.keys(objRecord);
|
|
71
|
+
const keysToRename = [];
|
|
72
|
+
keys.forEach((key) => {
|
|
73
|
+
// If the key contains "assert1", prepare to rename it
|
|
74
|
+
if (key.includes('assert1')) {
|
|
75
|
+
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
76
|
+
const newKey = key.replace(/assert1/g, 'assert');
|
|
77
|
+
keysToRename.push({ oldKey: key, newKey });
|
|
60
78
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
79
|
+
// Recursively process nested objects
|
|
80
|
+
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
81
|
+
fixAssertFields(objRecord[key]);
|
|
64
82
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
73
|
-
const newKey = key.replace(/assert1/g, 'assert');
|
|
74
|
-
keysToRename.push({ oldKey: key, newKey });
|
|
75
|
-
}
|
|
76
|
-
// Recursively process nested objects
|
|
77
|
-
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
78
|
-
GoogleGenerativeAiGptClient.fixAssertFields(objRecord[key]);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
82
|
-
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
83
|
-
const value = objRecord[oldKey];
|
|
84
|
-
delete objRecord[oldKey];
|
|
85
|
-
objRecord[newKey] = value;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
83
|
+
});
|
|
84
|
+
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
85
|
+
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
86
|
+
const value = objRecord[oldKey];
|
|
87
|
+
delete objRecord[oldKey];
|
|
88
|
+
objRecord[newKey] = value;
|
|
89
|
+
});
|
|
88
90
|
}
|
|
89
|
-
exports.GoogleGenerativeAiGptClient = GoogleGenerativeAiGptClient;
|
|
90
91
|
//# sourceMappingURL=GoogleGenerativeAiGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAiGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAiGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,12 +22,5 @@ export declare class GoogleVertexGptClient extends GptClient {
|
|
|
22
22
|
getToolCalls(messages: GptMessage[], tools: ToolOption[], options?: {
|
|
23
23
|
signal?: AbortSignal;
|
|
24
24
|
}): Promise<ProposedToolCallsMessage>;
|
|
25
|
-
/**
|
|
26
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
27
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
28
|
-
*
|
|
29
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
30
|
-
*/
|
|
31
|
-
private static fixAssertFields;
|
|
32
25
|
}
|
|
33
26
|
//# sourceMappingURL=GoogleVertexGptClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleVertexGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleVertexGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,kBAAkB;IAqBhC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC"}
|
|
@@ -7,6 +7,7 @@ const GptPlatformAuthenticationFailedException_1 = require("../exceptions/GptPla
|
|
|
7
7
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
8
8
|
const GptClient_1 = require("./GptClient");
|
|
9
9
|
const VercelAiGptClient_1 = require("./VercelAiGptClient");
|
|
10
|
+
const GoogleGenerativeAiGptClient_1 = require("./GoogleGenerativeAiGptClient");
|
|
10
11
|
/**
|
|
11
12
|
* Implementation using the Google Vertex API
|
|
12
13
|
* @see https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex
|
|
@@ -35,7 +36,7 @@ class GoogleVertexGptClient extends GptClient_1.GptClient {
|
|
|
35
36
|
}
|
|
36
37
|
async getStructuredOutput(messages, zodSchema, options) {
|
|
37
38
|
const preprocessedSchema = v4_1.z.preprocess((data) => {
|
|
38
|
-
|
|
39
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
39
40
|
return data;
|
|
40
41
|
}, zodSchema);
|
|
41
42
|
const resp = await this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedSchema, options);
|
|
@@ -46,53 +47,16 @@ class GoogleVertexGptClient extends GptClient_1.GptClient {
|
|
|
46
47
|
name: tool.name,
|
|
47
48
|
description: tool.description,
|
|
48
49
|
inputSchema: v4_1.z.preprocess((data) => {
|
|
49
|
-
|
|
50
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
50
51
|
return data;
|
|
51
52
|
}, tool.inputSchema),
|
|
52
53
|
}));
|
|
53
54
|
const resp = await this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedTools, options);
|
|
54
55
|
resp.proposedToolCalls.forEach((t) => {
|
|
55
|
-
|
|
56
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(t.parameters);
|
|
56
57
|
});
|
|
57
58
|
return resp;
|
|
58
59
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
61
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
62
|
-
*
|
|
63
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
64
|
-
*/
|
|
65
|
-
static fixAssertFields(obj) {
|
|
66
|
-
if (!obj || typeof obj !== 'object') {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (Array.isArray(obj)) {
|
|
70
|
-
obj.forEach((item) => GoogleVertexGptClient.fixAssertFields(item));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const objRecord = obj;
|
|
74
|
-
// Check each property name for keys containing "assert1"
|
|
75
|
-
const keys = Object.keys(objRecord);
|
|
76
|
-
const keysToRename = [];
|
|
77
|
-
keys.forEach((key) => {
|
|
78
|
-
// If the key contains "assert1", prepare to rename it
|
|
79
|
-
if (key.includes('assert1')) {
|
|
80
|
-
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
81
|
-
const newKey = key.replace(/assert1/g, 'assert');
|
|
82
|
-
keysToRename.push({ oldKey: key, newKey });
|
|
83
|
-
}
|
|
84
|
-
// Recursively process nested objects
|
|
85
|
-
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
86
|
-
GoogleVertexGptClient.fixAssertFields(objRecord[key]);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
90
|
-
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
91
|
-
const value = objRecord[oldKey];
|
|
92
|
-
delete objRecord[oldKey];
|
|
93
|
-
objRecord[newKey] = value;
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
60
|
}
|
|
97
61
|
exports.GoogleVertexGptClient = GoogleVertexGptClient;
|
|
98
62
|
//# sourceMappingURL=GoogleVertexGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleVertexGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,+BAA2B;AAE3B,qHAAkH;AAQlH,kDAA+C;AAE/C,2CAAwC;AACxC,2DAAwD;
|
|
1
|
+
{"version":3,"file":"GoogleVertexGptClient.js","sourceRoot":"","sources":["../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,+BAA2B;AAE3B,qHAAkH;AAQlH,kDAA+C;AAE/C,2CAAwC;AACxC,2DAAwD;AACxD,+EAAgE;AAEhE;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,qBAAS;IAGlD,YAAmB,MAA0B;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAU,CAAC;YAEzB,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,EAAE,CAAC;gBACxC,MAAM,IAAI,mFAAwC,CAChD,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAkC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,QAAsB,EACtB,OAAkC;QAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,OAAO,CACR,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,SAAyB,EACzB,OAAkC;QAElC,MAAM,kBAAkB,GAAG,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAClD,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,kBAAkB,EAClB,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB,EACnB,OAAkC;QAElC,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SACrB,CAAC,CAAwB,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,iBAAiB,EACjB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,IAAA,6CAAe,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9ED,sDA8EC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1435
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DonobuGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAsB,MAAM,aAAa,CAAC;AAI5D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAC,eAAe,CACqC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,qBAAqB,EAAE,qBAAqB;IAYlD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAIf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IA0BzB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DonobuGptClient = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
4
5
|
const GptClient_1 = require("./GptClient");
|
|
5
6
|
const OpenAiGptClient_1 = require("./OpenAiGptClient");
|
|
7
|
+
const GoogleGenerativeAiGptClient_1 = require("./GoogleGenerativeAiGptClient");
|
|
6
8
|
/**
|
|
7
9
|
* A GPT client implemented using the Donobu API.
|
|
8
10
|
*/
|
|
@@ -28,7 +30,10 @@ class DonobuGptClient extends GptClient_1.GptClient {
|
|
|
28
30
|
{
|
|
29
31
|
name: 'output',
|
|
30
32
|
description: 'The schema of the expected response structure.',
|
|
31
|
-
inputSchema:
|
|
33
|
+
inputSchema: v4_1.z.preprocess((data) => {
|
|
34
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
35
|
+
return data;
|
|
36
|
+
}, zodSchema),
|
|
32
37
|
},
|
|
33
38
|
], options);
|
|
34
39
|
const toolCall = resp.proposedToolCalls.at(0);
|
|
@@ -40,9 +45,21 @@ class DonobuGptClient extends GptClient_1.GptClient {
|
|
|
40
45
|
};
|
|
41
46
|
}
|
|
42
47
|
async getToolCalls(messages, tools, options) {
|
|
43
|
-
|
|
48
|
+
const preprocessedTools = tools.map((tool) => ({
|
|
49
|
+
name: tool.name,
|
|
50
|
+
description: tool.description,
|
|
51
|
+
inputSchema: v4_1.z.preprocess((data) => {
|
|
52
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
53
|
+
return data;
|
|
54
|
+
}, tool.inputSchema),
|
|
55
|
+
}));
|
|
56
|
+
const resp = await this.delegate.getToolCalls(messages, preprocessedTools, options);
|
|
57
|
+
resp.proposedToolCalls.forEach((t) => {
|
|
58
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(t.parameters);
|
|
59
|
+
});
|
|
60
|
+
return resp;
|
|
44
61
|
}
|
|
45
62
|
}
|
|
46
63
|
exports.DonobuGptClient = DonobuGptClient;
|
|
47
|
-
DonobuGptClient.DEFAULT_API_URL = 'https://donobu-api-73193699649.us-central1.run.app';
|
|
64
|
+
DonobuGptClient.DEFAULT_API_URL = 'https://donobu-prd-api-service-73193699649.us-central1.run.app';
|
|
48
65
|
//# sourceMappingURL=DonobuGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuGptClient.js","sourceRoot":"","sources":["../../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DonobuGptClient.js","sourceRoot":"","sources":["../../../src/clients/DonobuGptClient.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAU3B,2CAA4D;AAC5D,uDAAoD;AACpD,+EAAgE;AAEhE;;GAEG;AACH,MAAa,eAAgB,SAAQ,qBAAS;IAK5C,YAAmB,qBAA4C;QAC7D,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAe,CACjC;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,qBAAqB,CAAC,MAAM;SACrC,EACD,eAAe,CAAC,eAAe,CAChC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,QAAmC;QACnD,OAAO;IACT,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,QAAsB,EACtB,OAAkC;QAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,SAAqB,EACrB,OAAkC;QAElC,kFAAkF;QAClF,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,QAAQ,EACR;YACE;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;gBAC7D,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC;aACd;SACF,EACD,OAAO,CACR,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;YACL,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,IAAA,8BAAkB,EAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;SAC5D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB,EACnB,OAAkC;QAElC,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SACrB,CAAC,CAAwB,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,QAAQ,EACR,iBAAiB,EACjB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,IAAA,6CAAe,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;;AAhFH,0CAiFC;AAhFgB,+BAAe,GAC5B,gEAAgE,CAAC"}
|
|
@@ -22,12 +22,12 @@ export declare class GoogleGenerativeAiGptClient extends GptClient {
|
|
|
22
22
|
getToolCalls(messages: GptMessage[], tools: ToolOption[], options?: {
|
|
23
23
|
signal?: AbortSignal;
|
|
24
24
|
}): Promise<ProposedToolCallsMessage>;
|
|
25
|
-
/**
|
|
26
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
27
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
28
|
-
*
|
|
29
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
30
|
-
*/
|
|
31
|
-
private static fixAssertFields;
|
|
32
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
28
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
29
|
+
*
|
|
30
|
+
* Recursively search and replace any field containing "assert1" with "assert"
|
|
31
|
+
*/
|
|
32
|
+
export declare function fixAssertFields(obj: unknown): void;
|
|
33
33
|
//# sourceMappingURL=GoogleGenerativeAiGptClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAiGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,wBAAwB;IAStC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAiGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,wBAAwB;IAStC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAoClD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GoogleGenerativeAiGptClient = void 0;
|
|
4
|
+
exports.fixAssertFields = fixAssertFields;
|
|
4
5
|
const google_1 = require("@ai-sdk/google");
|
|
5
6
|
const v4_1 = require("zod/v4");
|
|
6
7
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
@@ -27,7 +28,7 @@ class GoogleGenerativeAiGptClient extends GptClient_1.GptClient {
|
|
|
27
28
|
}
|
|
28
29
|
async getStructuredOutput(messages, zodSchema, options) {
|
|
29
30
|
const preprocessedSchema = v4_1.z.preprocess((data) => {
|
|
30
|
-
|
|
31
|
+
fixAssertFields(data);
|
|
31
32
|
return data;
|
|
32
33
|
}, zodSchema);
|
|
33
34
|
const resp = await this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedSchema, options);
|
|
@@ -38,53 +39,53 @@ class GoogleGenerativeAiGptClient extends GptClient_1.GptClient {
|
|
|
38
39
|
name: tool.name,
|
|
39
40
|
description: tool.description,
|
|
40
41
|
inputSchema: v4_1.z.preprocess((data) => {
|
|
41
|
-
|
|
42
|
+
fixAssertFields(data);
|
|
42
43
|
return data;
|
|
43
44
|
}, tool.inputSchema),
|
|
44
45
|
}));
|
|
45
46
|
const resp = await this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedTools, options);
|
|
46
47
|
resp.proposedToolCalls.forEach((t) => {
|
|
47
|
-
|
|
48
|
+
fixAssertFields(t.parameters);
|
|
48
49
|
});
|
|
49
50
|
return resp;
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
}
|
|
53
|
+
exports.GoogleGenerativeAiGptClient = GoogleGenerativeAiGptClient;
|
|
54
|
+
/**
|
|
55
|
+
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
56
|
+
* troubles trying to say the word "assert" on its own... really).
|
|
57
|
+
*
|
|
58
|
+
* Recursively search and replace any field containing "assert1" with "assert"
|
|
59
|
+
*/
|
|
60
|
+
function fixAssertFields(obj) {
|
|
61
|
+
if (!obj || typeof obj !== 'object') {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(obj)) {
|
|
65
|
+
obj.forEach((item) => fixAssertFields(item));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const objRecord = obj;
|
|
69
|
+
// Check each property name for keys containing "assert1"
|
|
70
|
+
const keys = Object.keys(objRecord);
|
|
71
|
+
const keysToRename = [];
|
|
72
|
+
keys.forEach((key) => {
|
|
73
|
+
// If the key contains "assert1", prepare to rename it
|
|
74
|
+
if (key.includes('assert1')) {
|
|
75
|
+
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
76
|
+
const newKey = key.replace(/assert1/g, 'assert');
|
|
77
|
+
keysToRename.push({ oldKey: key, newKey });
|
|
60
78
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
79
|
+
// Recursively process nested objects
|
|
80
|
+
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
81
|
+
fixAssertFields(objRecord[key]);
|
|
64
82
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
73
|
-
const newKey = key.replace(/assert1/g, 'assert');
|
|
74
|
-
keysToRename.push({ oldKey: key, newKey });
|
|
75
|
-
}
|
|
76
|
-
// Recursively process nested objects
|
|
77
|
-
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
78
|
-
GoogleGenerativeAiGptClient.fixAssertFields(objRecord[key]);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
82
|
-
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
83
|
-
const value = objRecord[oldKey];
|
|
84
|
-
delete objRecord[oldKey];
|
|
85
|
-
objRecord[newKey] = value;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
83
|
+
});
|
|
84
|
+
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
85
|
+
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
86
|
+
const value = objRecord[oldKey];
|
|
87
|
+
delete objRecord[oldKey];
|
|
88
|
+
objRecord[newKey] = value;
|
|
89
|
+
});
|
|
88
90
|
}
|
|
89
|
-
exports.GoogleGenerativeAiGptClient = GoogleGenerativeAiGptClient;
|
|
90
91
|
//# sourceMappingURL=GoogleGenerativeAiGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAiGptClient.js","sourceRoot":"","sources":["../../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAiGptClient.js","sourceRoot":"","sources":["../../../src/clients/GoogleGenerativeAiGptClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,12 +22,5 @@ export declare class GoogleVertexGptClient extends GptClient {
|
|
|
22
22
|
getToolCalls(messages: GptMessage[], tools: ToolOption[], options?: {
|
|
23
23
|
signal?: AbortSignal;
|
|
24
24
|
}): Promise<ProposedToolCallsMessage>;
|
|
25
|
-
/**
|
|
26
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
27
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
28
|
-
*
|
|
29
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
30
|
-
*/
|
|
31
|
-
private static fixAssertFields;
|
|
32
25
|
}
|
|
33
26
|
//# sourceMappingURL=GoogleVertexGptClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleVertexGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleVertexGptClient.d.ts","sourceRoot":"","sources":["../../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAElB,MAAM,EAAE,kBAAkB;IAqBhC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAOf,mBAAmB,CAAC,CAAC,EAChC,QAAQ,EAAE,UAAU,EAAE,EACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAazB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,wBAAwB,CAAC;CAmBrC"}
|
|
@@ -7,6 +7,7 @@ const GptPlatformAuthenticationFailedException_1 = require("../exceptions/GptPla
|
|
|
7
7
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
8
8
|
const GptClient_1 = require("./GptClient");
|
|
9
9
|
const VercelAiGptClient_1 = require("./VercelAiGptClient");
|
|
10
|
+
const GoogleGenerativeAiGptClient_1 = require("./GoogleGenerativeAiGptClient");
|
|
10
11
|
/**
|
|
11
12
|
* Implementation using the Google Vertex API
|
|
12
13
|
* @see https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex
|
|
@@ -35,7 +36,7 @@ class GoogleVertexGptClient extends GptClient_1.GptClient {
|
|
|
35
36
|
}
|
|
36
37
|
async getStructuredOutput(messages, zodSchema, options) {
|
|
37
38
|
const preprocessedSchema = v4_1.z.preprocess((data) => {
|
|
38
|
-
|
|
39
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
39
40
|
return data;
|
|
40
41
|
}, zodSchema);
|
|
41
42
|
const resp = await this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedSchema, options);
|
|
@@ -46,53 +47,16 @@ class GoogleVertexGptClient extends GptClient_1.GptClient {
|
|
|
46
47
|
name: tool.name,
|
|
47
48
|
description: tool.description,
|
|
48
49
|
inputSchema: v4_1.z.preprocess((data) => {
|
|
49
|
-
|
|
50
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(data);
|
|
50
51
|
return data;
|
|
51
52
|
}, tool.inputSchema),
|
|
52
53
|
}));
|
|
53
54
|
const resp = await this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), preprocessedTools, options);
|
|
54
55
|
resp.proposedToolCalls.forEach((t) => {
|
|
55
|
-
|
|
56
|
+
(0, GoogleGenerativeAiGptClient_1.fixAssertFields)(t.parameters);
|
|
56
57
|
});
|
|
57
58
|
return resp;
|
|
58
59
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Fix the "assert1" field issue in tool call parameters (Gemini has severe
|
|
61
|
-
* troubles trying to say the word "assert" on its own... really).
|
|
62
|
-
*
|
|
63
|
-
* Recursively search and replace any field containing "assert1" with "assert"
|
|
64
|
-
*/
|
|
65
|
-
static fixAssertFields(obj) {
|
|
66
|
-
if (!obj || typeof obj !== 'object') {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (Array.isArray(obj)) {
|
|
70
|
-
obj.forEach((item) => GoogleVertexGptClient.fixAssertFields(item));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const objRecord = obj;
|
|
74
|
-
// Check each property name for keys containing "assert1"
|
|
75
|
-
const keys = Object.keys(objRecord);
|
|
76
|
-
const keysToRename = [];
|
|
77
|
-
keys.forEach((key) => {
|
|
78
|
-
// If the key contains "assert1", prepare to rename it
|
|
79
|
-
if (key.includes('assert1')) {
|
|
80
|
-
// Create the new key by replacing all instances of "assert1" with "assert"
|
|
81
|
-
const newKey = key.replace(/assert1/g, 'assert');
|
|
82
|
-
keysToRename.push({ oldKey: key, newKey });
|
|
83
|
-
}
|
|
84
|
-
// Recursively process nested objects
|
|
85
|
-
if (objRecord[key] && typeof objRecord[key] === 'object') {
|
|
86
|
-
GoogleVertexGptClient.fixAssertFields(objRecord[key]);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
// Apply all renames after iterating to avoid modifying the object during iteration
|
|
90
|
-
keysToRename.forEach(({ oldKey, newKey }) => {
|
|
91
|
-
const value = objRecord[oldKey];
|
|
92
|
-
delete objRecord[oldKey];
|
|
93
|
-
objRecord[newKey] = value;
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
60
|
}
|
|
97
61
|
exports.GoogleVertexGptClient = GoogleVertexGptClient;
|
|
98
62
|
//# sourceMappingURL=GoogleVertexGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleVertexGptClient.js","sourceRoot":"","sources":["../../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,+BAA2B;AAE3B,qHAAkH;AAQlH,kDAA+C;AAE/C,2CAAwC;AACxC,2DAAwD;
|
|
1
|
+
{"version":3,"file":"GoogleVertexGptClient.js","sourceRoot":"","sources":["../../../src/clients/GoogleVertexGptClient.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,+BAA2B;AAE3B,qHAAkH;AAQlH,kDAA+C;AAE/C,2CAAwC;AACxC,2DAAwD;AACxD,+EAAgE;AAEhE;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,qBAAS;IAGlD,YAAmB,MAA0B;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAU,CAAC;YAEzB,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,EAAE,CAAC;gBACxC,MAAM,IAAI,mFAAwC,CAChD,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAkC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,QAAsB,EACtB,OAAkC;QAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,OAAO,CACR,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,SAAyB,EACzB,OAAkC;QAElC,MAAM,kBAAkB,GAAG,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAClD,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,kBAAkB,EAClB,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB,EACnB,OAAkC;QAElC,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,MAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAA,6CAAe,EAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;SACrB,CAAC,CAAwB,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3C,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,iBAAiB,EACjB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,IAAA,6CAAe,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9ED,sDA8EC"}
|