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":"FlowsFilesApi.d.ts","sourceRoot":"","sources":["../../src/apis/FlowsFilesApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"FlowsFilesApi.d.ts","sourceRoot":"","sources":["../../src/apis/FlowsFilesApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAAvB,uBAAuB,EAAE,uBAAuB;IAGtD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAmEtE"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FlowsFilesApi = void 0;
|
|
4
4
|
const FlowNotFoundException_1 = require("../exceptions/FlowNotFoundException");
|
|
5
5
|
const Logger_1 = require("../utils/Logger");
|
|
6
|
+
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
6
7
|
class FlowsFilesApi {
|
|
7
8
|
constructor(flowsPersistenceFactory) {
|
|
8
9
|
this.flowsPersistenceFactory = flowsPersistenceFactory;
|
|
@@ -12,11 +13,13 @@ class FlowsFilesApi {
|
|
|
12
13
|
const imageId = req.params.imageId;
|
|
13
14
|
for (const flowsPersistence of await this.flowsPersistenceFactory.createPersistenceLayers()) {
|
|
14
15
|
try {
|
|
15
|
-
const image = await flowsPersistence.
|
|
16
|
+
const image = await flowsPersistence.getScreenShot(flowId, imageId);
|
|
16
17
|
if (!image) {
|
|
17
18
|
continue;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
const imageType = MiscUtils_1.MiscUtils.detectImageType(image);
|
|
21
|
+
const mimeType = `image/${imageType}`;
|
|
22
|
+
res.contentType(mimeType);
|
|
20
23
|
res.send(image);
|
|
21
24
|
return;
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsFilesApi.js","sourceRoot":"","sources":["../../src/apis/FlowsFilesApi.ts"],"names":[],"mappings":";;;AAEA,+EAA4E;AAC5E,4CAA4C;
|
|
1
|
+
{"version":3,"file":"FlowsFilesApi.js","sourceRoot":"","sources":["../../src/apis/FlowsFilesApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,107 @@
|
|
|
14
14
|
"additionalProperties": false,
|
|
15
15
|
"required": ["targetId", "bindingName"]
|
|
16
16
|
},
|
|
17
|
+
"ToolParameters": {
|
|
18
|
+
"anyOf": [
|
|
19
|
+
{
|
|
20
|
+
"type": "object",
|
|
21
|
+
"properties": {
|
|
22
|
+
"_type": {},
|
|
23
|
+
"_output": {},
|
|
24
|
+
"_input": {},
|
|
25
|
+
"_def": {},
|
|
26
|
+
"description": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"~standard": {
|
|
30
|
+
"description": "The Standard Schema properties interface.",
|
|
31
|
+
"type": "object",
|
|
32
|
+
"properties": {
|
|
33
|
+
"version": {
|
|
34
|
+
"description": "The version number of the standard.",
|
|
35
|
+
"type": "number",
|
|
36
|
+
"const": 1
|
|
37
|
+
},
|
|
38
|
+
"vendor": {
|
|
39
|
+
"description": "The vendor name of the schema library.",
|
|
40
|
+
"type": "string"
|
|
41
|
+
},
|
|
42
|
+
"validate": {
|
|
43
|
+
"description": "Validates unknown input values.",
|
|
44
|
+
"type": "object",
|
|
45
|
+
"additionalProperties": false
|
|
46
|
+
},
|
|
47
|
+
"types": {
|
|
48
|
+
"description": "Inferred types associated with the schema.",
|
|
49
|
+
"type": "object",
|
|
50
|
+
"properties": {
|
|
51
|
+
"input": {
|
|
52
|
+
"description": "The input type of the schema."
|
|
53
|
+
},
|
|
54
|
+
"output": {
|
|
55
|
+
"description": "The output type of the schema."
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": ["input", "output"]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"required": ["validate", "vendor", "version"]
|
|
64
|
+
},
|
|
65
|
+
"spa": {
|
|
66
|
+
"description": "Alias of safeParseAsync",
|
|
67
|
+
"type": "object",
|
|
68
|
+
"additionalProperties": false
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"additionalProperties": false,
|
|
72
|
+
"required": [
|
|
73
|
+
"_def",
|
|
74
|
+
"_input",
|
|
75
|
+
"_output",
|
|
76
|
+
"_type",
|
|
77
|
+
"description",
|
|
78
|
+
"spa",
|
|
79
|
+
"~standard"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"additionalProperties": false,
|
|
84
|
+
"type": "object",
|
|
85
|
+
"properties": {
|
|
86
|
+
"validate": {
|
|
87
|
+
"description": "Optional. Validates that the structure of a value matches this schema,\nand returns a typed version of the value if it does.",
|
|
88
|
+
"type": "object",
|
|
89
|
+
"additionalProperties": false
|
|
90
|
+
},
|
|
91
|
+
"__@validatorSymbol@9457": {
|
|
92
|
+
"description": "Used to mark validator functions so we can support both Zod and custom schemas.",
|
|
93
|
+
"type": "boolean",
|
|
94
|
+
"const": true
|
|
95
|
+
},
|
|
96
|
+
"_type": {
|
|
97
|
+
"description": "Schema type for inference."
|
|
98
|
+
},
|
|
99
|
+
"jsonSchema": {
|
|
100
|
+
"$ref": "#/definitions/JSONSchema7",
|
|
101
|
+
"description": "The JSON Schema for the schema. It is passed to the providers."
|
|
102
|
+
},
|
|
103
|
+
"__@schemaSymbol@9462": {
|
|
104
|
+
"description": "Used to mark schemas so we can support both Zod and custom schemas.",
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"const": true
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": [
|
|
110
|
+
"__@schemaSymbol@9462",
|
|
111
|
+
"__@validatorSymbol@9457",
|
|
112
|
+
"_type",
|
|
113
|
+
"jsonSchema"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
},
|
|
17
118
|
"BaseToolGptParameters": {
|
|
18
119
|
"description": "This interface is intended to be the base for all tool parameters that are generated by a GPT.",
|
|
19
120
|
"type": "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1114
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAqBpD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAF9C,gBAAuB,IAAI,4BAA4B;gBAEnB,UAAU,EAAE,UAAU;IAEnD,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAqBpD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAF9C,gBAAuB,IAAI,4BAA4B;gBAEnB,UAAU,EAAE,UAAU;IAEnD,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;YAgDF,cAAc;CAyD7B"}
|
|
@@ -31,8 +31,8 @@ class PageInteractionTracker {
|
|
|
31
31
|
const timestamp = new Date().getTime();
|
|
32
32
|
const event = args[0];
|
|
33
33
|
Logger_1.appLogger.debug(`Event: ${JSON.stringify(event)}`);
|
|
34
|
-
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.
|
|
35
|
-
const postCallImageId = await this.donobuFlow.persistence.
|
|
34
|
+
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeScreenshot(source.page);
|
|
35
|
+
const postCallImageId = await this.donobuFlow.persistence.saveScreenShot(this.donobuFlow.metadata.id, postCallImage);
|
|
36
36
|
const frameSelector = source.frame.url() === source.page.url()
|
|
37
37
|
? null
|
|
38
38
|
: await PlaywrightUtils_1.PlaywrightUtils.parseUnambiguousSelector(await source.frame.frameElement());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":";;;AAGA,kDAA+C;AAG/C,kDAG4B;AAC5B,wDAG+B;AAC/B,4CAA4C;AAC5C,8DAA2D;AAQ3D;;;;GAIG;AACH,MAAa,sBAAsB;IAGjC,YAAoC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,IAAI;QACT,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,MAA6D,EAC7D,GAAG,IAAW;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEjD,IACE,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,iCAAiC,EAC/C,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAqB,CAAC;YAE1C,kBAAS,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnD,MAAM,aAAa,GAAG,MAAM,iCAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,30 +8,11 @@ import { AnthropicAwsBedrockConfig } from '../models/GptConfig';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class AnthropicAwsBedrockGptClient extends GptClient {
|
|
10
10
|
private readonly anthropicAwsBedrockConfig;
|
|
11
|
-
private
|
|
12
|
-
private readonly bedrockClient;
|
|
13
|
-
/**
|
|
14
|
-
* Create a new instance.
|
|
15
|
-
*/
|
|
11
|
+
private readonly delegate;
|
|
16
12
|
constructor(anthropicAwsBedrockConfig: AnthropicAwsBedrockConfig);
|
|
17
13
|
ping(): Promise<void>;
|
|
18
14
|
getMessage(messages: GptMessage[]): Promise<AssistantMessage>;
|
|
19
15
|
getStructuredOutput(messages: GptMessage[], jsonSchema: JSONSchema7): Promise<StructuredOutputMessage>;
|
|
20
16
|
getToolCalls(messages: GptMessage[], tools: ToolOption[]): Promise<ProposedToolCallsMessage>;
|
|
21
|
-
/**
|
|
22
|
-
* Extract system prompt from messages
|
|
23
|
-
*/
|
|
24
|
-
private extractSystemPrompt;
|
|
25
|
-
/**
|
|
26
|
-
* Maps AWS SDK errors to our application-specific exceptions
|
|
27
|
-
*/
|
|
28
|
-
private mapErrorToDonobuException;
|
|
29
|
-
/**
|
|
30
|
-
* Merges adjacent user messages because Anthropic will reject requests that do not delicately
|
|
31
|
-
* flip-flop between "user" and "assistant" roles.
|
|
32
|
-
*/
|
|
33
|
-
private static shenanigansUserMessageMerge;
|
|
34
|
-
private static chatRequestMessageFromGptMessage;
|
|
35
|
-
private static toolChoiceFromTool;
|
|
36
17
|
}
|
|
37
18
|
//# sourceMappingURL=AnthropicAwsBedrockGptClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicAwsBedrockGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/AnthropicAwsBedrockGptClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnthropicAwsBedrockGptClient.d.ts","sourceRoot":"","sources":["../../src/clients/AnthropicAwsBedrockGptClient.ts"],"names":[],"mappings":"AAAA,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;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKhE;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,SAAS;IAIvD,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAGlB,yBAAyB,EAAE,yBAAyB;IAY1D,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;IAOtB,YAAY,CACvB,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,wBAAwB,CAAC;CAMrC"}
|
|
@@ -1,355 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnthropicAwsBedrockGptClient = void 0;
|
|
4
|
-
const Logger_1 = require("../utils/Logger");
|
|
5
|
-
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
6
4
|
const GptClient_1 = require("./GptClient");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const GptPlatformNotReachableException_1 = require("../exceptions/GptPlatformNotReachableException");
|
|
11
|
-
const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
|
|
12
|
-
const GptPlatformRateLimitedException_1 = require("../exceptions/GptPlatformRateLimitedException");
|
|
5
|
+
const amazon_bedrock_1 = require("@ai-sdk/amazon-bedrock");
|
|
6
|
+
const VercelAiGptClient_1 = require("./VercelAiGptClient");
|
|
7
|
+
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
13
8
|
/**
|
|
14
9
|
* A GPT client implemented using AWS Bedrock for Anthropic models.
|
|
15
10
|
* @see https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude.html
|
|
16
11
|
*/
|
|
17
12
|
class AnthropicAwsBedrockGptClient extends GptClient_1.GptClient {
|
|
18
|
-
/**
|
|
19
|
-
* Create a new instance.
|
|
20
|
-
*/
|
|
21
13
|
constructor(anthropicAwsBedrockConfig) {
|
|
22
14
|
super(anthropicAwsBedrockConfig);
|
|
23
15
|
this.anthropicAwsBedrockConfig = anthropicAwsBedrockConfig;
|
|
24
|
-
|
|
16
|
+
const bedrock = (0, amazon_bedrock_1.createAmazonBedrock)({
|
|
25
17
|
region: anthropicAwsBedrockConfig.region,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
accessKeyId: anthropicAwsBedrockConfig.accessKeyId,
|
|
29
|
-
secretAccessKey: anthropicAwsBedrockConfig.secretAccessKey,
|
|
30
|
-
}
|
|
31
|
-
: undefined,
|
|
18
|
+
accessKeyId: anthropicAwsBedrockConfig.accessKeyId,
|
|
19
|
+
secretAccessKey: anthropicAwsBedrockConfig.secretAccessKey,
|
|
32
20
|
});
|
|
21
|
+
const model = bedrock(anthropicAwsBedrockConfig.modelName);
|
|
22
|
+
this.delegate = new VercelAiGptClient_1.VercelAiGptClient(model);
|
|
33
23
|
}
|
|
34
24
|
async ping() {
|
|
35
|
-
|
|
36
|
-
// Build a minimal request to check if the model exists and credentials are valid.
|
|
37
|
-
const command = new client_bedrock_runtime_1.InvokeModelCommand({
|
|
38
|
-
modelId: this.anthropicAwsBedrockConfig.modelName,
|
|
39
|
-
contentType: 'application/json',
|
|
40
|
-
accept: 'application/json',
|
|
41
|
-
body: JSON.stringify({
|
|
42
|
-
anthropic_version: 'bedrock-2023-05-31',
|
|
43
|
-
max_tokens: 1,
|
|
44
|
-
messages: [
|
|
45
|
-
{ role: 'user', content: [{ type: 'text', text: 'ping' }] },
|
|
46
|
-
],
|
|
47
|
-
}),
|
|
48
|
-
});
|
|
49
|
-
await this.bedrockClient.send(command);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
if (error.name === 'ResourceNotFoundException' ||
|
|
53
|
-
(error.message && error.message.includes('model not found'))) {
|
|
54
|
-
throw new GptModelNotFoundException_1.GptModelNotFoundException(this.anthropicAwsBedrockConfig.type, this.anthropicAwsBedrockConfig.modelName);
|
|
55
|
-
}
|
|
56
|
-
else if (error.name === 'AccessDeniedException' ||
|
|
57
|
-
error.name === 'UnrecognizedClientException' ||
|
|
58
|
-
error.name === 'InvalidSignatureException') {
|
|
59
|
-
throw new GptPlatformAuthenticationFailedException_1.GptPlatformAuthenticationFailedException(this.anthropicAwsBedrockConfig.type);
|
|
60
|
-
}
|
|
61
|
-
else if (error.name === 'ServiceUnavailableException') {
|
|
62
|
-
throw new GptPlatformNotReachableException_1.GptPlatformNotReachableException(this.anthropicAwsBedrockConfig.type);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw new GptPlatformInternalErrorException_1.GptPlatformInternalErrorException(error.message || 'Unknown Bedrock error');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
25
|
+
return this.delegate.ping();
|
|
68
26
|
}
|
|
69
27
|
async getMessage(messages) {
|
|
70
|
-
|
|
71
|
-
const nonSystemMessages = messages
|
|
72
|
-
.filter((msg) => msg.type !== 'system')
|
|
73
|
-
.map(AnthropicAwsBedrockGptClient.chatRequestMessageFromGptMessage);
|
|
74
|
-
const bedrockRequest = {
|
|
75
|
-
anthropic_version: 'bedrock-2023-05-31',
|
|
76
|
-
max_tokens: AnthropicAwsBedrockGptClient.MAX_TOKENS,
|
|
77
|
-
temperature: 0.0,
|
|
78
|
-
system: systemPrompt,
|
|
79
|
-
messages: nonSystemMessages,
|
|
80
|
-
};
|
|
81
|
-
try {
|
|
82
|
-
const command = new client_bedrock_runtime_1.InvokeModelCommand({
|
|
83
|
-
modelId: this.anthropicAwsBedrockConfig.modelName,
|
|
84
|
-
contentType: 'application/json',
|
|
85
|
-
accept: 'application/json',
|
|
86
|
-
body: JSON.stringify(bedrockRequest),
|
|
87
|
-
});
|
|
88
|
-
const response = await this.bedrockClient.send(command);
|
|
89
|
-
const responseBody = JSON.parse(Buffer.from(response.body).toString('utf-8'));
|
|
90
|
-
const text = responseBody.content[0].text;
|
|
91
|
-
// Bedrock currently doesn't provide token usage in the same format as Anthropic direct API
|
|
92
|
-
// We would need to adapt this if/when Bedrock adds token usage metrics
|
|
93
|
-
const promptTokensUsed = responseBody.usage?.input_tokens || 0;
|
|
94
|
-
const completionTokensUsed = responseBody.usage?.output_tokens || 0;
|
|
95
|
-
return {
|
|
96
|
-
type: 'assistant',
|
|
97
|
-
text,
|
|
98
|
-
promptTokensUsed,
|
|
99
|
-
completionTokensUsed,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
throw await this.mapErrorToDonobuException(error);
|
|
104
|
-
}
|
|
28
|
+
return this.delegate.getMessage(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages));
|
|
105
29
|
}
|
|
106
30
|
async getStructuredOutput(messages, jsonSchema) {
|
|
107
|
-
|
|
108
|
-
const nonSystemMessages = messages
|
|
109
|
-
.filter((msg) => msg.type !== 'system')
|
|
110
|
-
.map(AnthropicAwsBedrockGptClient.chatRequestMessageFromGptMessage);
|
|
111
|
-
const bedrockRequest = {
|
|
112
|
-
anthropic_version: 'bedrock-2023-05-31',
|
|
113
|
-
max_tokens: AnthropicAwsBedrockGptClient.MAX_TOKENS,
|
|
114
|
-
temperature: 0.0,
|
|
115
|
-
system: systemPrompt,
|
|
116
|
-
messages: nonSystemMessages,
|
|
117
|
-
tools: [
|
|
118
|
-
{
|
|
119
|
-
name: 'StructuredOutputTool',
|
|
120
|
-
description: 'Call this tool with the described parameters',
|
|
121
|
-
input_schema: jsonSchema,
|
|
122
|
-
},
|
|
123
|
-
],
|
|
124
|
-
tool_choice: {
|
|
125
|
-
name: 'StructuredOutputTool',
|
|
126
|
-
type: 'tool',
|
|
127
|
-
disable_parallel_tool_use: true,
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
try {
|
|
131
|
-
const command = new client_bedrock_runtime_1.InvokeModelCommand({
|
|
132
|
-
modelId: this.anthropicAwsBedrockConfig.modelName,
|
|
133
|
-
contentType: 'application/json',
|
|
134
|
-
accept: 'application/json',
|
|
135
|
-
body: JSON.stringify(bedrockRequest),
|
|
136
|
-
});
|
|
137
|
-
const response = await this.bedrockClient.send(command);
|
|
138
|
-
const responseBody = JSON.parse(Buffer.from(response.body).toString('utf-8'));
|
|
139
|
-
const item = responseBody.content[0];
|
|
140
|
-
const contentType = item.type;
|
|
141
|
-
let respObj;
|
|
142
|
-
if (contentType === 'tool_use') {
|
|
143
|
-
respObj = item.input;
|
|
144
|
-
}
|
|
145
|
-
else if (contentType === 'text') {
|
|
146
|
-
throw new Error('Unsupported content type: text');
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
throw new Error(`Unexpected content type: ${contentType}`);
|
|
150
|
-
}
|
|
151
|
-
const promptTokensUsed = responseBody.usage?.input_tokens || 0;
|
|
152
|
-
const completionTokensUsed = responseBody.usage?.output_tokens || 0;
|
|
153
|
-
return {
|
|
154
|
-
type: 'structured_output',
|
|
155
|
-
output: respObj,
|
|
156
|
-
promptTokensUsed,
|
|
157
|
-
completionTokensUsed,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
throw await this.mapErrorToDonobuException(error);
|
|
162
|
-
}
|
|
31
|
+
return this.delegate.getStructuredOutput(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), jsonSchema);
|
|
163
32
|
}
|
|
164
33
|
async getToolCalls(messages, tools) {
|
|
165
|
-
|
|
166
|
-
const nonSystemMessages = messages
|
|
167
|
-
.filter((msg) => msg.type !== 'system')
|
|
168
|
-
.map(AnthropicAwsBedrockGptClient.chatRequestMessageFromGptMessage);
|
|
169
|
-
// Apply user message merging for compatibility with Anthropic's expectations
|
|
170
|
-
AnthropicAwsBedrockGptClient.shenanigansUserMessageMerge(nonSystemMessages);
|
|
171
|
-
const bedrockRequest = {
|
|
172
|
-
anthropic_version: 'bedrock-2023-05-31',
|
|
173
|
-
max_tokens: AnthropicAwsBedrockGptClient.MAX_TOKENS,
|
|
174
|
-
temperature: 0.0,
|
|
175
|
-
system: systemPrompt,
|
|
176
|
-
messages: nonSystemMessages,
|
|
177
|
-
tool_choice: { type: 'any' },
|
|
178
|
-
tools: tools.length
|
|
179
|
-
? tools.map(AnthropicAwsBedrockGptClient.toolChoiceFromTool)
|
|
180
|
-
: undefined,
|
|
181
|
-
};
|
|
182
|
-
try {
|
|
183
|
-
const command = new client_bedrock_runtime_1.InvokeModelCommand({
|
|
184
|
-
modelId: this.anthropicAwsBedrockConfig.modelName,
|
|
185
|
-
contentType: 'application/json',
|
|
186
|
-
accept: 'application/json',
|
|
187
|
-
body: JSON.stringify(bedrockRequest),
|
|
188
|
-
});
|
|
189
|
-
const response = await this.bedrockClient.send(command);
|
|
190
|
-
const responseBody = JSON.parse(Buffer.from(response.body).toString('utf-8'));
|
|
191
|
-
const proposedToolCalls = responseBody.content.map((item) => {
|
|
192
|
-
const contentType = item.type;
|
|
193
|
-
if (contentType === 'tool_use') {
|
|
194
|
-
const tool = tools.find((t) => t.name === item.name);
|
|
195
|
-
if (!tool) {
|
|
196
|
-
throw new Error('Unable to find matching tool for tool call');
|
|
197
|
-
}
|
|
198
|
-
return {
|
|
199
|
-
name: item.name,
|
|
200
|
-
parameters: item.input,
|
|
201
|
-
toolCallId: item.id,
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
else if (contentType === 'text') {
|
|
205
|
-
throw new Error('Unsupported content type: text');
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
throw new Error(`Unexpected content type: ${contentType}`);
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
const promptTokensUsed = responseBody.usage?.input_tokens || 0;
|
|
212
|
-
const completionTokensUsed = responseBody.usage?.output_tokens || 0;
|
|
213
|
-
return {
|
|
214
|
-
type: 'proposed_tool_calls',
|
|
215
|
-
proposedToolCalls,
|
|
216
|
-
promptTokensUsed,
|
|
217
|
-
completionTokensUsed,
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
throw await this.mapErrorToDonobuException(error);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Extract system prompt from messages
|
|
226
|
-
*/
|
|
227
|
-
extractSystemPrompt(messages) {
|
|
228
|
-
const systemMessages = messages.filter((msg) => msg.type === 'system');
|
|
229
|
-
if (systemMessages.length === 0) {
|
|
230
|
-
return '';
|
|
231
|
-
}
|
|
232
|
-
// Concatenate all system prompts
|
|
233
|
-
return systemMessages.map((msg) => msg.text).join('\n\n');
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Maps AWS SDK errors to our application-specific exceptions
|
|
237
|
-
*/
|
|
238
|
-
async mapErrorToDonobuException(error) {
|
|
239
|
-
Logger_1.appLogger.error(`Bedrock error: ${JSON.stringify(JsonUtils_1.JsonUtils.objectToJson(error))}`);
|
|
240
|
-
if (error.name === 'ResourceNotFoundException' ||
|
|
241
|
-
(error.message && error.message.includes('model not found'))) {
|
|
242
|
-
return new GptModelNotFoundException_1.GptModelNotFoundException(this.anthropicAwsBedrockConfig.type, this.anthropicAwsBedrockConfig.modelName);
|
|
243
|
-
}
|
|
244
|
-
else if (error.name === 'AccessDeniedException' ||
|
|
245
|
-
error.name === 'UnrecognizedClientException' ||
|
|
246
|
-
error.name === 'InvalidSignatureException') {
|
|
247
|
-
return new GptPlatformAuthenticationFailedException_1.GptPlatformAuthenticationFailedException(this.anthropicAwsBedrockConfig.type);
|
|
248
|
-
}
|
|
249
|
-
else if (error.name === 'ServiceUnavailableException') {
|
|
250
|
-
return new GptPlatformNotReachableException_1.GptPlatformNotReachableException(this.anthropicAwsBedrockConfig.type);
|
|
251
|
-
}
|
|
252
|
-
else if (error.name === 'ThrottlingException') {
|
|
253
|
-
return new GptPlatformRateLimitedException_1.GptPlatformRateLimitedException(this.anthropicAwsBedrockConfig.type);
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
return new GptPlatformInternalErrorException_1.GptPlatformInternalErrorException(error.message || 'Unknown Bedrock error');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Merges adjacent user messages because Anthropic will reject requests that do not delicately
|
|
261
|
-
* flip-flop between "user" and "assistant" roles.
|
|
262
|
-
*/
|
|
263
|
-
static shenanigansUserMessageMerge(messages) {
|
|
264
|
-
for (let i = messages.length - 1; i > 0; i--) {
|
|
265
|
-
const message = messages[i];
|
|
266
|
-
const adjacentMessage = messages[i - 1];
|
|
267
|
-
if (message.role === 'user' && adjacentMessage.role === 'user') {
|
|
268
|
-
adjacentMessage.content.push(...message.content);
|
|
269
|
-
messages.splice(i, 1);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
static chatRequestMessageFromGptMessage(gptMessage) {
|
|
274
|
-
if (gptMessage.type === 'assistant') {
|
|
275
|
-
return {
|
|
276
|
-
role: 'assistant',
|
|
277
|
-
content: [
|
|
278
|
-
{
|
|
279
|
-
type: 'text',
|
|
280
|
-
text: gptMessage.text,
|
|
281
|
-
},
|
|
282
|
-
],
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
if (gptMessage.type === 'structured_output') {
|
|
286
|
-
const output = gptMessage.output;
|
|
287
|
-
return {
|
|
288
|
-
role: 'assistant',
|
|
289
|
-
content: [
|
|
290
|
-
{
|
|
291
|
-
type: 'text',
|
|
292
|
-
text: JSON.stringify(JsonUtils_1.JsonUtils.objectToJson(output), null, 2),
|
|
293
|
-
},
|
|
294
|
-
],
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
if (gptMessage.type === 'proposed_tool_calls') {
|
|
298
|
-
return {
|
|
299
|
-
role: 'assistant',
|
|
300
|
-
content: gptMessage.proposedToolCalls.map((tc) => ({
|
|
301
|
-
type: 'tool_use',
|
|
302
|
-
id: tc.toolCallId,
|
|
303
|
-
name: tc.name,
|
|
304
|
-
input: JsonUtils_1.JsonUtils.objectToJson(tc.parameters),
|
|
305
|
-
})),
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
if (gptMessage.type === 'user') {
|
|
309
|
-
return {
|
|
310
|
-
role: 'user',
|
|
311
|
-
content: gptMessage.items.map((item) => {
|
|
312
|
-
if (item.type === 'png') {
|
|
313
|
-
return {
|
|
314
|
-
type: 'image',
|
|
315
|
-
source: {
|
|
316
|
-
type: 'base64',
|
|
317
|
-
media_type: 'image/png',
|
|
318
|
-
data: Buffer.from(item.bytes).toString('base64'),
|
|
319
|
-
},
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
return {
|
|
324
|
-
type: 'text',
|
|
325
|
-
text: item.text,
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
}),
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
if (gptMessage.type === 'tool_call_result') {
|
|
332
|
-
return {
|
|
333
|
-
role: 'user',
|
|
334
|
-
content: [
|
|
335
|
-
{
|
|
336
|
-
type: 'tool_result',
|
|
337
|
-
tool_use_id: gptMessage.toolCallId,
|
|
338
|
-
content: gptMessage.data,
|
|
339
|
-
},
|
|
340
|
-
],
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
throw new Error(`Unsupported message type: ${JsonUtils_1.JsonUtils.objectToJson(gptMessage)}`);
|
|
344
|
-
}
|
|
345
|
-
static toolChoiceFromTool(tool) {
|
|
346
|
-
return {
|
|
347
|
-
name: tool.name,
|
|
348
|
-
description: tool.description,
|
|
349
|
-
input_schema: tool.inputSchema,
|
|
350
|
-
};
|
|
34
|
+
return this.delegate.getToolCalls(MiscUtils_1.MiscUtils.mergeAdjacentUserMessages(messages), tools);
|
|
351
35
|
}
|
|
352
36
|
}
|
|
353
37
|
exports.AnthropicAwsBedrockGptClient = AnthropicAwsBedrockGptClient;
|
|
354
|
-
AnthropicAwsBedrockGptClient.MAX_TOKENS = 8192;
|
|
355
38
|
//# sourceMappingURL=AnthropicAwsBedrockGptClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicAwsBedrockGptClient.js","sourceRoot":"","sources":["../../src/clients/AnthropicAwsBedrockGptClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnthropicAwsBedrockGptClient.js","sourceRoot":"","sources":["../../src/clients/AnthropicAwsBedrockGptClient.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AASpD,2DAA6D;AAC7D,2DAAwD;AACxD,kDAA+C;AAE/C;;;GAGG;AACH,MAAa,4BAA6B,SAAQ,qBAAS;IAGzD,YACmB,yBAAoD;QAErE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAFhB,8BAAyB,GAAzB,yBAAyB,CAA2B;QAGrE,MAAM,OAAO,GAAG,IAAA,oCAAmB,EAAC;YAClC,MAAM,EAAE,yBAAyB,CAAC,MAAM;YACxC,WAAW,EAAE,yBAAyB,CAAC,WAAW;YAClD,eAAe,EAAE,yBAAyB,CAAC,eAAe;SAC3D,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAsB;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAC9C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,QAAsB,EACtB,UAAuB;QAEvB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACtC,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,UAAU,CACX,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,QAAsB,EACtB,KAAmB;QAEnB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC/B,qBAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AA7CD,oEA6CC"}
|
|
@@ -16,9 +16,6 @@ export declare class AnthropicGptClient extends GptClient {
|
|
|
16
16
|
private static readonly CONTENT_TYPE_HEADER_VALUE;
|
|
17
17
|
private static readonly MAX_TOKENS;
|
|
18
18
|
private readonly headers;
|
|
19
|
-
/**
|
|
20
|
-
* Create a new instance.
|
|
21
|
-
*/
|
|
22
19
|
constructor(anthropicConfig: AnthropicConfig);
|
|
23
20
|
ping(): Promise<void>;
|
|
24
21
|
getMessage(messages: GptMessage[]): Promise<AssistantMessage>;
|
|
@@ -26,11 +23,6 @@ export declare class AnthropicGptClient extends GptClient {
|
|
|
26
23
|
getToolCalls(messages: GptMessage[], tools: ToolOption[]): Promise<ProposedToolCallsMessage>;
|
|
27
24
|
private mapErrorResponseToDonobuException;
|
|
28
25
|
private makeRequest;
|
|
29
|
-
/**
|
|
30
|
-
* Merges adjacent user messages because Anthropic will reject requests that do not delicately
|
|
31
|
-
* flip-flop between "user" and "assistant" roles.
|
|
32
|
-
*/
|
|
33
|
-
private static shenanigansUserMessageMerge;
|
|
34
26
|
private static chatRequestMessageFromGptMessage;
|
|
35
27
|
private static toolChoiceFromTool;
|
|
36
28
|
}
|