@tyvm/knowhow 0.0.63 → 0.0.65
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/package.json +2 -1
- package/src/chat/modules/AgentModule.ts +18 -2
- package/src/cli.ts +5 -4
- package/src/clients/anthropic.ts +68 -5
- package/src/config.ts +7 -0
- package/src/processors/Base64ImageDetector.ts +193 -40
- package/src/processors/index.ts +1 -1
- package/src/services/AgentSynchronization.ts +27 -10
- package/src/types.ts +11 -0
- package/src/worker.ts +145 -8
- package/src/workers/tools/index.ts +10 -0
- package/src/workers/tools/listAllowedPorts.ts +30 -0
- package/tests/plugins/language/languagePlugin-content-triggers.test.ts +5 -1
- package/tests/plugins/language/languagePlugin.test.ts +5 -1
- package/tests/processors/Base64ImageDetector.test.ts +263 -70
- package/tests/services/Tools.test.ts +6 -4
- package/ts_build/package.json +2 -1
- package/ts_build/src/chat/modules/AgentModule.js +12 -2
- package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
- package/ts_build/src/cli.js +5 -4
- package/ts_build/src/cli.js.map +1 -1
- package/ts_build/src/clients/anthropic.d.ts +9 -0
- package/ts_build/src/clients/anthropic.js +61 -5
- package/ts_build/src/clients/anthropic.js.map +1 -1
- package/ts_build/src/config.js +6 -0
- package/ts_build/src/config.js.map +1 -1
- package/ts_build/src/processors/Base64ImageDetector.d.ts +7 -3
- package/ts_build/src/processors/Base64ImageDetector.js +147 -27
- package/ts_build/src/processors/Base64ImageDetector.js.map +1 -1
- package/ts_build/src/processors/index.d.ts +1 -1
- package/ts_build/src/processors/index.js +2 -2
- package/ts_build/src/processors/index.js.map +1 -1
- package/ts_build/src/services/AgentSynchronization.d.ts +2 -0
- package/ts_build/src/services/AgentSynchronization.js +20 -10
- package/ts_build/src/services/AgentSynchronization.js.map +1 -1
- package/ts_build/src/types.d.ts +11 -0
- package/ts_build/src/types.js +1 -0
- package/ts_build/src/types.js.map +1 -1
- package/ts_build/src/worker/handlers/proxyHandler.d.ts +2 -0
- package/ts_build/src/worker/handlers/proxyHandler.js +41 -0
- package/ts_build/src/worker/handlers/proxyHandler.js.map +1 -0
- package/ts_build/src/worker/tools/index.d.ts +1 -0
- package/ts_build/src/worker/tools/index.js +18 -0
- package/ts_build/src/worker/tools/index.js.map +1 -0
- package/ts_build/src/worker/tools/portForwarding.d.ts +49 -0
- package/ts_build/src/worker/tools/portForwarding.js +173 -0
- package/ts_build/src/worker/tools/portForwarding.js.map +1 -0
- package/ts_build/src/worker/types/proxy.d.ts +18 -0
- package/ts_build/src/worker/types/proxy.js +3 -0
- package/ts_build/src/worker/types/proxy.js.map +1 -0
- package/ts_build/src/worker.js +119 -3
- package/ts_build/src/worker.js.map +1 -1
- package/ts_build/src/workers/tools/index.d.ts +9 -0
- package/ts_build/src/workers/tools/index.js +23 -0
- package/ts_build/src/workers/tools/index.js.map +1 -0
- package/ts_build/src/workers/tools/listAllowedPorts.d.ts +3 -0
- package/ts_build/src/workers/tools/listAllowedPorts.js +25 -0
- package/ts_build/src/workers/tools/listAllowedPorts.js.map +1 -0
- package/ts_build/src/workers/tools/listForwardedPorts.d.ts +10 -0
- package/ts_build/src/workers/tools/listForwardedPorts.js +22 -0
- package/ts_build/src/workers/tools/listForwardedPorts.js.map +1 -0
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +5 -1
- package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
- package/ts_build/tests/plugins/language/languagePlugin.test.js +5 -1
- package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
- package/ts_build/tests/processors/Base64ImageDetector.test.js +221 -59
- package/ts_build/tests/processors/Base64ImageDetector.test.js.map +1 -1
- package/ts_build/tests/services/Tools.test.js +3 -3
- package/ts_build/tests/services/Tools.test.js.map +1 -1
- package/ts_build/tests/worker/handlers/proxyHandler.test.d.ts +1 -0
- package/ts_build/tests/worker/handlers/proxyHandler.test.js +170 -0
- package/ts_build/tests/worker/handlers/proxyHandler.test.js.map +1 -0
- package/tsconfig.json +1 -1
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.globalBase64ImageDetector = exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
26
|
+
exports.globalBase64ImageDetector = exports.Base64ImageProcessor = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
class Base64ImageProcessor {
|
|
30
|
+
imageDetail = "auto";
|
|
31
|
+
supportedFormats = ["png", "jpeg", "jpg", "gif", "webp"];
|
|
32
|
+
constructor(toolsService) {
|
|
33
|
+
this.registerTool(toolsService);
|
|
10
34
|
}
|
|
11
35
|
isBase64Image(text) {
|
|
12
36
|
const dataUrlPattern = /^data:image\/([a-zA-Z]+);base64,(.+)$/;
|
|
@@ -22,17 +46,18 @@ class Base64ImageDetector {
|
|
|
22
46
|
const header = text.substring(0, 50);
|
|
23
47
|
try {
|
|
24
48
|
const decoded = atob(header);
|
|
25
|
-
if (decoded.startsWith(
|
|
26
|
-
return { isImage: true, mimeType:
|
|
49
|
+
if (decoded.startsWith("\x89PNG")) {
|
|
50
|
+
return { isImage: true, mimeType: "png", data: text };
|
|
27
51
|
}
|
|
28
|
-
else if (decoded.startsWith(
|
|
29
|
-
return { isImage: true, mimeType:
|
|
52
|
+
else if (decoded.startsWith("\xFF\xD8\xFF")) {
|
|
53
|
+
return { isImage: true, mimeType: "jpeg", data: text };
|
|
30
54
|
}
|
|
31
|
-
else if (decoded.startsWith(
|
|
32
|
-
|
|
55
|
+
else if (decoded.startsWith("GIF87a") ||
|
|
56
|
+
decoded.startsWith("GIF89a")) {
|
|
57
|
+
return { isImage: true, mimeType: "gif", data: text };
|
|
33
58
|
}
|
|
34
|
-
else if (decoded.startsWith(
|
|
35
|
-
return { isImage: true, mimeType:
|
|
59
|
+
else if (decoded.startsWith("RIFF") && decoded.includes("WEBP")) {
|
|
60
|
+
return { isImage: true, mimeType: "webp", data: text };
|
|
36
61
|
}
|
|
37
62
|
}
|
|
38
63
|
catch (e) {
|
|
@@ -45,19 +70,19 @@ class Base64ImageDetector {
|
|
|
45
70
|
if (!detection.isImage) {
|
|
46
71
|
return null;
|
|
47
72
|
}
|
|
48
|
-
const dataUrl = detection.data.startsWith(
|
|
73
|
+
const dataUrl = detection.data.startsWith("data:")
|
|
49
74
|
? detection.data
|
|
50
75
|
: `data:image/${detection.mimeType};base64,${detection.data}`;
|
|
51
76
|
return {
|
|
52
77
|
type: "image_url",
|
|
53
78
|
image_url: {
|
|
54
79
|
url: dataUrl,
|
|
55
|
-
detail: this.imageDetail
|
|
56
|
-
}
|
|
80
|
+
detail: this.imageDetail,
|
|
81
|
+
},
|
|
57
82
|
};
|
|
58
83
|
}
|
|
59
84
|
processMessageContent(message) {
|
|
60
|
-
if (typeof message.content ===
|
|
85
|
+
if (typeof message.content === "string") {
|
|
61
86
|
const imageContent = this.convertBase64ToImageContent(message.content);
|
|
62
87
|
if (imageContent) {
|
|
63
88
|
message.content = [imageContent];
|
|
@@ -66,7 +91,7 @@ class Base64ImageDetector {
|
|
|
66
91
|
else if (Array.isArray(message.content)) {
|
|
67
92
|
const newContent = [];
|
|
68
93
|
for (const item of message.content) {
|
|
69
|
-
if (item.type ===
|
|
94
|
+
if (item.type === "text" && item.text) {
|
|
70
95
|
const imageContent = this.convertBase64ToImageContent(item.text);
|
|
71
96
|
if (imageContent) {
|
|
72
97
|
newContent.push(imageContent);
|
|
@@ -90,11 +115,11 @@ class Base64ImageDetector {
|
|
|
90
115
|
const args = JSON.parse(toolCall.function.arguments);
|
|
91
116
|
let modified = false;
|
|
92
117
|
const processValue = (obj) => {
|
|
93
|
-
if (typeof obj ===
|
|
118
|
+
if (typeof obj === "string") {
|
|
94
119
|
const detection = this.isBase64Image(obj);
|
|
95
120
|
if (detection.isImage) {
|
|
96
121
|
modified = true;
|
|
97
|
-
const dataUrl = detection.data.startsWith(
|
|
122
|
+
const dataUrl = detection.data.startsWith("data:")
|
|
98
123
|
? detection.data
|
|
99
124
|
: `data:image/${detection.mimeType};base64,${detection.data}`;
|
|
100
125
|
return `[CONVERTED TO IMAGE: ${dataUrl.substring(0, 50)}...]`;
|
|
@@ -104,7 +129,7 @@ class Base64ImageDetector {
|
|
|
104
129
|
else if (Array.isArray(obj)) {
|
|
105
130
|
return obj.map(processValue);
|
|
106
131
|
}
|
|
107
|
-
else if (obj && typeof obj ===
|
|
132
|
+
else if (obj && typeof obj === "object") {
|
|
108
133
|
const result = {};
|
|
109
134
|
for (const [key, value] of Object.entries(obj)) {
|
|
110
135
|
result[key] = processValue(value);
|
|
@@ -121,7 +146,7 @@ class Base64ImageDetector {
|
|
|
121
146
|
catch (e) {
|
|
122
147
|
const detection = this.isBase64Image(toolCall.function.arguments);
|
|
123
148
|
if (detection.isImage) {
|
|
124
|
-
const dataUrl = detection.data.startsWith(
|
|
149
|
+
const dataUrl = detection.data.startsWith("data:")
|
|
125
150
|
? detection.data
|
|
126
151
|
: `data:image/${detection.mimeType};base64,${detection.data}`;
|
|
127
152
|
toolCall.function.arguments = `[CONVERTED TO IMAGE: ${dataUrl.substring(0, 50)}...]`;
|
|
@@ -131,12 +156,33 @@ class Base64ImageDetector {
|
|
|
131
156
|
}
|
|
132
157
|
}
|
|
133
158
|
}
|
|
159
|
+
processToolMessageContent(message) {
|
|
160
|
+
if (typeof message.content === "string" && message.content.trim()) {
|
|
161
|
+
try {
|
|
162
|
+
const parsed = JSON.parse(message.content);
|
|
163
|
+
if (parsed.type === "image_url" && parsed.image_url?.url) {
|
|
164
|
+
message.content = [parsed];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
if (typeof message.content === "string") {
|
|
169
|
+
const imageContent = this.convertBase64ToImageContent(message.content);
|
|
170
|
+
if (imageContent) {
|
|
171
|
+
message.content = [imageContent];
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
134
177
|
createProcessor() {
|
|
135
178
|
return (originalMessages, modifiedMessages) => {
|
|
136
179
|
for (const message of modifiedMessages) {
|
|
137
|
-
if (message.role ===
|
|
180
|
+
if (message.role === "user") {
|
|
138
181
|
this.processMessageContent(message);
|
|
139
182
|
}
|
|
183
|
+
if (message.role === "tool") {
|
|
184
|
+
this.processToolMessageContent(message);
|
|
185
|
+
}
|
|
140
186
|
this.processToolCallArguments(message);
|
|
141
187
|
}
|
|
142
188
|
};
|
|
@@ -147,7 +193,81 @@ class Base64ImageDetector {
|
|
|
147
193
|
setSupportedFormats(formats) {
|
|
148
194
|
this.supportedFormats = formats;
|
|
149
195
|
}
|
|
196
|
+
registerTool(toolsService) {
|
|
197
|
+
if (toolsService) {
|
|
198
|
+
const toolDefinition = {
|
|
199
|
+
type: "function",
|
|
200
|
+
function: {
|
|
201
|
+
name: "loadImageAsBase64",
|
|
202
|
+
description: "Load an image file from a file path and return it as a base64 data URL. This enables you to view and analyze images from the filesystem. Use this when the user provides a screenshot path or asks you to look at an image file.",
|
|
203
|
+
parameters: {
|
|
204
|
+
type: "object",
|
|
205
|
+
positional: true,
|
|
206
|
+
properties: {
|
|
207
|
+
filePath: {
|
|
208
|
+
type: "string",
|
|
209
|
+
description: "The absolute or relative path to the image file",
|
|
210
|
+
},
|
|
211
|
+
detail: {
|
|
212
|
+
type: "string",
|
|
213
|
+
description: "The level of detail for image analysis. Options: 'auto' (default), 'low' (faster, less detail), 'high' (slower, more detail)",
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
required: ["filePath"],
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
toolsService.addTools([toolDefinition]);
|
|
221
|
+
toolsService.addFunctions({
|
|
222
|
+
loadImageAsBase64: async (filePath, detail) => {
|
|
223
|
+
return await this.loadImageAsBase64(filePath, detail);
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
async loadImageAsBase64(filePath, detail = "auto") {
|
|
229
|
+
try {
|
|
230
|
+
if (!fs.existsSync(filePath)) {
|
|
231
|
+
throw new Error(`File not found: ${filePath}`);
|
|
232
|
+
}
|
|
233
|
+
const stats = fs.statSync(filePath);
|
|
234
|
+
if (!stats.isFile()) {
|
|
235
|
+
throw new Error(`Path is not a file: ${filePath}`);
|
|
236
|
+
}
|
|
237
|
+
const ext = path.extname(filePath).toLowerCase().replace(".", "");
|
|
238
|
+
const mimeTypeMap = {
|
|
239
|
+
png: "image/png",
|
|
240
|
+
jpg: "image/jpeg",
|
|
241
|
+
jpeg: "image/jpeg",
|
|
242
|
+
gif: "image/gif",
|
|
243
|
+
webp: "image/webp",
|
|
244
|
+
bmp: "image/bmp",
|
|
245
|
+
svg: "image/svg+xml",
|
|
246
|
+
};
|
|
247
|
+
const mimeType = mimeTypeMap[ext];
|
|
248
|
+
if (!mimeType) {
|
|
249
|
+
throw new Error(`Unsupported image format: ${ext}. Supported formats: ${Object.keys(mimeTypeMap).join(", ")}`);
|
|
250
|
+
}
|
|
251
|
+
const simpleType = ext === "jpg" ? "jpeg" : ext;
|
|
252
|
+
if (!this.supportedFormats.includes(simpleType)) {
|
|
253
|
+
throw new Error(`Image format ${ext} is not in supported formats: ${this.supportedFormats.join(", ")}`);
|
|
254
|
+
}
|
|
255
|
+
const imageBuffer = fs.readFileSync(filePath);
|
|
256
|
+
const base64Data = imageBuffer.toString("base64");
|
|
257
|
+
const dataUrl = `data:${mimeType};base64,${base64Data}`;
|
|
258
|
+
return JSON.stringify({
|
|
259
|
+
type: "image_url",
|
|
260
|
+
image_url: {
|
|
261
|
+
url: dataUrl,
|
|
262
|
+
detail: detail || this.imageDetail,
|
|
263
|
+
},
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
throw new Error(`Failed to load image: ${error.message}`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
150
270
|
}
|
|
151
|
-
exports.
|
|
152
|
-
exports.globalBase64ImageDetector = new
|
|
271
|
+
exports.Base64ImageProcessor = Base64ImageProcessor;
|
|
272
|
+
exports.globalBase64ImageDetector = new Base64ImageProcessor();
|
|
153
273
|
//# sourceMappingURL=Base64ImageDetector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Base64ImageDetector.js","sourceRoot":"","sources":["../../../src/processors/Base64ImageDetector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Base64ImageDetector.js","sourceRoot":"","sources":["../../../src/processors/Base64ImageDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { Base64ImageProcessor } from "./Base64ImageDetector";
|
|
2
2
|
export { CustomVariables } from "./CustomVariables";
|
|
3
3
|
export { TokenCompressor } from "./TokenCompressor";
|
|
4
4
|
export { JsonCompressor, JsonSchema, CompressionMetadata, JsonCompressorStorage } from "./JsonCompressor";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HarmonyToolProcessor = exports.XmlToolCallProcessor = exports.ToolResponseCache = exports.JsonCompressor = exports.TokenCompressor = exports.CustomVariables = exports.
|
|
3
|
+
exports.HarmonyToolProcessor = exports.XmlToolCallProcessor = exports.ToolResponseCache = exports.JsonCompressor = exports.TokenCompressor = exports.CustomVariables = exports.Base64ImageProcessor = void 0;
|
|
4
4
|
var Base64ImageDetector_1 = require("./Base64ImageDetector");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "Base64ImageProcessor", { enumerable: true, get: function () { return Base64ImageDetector_1.Base64ImageProcessor; } });
|
|
6
6
|
var CustomVariables_1 = require("./CustomVariables");
|
|
7
7
|
Object.defineProperty(exports, "CustomVariables", { enumerable: true, get: function () { return CustomVariables_1.CustomVariables; } });
|
|
8
8
|
var TokenCompressor_1 = require("./TokenCompressor");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAApD,2HAAA,oBAAoB,OAAA;AAC7B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mDAA0G;AAAjG,gHAAA,cAAc,OAAA;AACvB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
|
|
@@ -15,6 +15,7 @@ export declare class AgentSynchronization {
|
|
|
15
15
|
private baseUrl;
|
|
16
16
|
private knowhowTaskId;
|
|
17
17
|
private eventHandlersSetup;
|
|
18
|
+
private finalizationPromise;
|
|
18
19
|
constructor(baseUrl?: string);
|
|
19
20
|
createChatTask(options: SyncOptions): Promise<string | undefined>;
|
|
20
21
|
updateChatTask(knowhowTaskId: string, agent: BaseAgent, inProgress: boolean, result?: string): Promise<void>;
|
|
@@ -22,6 +23,7 @@ export declare class AgentSynchronization {
|
|
|
22
23
|
private waitForResume;
|
|
23
24
|
setupAgentSync(agent: BaseAgent, knowhowTaskId?: string): Promise<void>;
|
|
24
25
|
private setupEventHandlers;
|
|
26
|
+
waitForFinalization(): Promise<void>;
|
|
25
27
|
reset(): void;
|
|
26
28
|
finalizeTask(agent: BaseAgent, knowhowTaskId: string | undefined, result: string): Promise<void>;
|
|
27
29
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AgentSynchronization = void 0;
|
|
4
4
|
const KnowhowClient_1 = require("./KnowhowClient");
|
|
5
|
-
const utils_1 = require("../utils");
|
|
6
5
|
class AgentSynchronization {
|
|
7
6
|
client;
|
|
8
7
|
baseUrl;
|
|
9
8
|
knowhowTaskId;
|
|
10
9
|
eventHandlersSetup = false;
|
|
10
|
+
finalizationPromise = null;
|
|
11
11
|
constructor(baseUrl = KnowhowClient_1.KNOWHOW_API_URL) {
|
|
12
12
|
this.baseUrl = baseUrl;
|
|
13
13
|
this.client = new KnowhowClient_1.KnowhowSimpleClient(baseUrl);
|
|
@@ -139,22 +139,32 @@ class AgentSynchronization {
|
|
|
139
139
|
});
|
|
140
140
|
agent.agentEvents.on(agent.eventTypes.done, async (result) => {
|
|
141
141
|
if (!this.knowhowTaskId || !this.baseUrl) {
|
|
142
|
+
console.warn(`⚠️ [AgentSync] Cannot finalize: knowhowTaskId=${this.knowhowTaskId}, baseUrl=${this.baseUrl}`);
|
|
142
143
|
return;
|
|
143
144
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
145
|
+
console.log(`🎯 [AgentSync] Done event received for task: ${this.knowhowTaskId}`);
|
|
146
|
+
this.finalizationPromise = (async () => {
|
|
147
|
+
try {
|
|
148
|
+
console.log(`Updating Knowhow chat task on completion..., ${this.knowhowTaskId}`);
|
|
149
|
+
await this.updateChatTask(this.knowhowTaskId, agent, false, result);
|
|
150
|
+
console.log(`✅ Completed Knowhow chat task: ${this.knowhowTaskId}`);
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(`❌ Error finalizing task:`, error);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
})();
|
|
153
157
|
});
|
|
154
158
|
}
|
|
159
|
+
async waitForFinalization() {
|
|
160
|
+
if (this.finalizationPromise) {
|
|
161
|
+
await this.finalizationPromise;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
155
164
|
reset() {
|
|
156
165
|
this.knowhowTaskId = undefined;
|
|
157
166
|
this.eventHandlersSetup = false;
|
|
167
|
+
this.finalizationPromise = null;
|
|
158
168
|
}
|
|
159
169
|
async finalizeTask(agent, knowhowTaskId, result) {
|
|
160
170
|
if (knowhowTaskId && this.baseUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSynchronization.js","sourceRoot":"","sources":["../../../src/services/AgentSynchronization.ts"],"names":[],"mappings":";;;AAIA,mDAKyB;
|
|
1
|
+
{"version":3,"file":"AgentSynchronization.js","sourceRoot":"","sources":["../../../src/services/AgentSynchronization.ts"],"names":[],"mappings":"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"}
|
package/ts_build/src/types.d.ts
CHANGED
|
@@ -56,6 +56,16 @@ export type Config = {
|
|
|
56
56
|
sandbox?: boolean;
|
|
57
57
|
volumes?: string[];
|
|
58
58
|
envFile?: string;
|
|
59
|
+
tunnel?: {
|
|
60
|
+
enabled?: boolean;
|
|
61
|
+
allowedPorts?: number[];
|
|
62
|
+
maxConcurrentStreams?: number;
|
|
63
|
+
portMapping?: {
|
|
64
|
+
[containerPort: number]: number;
|
|
65
|
+
};
|
|
66
|
+
localHost?: string;
|
|
67
|
+
enableUrlRewriting?: boolean;
|
|
68
|
+
};
|
|
59
69
|
};
|
|
60
70
|
};
|
|
61
71
|
export type Assistant = {
|
|
@@ -125,6 +135,7 @@ export type ChatInteraction = {
|
|
|
125
135
|
export declare const Models: {
|
|
126
136
|
anthropic: {
|
|
127
137
|
Opus4_6: string;
|
|
138
|
+
Sonnet4_6: string;
|
|
128
139
|
Opus4_5: string;
|
|
129
140
|
Opus4: string;
|
|
130
141
|
Opus4_1: string;
|
package/ts_build/src/types.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.GoogleEmbeddingModels = exports.GoogleVideoModels = exports.GoogleImageM
|
|
|
4
4
|
exports.Models = {
|
|
5
5
|
anthropic: {
|
|
6
6
|
Opus4_6: "claude-opus-4-6",
|
|
7
|
+
Sonnet4_6: "claude-sonnet-4-6",
|
|
7
8
|
Opus4_5: "claude-opus-4-5-20251101",
|
|
8
9
|
Opus4: "claude-opus-4-20250514",
|
|
9
10
|
Opus4_1: "claude-opus-4-1-20250805",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleProxyRequest = void 0;
|
|
4
|
+
const portForwarding_1 = require("../tools/portForwarding");
|
|
5
|
+
async function handleProxyRequest(message, sendResponse) {
|
|
6
|
+
try {
|
|
7
|
+
const resultJson = await (0, portForwarding_1.forwardRequest)(message.port, message.method, message.path, message.headers, message.body);
|
|
8
|
+
const result = JSON.parse(resultJson);
|
|
9
|
+
if (result.success) {
|
|
10
|
+
sendResponse({
|
|
11
|
+
type: 'proxy_http_response',
|
|
12
|
+
requestId: message.requestId,
|
|
13
|
+
statusCode: result.statusCode,
|
|
14
|
+
headers: result.headers,
|
|
15
|
+
body: result.body,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
sendResponse({
|
|
20
|
+
type: 'proxy_http_response',
|
|
21
|
+
requestId: message.requestId,
|
|
22
|
+
statusCode: 500,
|
|
23
|
+
headers: { 'content-type': 'application/json' },
|
|
24
|
+
body: JSON.stringify({ error: result.error }),
|
|
25
|
+
error: result.error,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
sendResponse({
|
|
31
|
+
type: 'proxy_http_response',
|
|
32
|
+
requestId: message.requestId,
|
|
33
|
+
statusCode: 500,
|
|
34
|
+
headers: { 'content-type': 'application/json' },
|
|
35
|
+
body: JSON.stringify({ error: error.message }),
|
|
36
|
+
error: error.message,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.handleProxyRequest = handleProxyRequest;
|
|
41
|
+
//# sourceMappingURL=proxyHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxyHandler.js","sourceRoot":"","sources":["../../../../src/worker/handlers/proxyHandler.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AAElD,KAAK,UAAU,kBAAkB,CACtC,OAAyB,EACzB,YAAmD;IAEnD,IAAI;QAEF,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAc,EACrC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,CACb,CAAC;QAGF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,OAAO,EAAE;YAElB,YAAY,CAAC;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;SACJ;aAAM;YAEL,YAAY,CAAC;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;SACJ;KACF;IAAC,OAAO,KAAK,EAAE;QAEd,YAAY,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9C,KAAK,EAAE,KAAK,CAAC,OAAO;SACrB,CAAC,CAAC;KACJ;AACH,CAAC;AAhDD,gDAgDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./portForwarding";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./portForwarding"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,mDAAiC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const portForwardingRequestTool: {
|
|
2
|
+
type: "function";
|
|
3
|
+
function: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
type: string;
|
|
8
|
+
positional: boolean;
|
|
9
|
+
properties: {
|
|
10
|
+
port: {
|
|
11
|
+
type: string;
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
method: {
|
|
15
|
+
type: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
path: {
|
|
19
|
+
type: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
headers: {
|
|
23
|
+
type: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
body: {
|
|
27
|
+
type: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
required: string[];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare function forwardRequest(port: number, method: string, path: string, headers?: Record<string, string>, body?: string): Promise<string>;
|
|
36
|
+
export declare const listAllowedPortsTool: {
|
|
37
|
+
type: "function";
|
|
38
|
+
function: {
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
parameters: {
|
|
42
|
+
type: string;
|
|
43
|
+
positional: boolean;
|
|
44
|
+
properties: {};
|
|
45
|
+
required: any[];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export declare function listAllowedPorts(): Promise<string>;
|