MCPcopy Create free account
hub / github.com/Xyntopia/taskyon / executeInDynamicWorker

Function executeInDynamicWorker

src/modules/tools.ts:336–369  ·  view source on GitHub ↗
(javascriptCode: string)

Source from the content-addressed store, hash-verified

334
335// Function to execute JavaScript in a dynamically created Web Worker
336function executeInDynamicWorker(javascriptCode: string) {
337 return new Promise((resolve, reject) => {
338 const workerCode = `
339 onmessage = function(e) {
340 try {
341 const result = eval(e.data);
342 postMessage({ success: true, result });
343 } catch (error) {
344 postMessage({ success: false, error: error.toString() });
345 }
346 };
347 `;
348
349 const blob = new Blob([workerCode], { type: 'application/javascript' });
350 const workerUrl = URL.createObjectURL(blob);
351 const worker = new Worker(workerUrl);
352
353 worker.onmessage = function (e: MessageEvent<WorkerMessage>) {
354 URL.revokeObjectURL(workerUrl); // Clean up the object URL
355 if (e.data.success) {
356 resolve(e.data.result);
357 } else {
358 reject(new Error(e.data.error));
359 }
360 };
361
362 worker.onerror = function (error) {
363 URL.revokeObjectURL(workerUrl); // Clean up the object URL
364 reject(new Error(`Worker error: ${error.message}`));
365 };
366
367 worker.postMessage(javascriptCode);
368 });
369}
370
371function convertToToolCommandString(tool: Tool): string {
372 // convert a tool into a schema which is compatible ti toolCommandChat

Callers 1

tools.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected