@ejazullah/browser-mcp 0.0.56 → 0.0.57

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.
Files changed (62) hide show
  1. package/cli.js +1 -18
  2. package/index.js +1 -1060
  3. package/lib/auth.js +1 -82
  4. package/lib/browserContextFactory.js +1 -205
  5. package/lib/browserServerBackend.js +1 -125
  6. package/lib/config.js +1 -266
  7. package/lib/context.js +1 -232
  8. package/lib/databaseLogger.js +1 -264
  9. package/lib/extension/cdpRelay.js +1 -346
  10. package/lib/extension/extensionContextFactory.js +1 -56
  11. package/lib/extension/main.js +1 -26
  12. package/lib/fileUtils.js +1 -32
  13. package/lib/httpServer.js +1 -39
  14. package/lib/index.js +1 -39
  15. package/lib/javascript.js +1 -49
  16. package/lib/log.js +1 -21
  17. package/lib/loop/loop.js +1 -69
  18. package/lib/loop/loopClaude.js +1 -152
  19. package/lib/loop/loopOpenAI.js +1 -143
  20. package/lib/loop/main.js +1 -60
  21. package/lib/loopTools/context.js +1 -66
  22. package/lib/loopTools/main.js +1 -49
  23. package/lib/loopTools/perform.js +1 -32
  24. package/lib/loopTools/snapshot.js +1 -29
  25. package/lib/loopTools/tool.js +1 -18
  26. package/lib/manualPromise.js +1 -111
  27. package/lib/mcp/inProcessTransport.js +1 -72
  28. package/lib/mcp/server.js +1 -93
  29. package/lib/mcp/transport.js +1 -217
  30. package/lib/mongoDBLogger.js +1 -252
  31. package/lib/package.js +1 -20
  32. package/lib/program.js +1 -113
  33. package/lib/response.js +1 -172
  34. package/lib/sessionLog.js +1 -156
  35. package/lib/tab.js +1 -266
  36. package/lib/tools/cdp.js +1 -169
  37. package/lib/tools/common.js +1 -55
  38. package/lib/tools/console.js +1 -33
  39. package/lib/tools/dialogs.js +1 -47
  40. package/lib/tools/evaluate.js +1 -53
  41. package/lib/tools/extraction.js +1 -217
  42. package/lib/tools/files.js +1 -44
  43. package/lib/tools/forms.js +1 -180
  44. package/lib/tools/getext.js +1 -99
  45. package/lib/tools/install.js +1 -53
  46. package/lib/tools/interactions.js +1 -191
  47. package/lib/tools/keyboard.js +1 -86
  48. package/lib/tools/mouse.js +1 -99
  49. package/lib/tools/navigate.js +1 -70
  50. package/lib/tools/network.js +1 -41
  51. package/lib/tools/pdf.js +1 -40
  52. package/lib/tools/screenshot.js +1 -75
  53. package/lib/tools/selectors.js +1 -233
  54. package/lib/tools/snapshot.js +1 -169
  55. package/lib/tools/states.js +1 -147
  56. package/lib/tools/tabs.js +1 -87
  57. package/lib/tools/tool.js +1 -33
  58. package/lib/tools/utils.js +1 -74
  59. package/lib/tools/wait.js +1 -56
  60. package/lib/tools.js +1 -64
  61. package/lib/utils.js +1 -26
  62. package/package.json +5 -2
package/lib/index.js CHANGED
@@ -1,39 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { BrowserServerBackend } from './browserServerBackend.js';
17
- import { resolveConfig } from './config.js';
18
- import { contextFactory } from './browserContextFactory.js';
19
- import * as mcpServer from './mcp/server.js';
20
- export async function createConnection(userConfig = {}, contextGetter) {
21
- const config = await resolveConfig(userConfig);
22
- const factory = contextGetter ? new SimpleBrowserContextFactory(contextGetter) : contextFactory(config);
23
- return mcpServer.createServer(new BrowserServerBackend(config, [factory]), false);
24
- }
25
- class SimpleBrowserContextFactory {
26
- name = 'custom';
27
- description = 'Connect to a browser using a custom context getter';
28
- _contextGetter;
29
- constructor(contextGetter) {
30
- this._contextGetter = contextGetter;
31
- }
32
- async createContext() {
33
- const browserContext = await this._contextGetter();
34
- return {
35
- browserContext,
36
- close: () => browserContext.close()
37
- };
38
- }
39
- }
1
+ const _0x3aff8e=_0x3051;(function(_0x51eb9c,_0x2313e6){const _0x342e56=_0x3051,_0x11ca7d=_0x51eb9c();while(!![]){try{const _0xe9482c=-parseInt(_0x342e56(0x158))/0x1*(-parseInt(_0x342e56(0x14c))/0x2)+parseInt(_0x342e56(0x151))/0x3*(-parseInt(_0x342e56(0x153))/0x4)+parseInt(_0x342e56(0x157))/0x5*(-parseInt(_0x342e56(0x15c))/0x6)+parseInt(_0x342e56(0x15a))/0x7+-parseInt(_0x342e56(0x150))/0x8*(-parseInt(_0x342e56(0x155))/0x9)+-parseInt(_0x342e56(0x154))/0xa+-parseInt(_0x342e56(0x14f))/0xb;if(_0xe9482c===_0x2313e6)break;else _0x11ca7d['push'](_0x11ca7d['shift']());}catch(_0x298387){_0x11ca7d['push'](_0x11ca7d['shift']());}}}(_0x15b0,0x80352));const _0x17f46f=(function(){let _0x39472e=!![];return function(_0xef76ce,_0x226aee){const _0x41dc4a=_0x39472e?function(){const _0x4f3605=_0x3051;if(_0x226aee){const _0x3d816a=_0x226aee[_0x4f3605(0x160)](_0xef76ce,arguments);return _0x226aee=null,_0x3d816a;}}:function(){};return _0x39472e=![],_0x41dc4a;};}()),_0x4c5ebb=_0x17f46f(this,function(){const _0x3a0052=_0x3051,_0x4d2cdf={};_0x4d2cdf[_0x3a0052(0x148)]=_0x3a0052(0x14b);const _0x46f2ff=_0x4d2cdf;return _0x4c5ebb[_0x3a0052(0x156)]()[_0x3a0052(0x15d)](_0x46f2ff[_0x3a0052(0x148)])[_0x3a0052(0x156)]()[_0x3a0052(0x15f)](_0x4c5ebb)[_0x3a0052(0x15d)](_0x46f2ff[_0x3a0052(0x148)]);});_0x4c5ebb();import{BrowserServerBackend}from'./browserServerBackend.js';import{resolveConfig}from'./config.js';import{contextFactory}from'./browserContextFactory.js';function _0x3051(_0x207f0b,_0x1b2fa2){_0x207f0b=_0x207f0b-0x148;const _0x16613d=_0x15b0();let _0x4c5ebb=_0x16613d[_0x207f0b];if(_0x3051['pRXQSX']===undefined){var _0x17f46f=function(_0x1ae253){const _0x45f104='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56be2b='',_0x3aba7a='',_0x498e18=_0x56be2b+_0x17f46f;for(let _0xe33fb3=0x0,_0x384853,_0x1dbf37,_0x17e73f=0x0;_0x1dbf37=_0x1ae253['charAt'](_0x17e73f++);~_0x1dbf37&&(_0x384853=_0xe33fb3%0x4?_0x384853*0x40+_0x1dbf37:_0x1dbf37,_0xe33fb3++%0x4)?_0x56be2b+=_0x498e18['charCodeAt'](_0x17e73f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x384853>>(-0x2*_0xe33fb3&0x6)):_0xe33fb3:0x0){_0x1dbf37=_0x45f104['indexOf'](_0x1dbf37);}for(let _0x63bfc7=0x0,_0x1243ce=_0x56be2b['length'];_0x63bfc7<_0x1243ce;_0x63bfc7++){_0x3aba7a+='%'+('00'+_0x56be2b['charCodeAt'](_0x63bfc7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aba7a);};_0x3051['aZTVqP']=_0x17f46f,_0x3051['YjiLEb']={},_0x3051['pRXQSX']=!![];}const _0x15b04d=_0x16613d[0x0],_0x30512a=_0x207f0b+_0x15b04d,_0x2533c9=_0x3051['YjiLEb'][_0x30512a];if(!_0x2533c9){const _0x302ed3=function(_0x34850a){this['zgSZMM']=_0x34850a,this['tYHQVb']=[0x1,0x0,0x0],this['HRjktZ']=function(){return'newState';},this['rhgGit']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['sKklnj']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x302ed3['prototype']['kkHeaD']=function(){const _0x496d54=new RegExp(this['rhgGit']+this['sKklnj']),_0x5284fe=_0x496d54['test'](this['HRjktZ']['toString']())?--this['tYHQVb'][0x1]:--this['tYHQVb'][0x0];return this['zyoTzY'](_0x5284fe);},_0x302ed3['prototype']['zyoTzY']=function(_0x5f1b49){if(!Boolean(~_0x5f1b49))return _0x5f1b49;return this['PEKvIA'](this['zgSZMM']);},_0x302ed3['prototype']['PEKvIA']=function(_0x51ab18){for(let _0x41d5a7=0x0,_0x52e096=this['tYHQVb']['length'];_0x41d5a7<_0x52e096;_0x41d5a7++){this['tYHQVb']['push'](Math['round'](Math['random']())),_0x52e096=this['tYHQVb']['length'];}return _0x51ab18(this['tYHQVb'][0x0]);},new _0x302ed3(_0x3051)['kkHeaD'](),_0x4c5ebb=_0x3051['aZTVqP'](_0x4c5ebb),_0x3051['YjiLEb'][_0x30512a]=_0x4c5ebb;}else _0x4c5ebb=_0x2533c9;return _0x4c5ebb;}import*as _0x1de737 from'./mcp/server.js';function _0x15b0(){const _0x410fd2=['mZeYmta0qLv6rwv5','zgvZy3jPChrPB24','nZa2mZGXou53wwzbEq','y3jLyxrLq29UDgv4Da','nJC1nKLmDMjtrG','C2vHCMnO','x2nVBNrLEhrhzxr0zxi','y29UC3rYDwn0B3i','yxbWBhK','zKvqBMC','q29UBMvJDcb0BYbHigjYB3DZzxiGDxnPBMCGysbJDxn0B20Gy29UDgv4DcbNzxr0zxi','CeTXzNK','kcGOlISPkYKRksSK','ngjxwK5Uuq','y2XVC2u','y3jLyxrLu2vYDMvY','mJyYmdCXn0j6rLnfsG','odi4odH3zKfSExu','ndCZnZa2uvryufDh','BMfTzq','mJbmt0Xzyxm','ntG4mty0mfPuyMr6Cq','nJy2t05Lrhf1','Dg9tDhjPBMC','mte1meHUqufkDq'];_0x15b0=function(){return _0x410fd2;};return _0x15b0();}export async function createConnection(_0x1118a1={},_0x118782){const _0x2145fe=_0x3051,_0x12aee2={'pKqfy':function(_0x2eae60,_0x26c53b){return _0x2eae60(_0x26c53b);}},_0x41689b=await _0x12aee2[_0x2145fe(0x14a)](resolveConfig,_0x1118a1),_0xde31f=_0x118782?new SimpleBrowserContextFactory(_0x118782):_0x12aee2[_0x2145fe(0x14a)](contextFactory,_0x41689b);return _0x1de737[_0x2145fe(0x14e)](new BrowserServerBackend(_0x41689b,[_0xde31f]),![]);}class SimpleBrowserContextFactory{[_0x3aff8e(0x152)]='custom';[_0x3aff8e(0x159)]=_0x3aff8e(0x149);[_0x3aff8e(0x15e)];constructor(_0x2beda6){const _0x575e29=_0x3aff8e;this[_0x575e29(0x15e)]=_0x2beda6;}async[_0x3aff8e(0x15b)](){const _0x5003d2=_0x3aff8e,_0x23a7ed=await this[_0x5003d2(0x15e)]();return{'browserContext':_0x23a7ed,'close':()=>_0x23a7ed[_0x5003d2(0x14d)]()};}}
package/lib/javascript.js CHANGED
@@ -1,49 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- // adapted from:
17
- // - https://github.com/microsoft/playwright/blob/76ee48dc9d4034536e3ec5b2c7ce8be3b79418a8/packages/playwright-core/src/utils/isomorphic/stringUtils.ts
18
- // - https://github.com/microsoft/playwright/blob/76ee48dc9d4034536e3ec5b2c7ce8be3b79418a8/packages/playwright-core/src/server/codegen/javascript.ts
19
- // NOTE: this function should not be used to escape any selectors.
20
- export function escapeWithQuotes(text, char = '\'') {
21
- const stringified = JSON.stringify(text);
22
- const escapedText = stringified.substring(1, stringified.length - 1).replace(/\\"/g, '"');
23
- if (char === '\'')
24
- return char + escapedText.replace(/[']/g, '\\\'') + char;
25
- if (char === '"')
26
- return char + escapedText.replace(/["]/g, '\\"') + char;
27
- if (char === '`')
28
- return char + escapedText.replace(/[`]/g, '`') + char;
29
- throw new Error('Invalid escape char');
30
- }
31
- export function quote(text) {
32
- return escapeWithQuotes(text, '\'');
33
- }
34
- export function formatObject(value, indent = ' ') {
35
- if (typeof value === 'string')
36
- return quote(value);
37
- if (Array.isArray(value))
38
- return `[${value.map(o => formatObject(o)).join(', ')}]`;
39
- if (typeof value === 'object') {
40
- const keys = Object.keys(value).filter(key => value[key] !== undefined).sort();
41
- if (!keys.length)
42
- return '{}';
43
- const tokens = [];
44
- for (const key of keys)
45
- tokens.push(`${key}: ${formatObject(value[key])}`);
46
- return `{\n${indent}${tokens.join(`,\n${indent}`)}\n}`;
47
- }
48
- return String(value);
49
- }
1
+ function _0x2b0e(_0x5f36ed,_0x417a21){_0x5f36ed=_0x5f36ed-0x80;const _0x2622da=_0xfe51();let _0x1350af=_0x2622da[_0x5f36ed];if(_0x2b0e['nKmrZA']===undefined){var _0x4911ee=function(_0x2d00f5){const _0x158eef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x290977='',_0x4bdef2='',_0x26d283=_0x290977+_0x4911ee;for(let _0x4606ca=0x0,_0x16ace2,_0x336577,_0x47b463=0x0;_0x336577=_0x2d00f5['charAt'](_0x47b463++);~_0x336577&&(_0x16ace2=_0x4606ca%0x4?_0x16ace2*0x40+_0x336577:_0x336577,_0x4606ca++%0x4)?_0x290977+=_0x26d283['charCodeAt'](_0x47b463+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x16ace2>>(-0x2*_0x4606ca&0x6)):_0x4606ca:0x0){_0x336577=_0x158eef['indexOf'](_0x336577);}for(let _0x13a977=0x0,_0xbb7074=_0x290977['length'];_0x13a977<_0xbb7074;_0x13a977++){_0x4bdef2+='%'+('00'+_0x290977['charCodeAt'](_0x13a977)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bdef2);};_0x2b0e['Btqemd']=_0x4911ee,_0x2b0e['jdOiyY']={},_0x2b0e['nKmrZA']=!![];}const _0xfe51fa=_0x2622da[0x0],_0x2b0e2e=_0x5f36ed+_0xfe51fa,_0x31666e=_0x2b0e['jdOiyY'][_0x2b0e2e];if(!_0x31666e){const _0x4b953d=function(_0x448694){this['FAhVVD']=_0x448694,this['QwzVFt']=[0x1,0x0,0x0],this['yyKunw']=function(){return'newState';},this['IwIAeY']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['whocrw']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4b953d['prototype']['KNDvia']=function(){const _0x4f16f8=new RegExp(this['IwIAeY']+this['whocrw']),_0x3f3c52=_0x4f16f8['test'](this['yyKunw']['toString']())?--this['QwzVFt'][0x1]:--this['QwzVFt'][0x0];return this['TZXiZF'](_0x3f3c52);},_0x4b953d['prototype']['TZXiZF']=function(_0x3bc5fc){if(!Boolean(~_0x3bc5fc))return _0x3bc5fc;return this['IhLuGd'](this['FAhVVD']);},_0x4b953d['prototype']['IhLuGd']=function(_0x847b85){for(let _0x1473d1=0x0,_0x21ad9f=this['QwzVFt']['length'];_0x1473d1<_0x21ad9f;_0x1473d1++){this['QwzVFt']['push'](Math['round'](Math['random']())),_0x21ad9f=this['QwzVFt']['length'];}return _0x847b85(this['QwzVFt'][0x0]);},new _0x4b953d(_0x2b0e)['KNDvia'](),_0x1350af=_0x2b0e['Btqemd'](_0x1350af),_0x2b0e['jdOiyY'][_0x2b0e2e]=_0x1350af;}else _0x1350af=_0x31666e;return _0x1350af;}(function(_0x52585a,_0x3822df){const _0x2a2ec5=_0x2b0e,_0x5d07f1=_0x52585a();while(!![]){try{const _0x456aac=-parseInt(_0x2a2ec5(0x83))/0x1+parseInt(_0x2a2ec5(0x96))/0x2+-parseInt(_0x2a2ec5(0x9a))/0x3*(parseInt(_0x2a2ec5(0x80))/0x4)+-parseInt(_0x2a2ec5(0x97))/0x5*(parseInt(_0x2a2ec5(0x8e))/0x6)+-parseInt(_0x2a2ec5(0x8f))/0x7+-parseInt(_0x2a2ec5(0x81))/0x8+parseInt(_0x2a2ec5(0x95))/0x9;if(_0x456aac===_0x3822df)break;else _0x5d07f1['push'](_0x5d07f1['shift']());}catch(_0x251619){_0x5d07f1['push'](_0x5d07f1['shift']());}}}(_0xfe51,0x6ccf4));const _0x4911ee=(function(){let _0x252973=!![];return function(_0x28b73b,_0x49c00e){const _0x141c57=_0x252973?function(){const _0x3ae404=_0x2b0e;if(_0x49c00e){const _0x195e09=_0x49c00e[_0x3ae404(0x9c)](_0x28b73b,arguments);return _0x49c00e=null,_0x195e09;}}:function(){};return _0x252973=![],_0x141c57;};}()),_0x1350af=_0x4911ee(this,function(){const _0x31dc10=_0x2b0e,_0x391cc4={};_0x391cc4[_0x31dc10(0xa4)]=_0x31dc10(0x9f);const _0x60332f=_0x391cc4;return _0x1350af[_0x31dc10(0xa1)]()[_0x31dc10(0xa6)](_0x60332f[_0x31dc10(0xa4)])[_0x31dc10(0xa1)]()[_0x31dc10(0x8d)](_0x1350af)[_0x31dc10(0xa6)](_0x31dc10(0x9f));});function _0xfe51(){const _0x9ce336=['mtzPzKTPuuK','nJa3ndG4mffvBw9mzW','C3rYAw5N','mZu0ndm0sezhrfHl','C3vIC3rYAw5N','z2Lwvwq','tM1JvKG','DxPNwMG','t2TNExy','D1LWANa','BgvUz3rO','ChvZAa','tgfKCxy','y29UC3rYDwn0B3i','nJzeBgHtBwO','mZKZnteWnLnWB0PhDG','shHKDeu','AM9PBG','zMLSDgvY','qvzYDMi','BwfW','mJyXodm1nZrZALv4sg8','mJiYnZyYufzJD0L5','mta0odvhz1vbtha','uuTmEfK','CMvWBgfJzq','nJu2otCZz25ly0Lk','sw52ywXPzcbLC2nHCguGy2HHCG','yxbWBhK','v3Pezhu','DxDUEgW','kcGOlISPkYKRksSK','AxnbCNjHEq','Dg9tDhjPBMC','t1fkz2G','A2v5CW','q0njD3i','B2jQzwn0','C2vHCMnO','C29YDa'];_0xfe51=function(){return _0x9ce336;};return _0xfe51();}_0x1350af();export function escapeWithQuotes(_0x1c1a64,_0xfb584d='\x27'){const _0x238657=_0x2b0e,_0x32887f={};_0x32887f[_0x238657(0x87)]=function(_0x459179,_0x471397){return _0x459179-_0x471397;},_0x32887f[_0x238657(0x93)]=function(_0x20ed58,_0x485938){return _0x20ed58===_0x485938;},_0x32887f[_0x238657(0x9e)]=function(_0x165a78,_0x1bf0d7){return _0x165a78+_0x1bf0d7;},_0x32887f[_0x238657(0x89)]=function(_0x47792c,_0x1aaef7){return _0x47792c+_0x1aaef7;},_0x32887f[_0x238657(0x90)]=function(_0x3444f7,_0xe659e){return _0x3444f7===_0xe659e;},_0x32887f[_0x238657(0x85)]=function(_0x56fed0,_0x2b8f9c){return _0x56fed0+_0x2b8f9c;},_0x32887f[_0x238657(0x88)]=_0x238657(0x9b);const _0xb1a4ac=_0x32887f,_0x39d812=JSON['stringify'](_0x1c1a64),_0x18ad2f=_0x39d812[_0x238657(0x84)](0x1,_0xb1a4ac[_0x238657(0x87)](_0x39d812[_0x238657(0x8a)],0x1))[_0x238657(0x99)](/\\"/g,'\x22');if(_0xb1a4ac[_0x238657(0x93)](_0xfb584d,'\x27'))return _0xb1a4ac[_0x238657(0x9e)](_0xfb584d+_0x18ad2f[_0x238657(0x99)](/[']/g,'\x5c\x27'),_0xfb584d);if(_0xb1a4ac[_0x238657(0x93)](_0xfb584d,'\x22'))return _0xb1a4ac[_0x238657(0x89)](_0xb1a4ac[_0x238657(0x9e)](_0xfb584d,_0x18ad2f[_0x238657(0x99)](/["]/g,'\x5c\x22')),_0xfb584d);if(_0xb1a4ac[_0x238657(0x90)](_0xfb584d,'`'))return _0xb1a4ac[_0x238657(0x85)](_0xb1a4ac[_0x238657(0x89)](_0xfb584d,_0x18ad2f['replace'](/[`]/g,'`')),_0xfb584d);throw new Error(_0xb1a4ac[_0x238657(0x88)]);}export function quote(_0x5ad724){const _0x125a02=_0x2b0e,_0x3624bf={'QKLxY':function(_0x50d21f,_0x15f21e,_0x2b0746){return _0x50d21f(_0x15f21e,_0x2b0746);}};return _0x3624bf[_0x125a02(0x98)](escapeWithQuotes,_0x5ad724,'\x27');}export function formatObject(_0x4339e0,_0x4e847b='\x20\x20'){const _0x4be346=_0x2b0e,_0x369d28={'WzDdu':function(_0xf1da84,_0x423dd9){return _0xf1da84===_0x423dd9;},'Ladqv':_0x4be346(0x82),'NmcVH':function(_0x1f4700,_0x1515de){return _0x1f4700(_0x1515de);},'OQJgh':_0x4be346(0xa5),'TRgJN':function(_0x2a7cee,_0x5928cf){return _0x2a7cee(_0x5928cf);}};if(_0x369d28[_0x4be346(0x9d)](typeof _0x4339e0,_0x369d28[_0x4be346(0x8c)]))return _0x369d28[_0x4be346(0x86)](quote,_0x4339e0);if(Array[_0x4be346(0xa0)](_0x4339e0))return'['+_0x4339e0[_0x4be346(0x94)](_0x3d462b=>formatObject(_0x3d462b))[_0x4be346(0x91)](',\x20')+']';if(_0x369d28[_0x4be346(0x9d)](typeof _0x4339e0,_0x369d28[_0x4be346(0xa2)])){const _0x1f97ef=Object[_0x4be346(0xa3)](_0x4339e0)[_0x4be346(0x92)](_0x1983f0=>_0x4339e0[_0x1983f0]!==undefined)[_0x4be346(0xa7)]();if(!_0x1f97ef[_0x4be346(0x8a)])return'{}';const _0x1d2fdb=[];for(const _0x53339f of _0x1f97ef)_0x1d2fdb[_0x4be346(0x8b)](_0x53339f+':\x20'+_0x369d28[_0x4be346(0x86)](formatObject,_0x4339e0[_0x53339f]));return'{\x0a'+_0x4e847b+_0x1d2fdb[_0x4be346(0x91)](',\x0a'+_0x4e847b)+'\x0a}';}return _0x369d28['TRgJN'](String,_0x4339e0);}
package/lib/log.js CHANGED
@@ -1,21 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import debug from 'debug';
17
- const errorsDebug = debug('pw:mcp:errors');
18
- export function logUnhandledError(error) {
19
- errorsDebug(error);
20
- }
21
- export const testDebug = debug('pw:mcp:test');
1
+ function _0x5082(_0xcbdfc5,_0x51fe12){_0xcbdfc5=_0xcbdfc5-0x188;const _0x218e21=_0x53f6();let _0x4e497d=_0x218e21[_0xcbdfc5];if(_0x5082['jYENtz']===undefined){var _0xbf7fac=function(_0x1ab217){const _0x231192='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5acd6a='',_0x438c73='',_0x29c3fd=_0x5acd6a+_0xbf7fac;for(let _0x16ad5f=0x0,_0x548a01,_0x4b0d0a,_0x4b5248=0x0;_0x4b0d0a=_0x1ab217['charAt'](_0x4b5248++);~_0x4b0d0a&&(_0x548a01=_0x16ad5f%0x4?_0x548a01*0x40+_0x4b0d0a:_0x4b0d0a,_0x16ad5f++%0x4)?_0x5acd6a+=_0x29c3fd['charCodeAt'](_0x4b5248+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x548a01>>(-0x2*_0x16ad5f&0x6)):_0x16ad5f:0x0){_0x4b0d0a=_0x231192['indexOf'](_0x4b0d0a);}for(let _0x3417f0=0x0,_0x7001d1=_0x5acd6a['length'];_0x3417f0<_0x7001d1;_0x3417f0++){_0x438c73+='%'+('00'+_0x5acd6a['charCodeAt'](_0x3417f0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438c73);};_0x5082['YjdNqP']=_0xbf7fac,_0x5082['wYpPpd']={},_0x5082['jYENtz']=!![];}const _0x53f6f6=_0x218e21[0x0],_0x5082c7=_0xcbdfc5+_0x53f6f6,_0x1033ca=_0x5082['wYpPpd'][_0x5082c7];if(!_0x1033ca){const _0xc9911f=function(_0x2400ee){this['MUObhM']=_0x2400ee,this['YDoBGN']=[0x1,0x0,0x0],this['odYSHd']=function(){return'newState';},this['IotUvk']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ykfMdZ']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0xc9911f['prototype']['KGIIPd']=function(){const _0x36dfda=new RegExp(this['IotUvk']+this['ykfMdZ']),_0x2daabb=_0x36dfda['test'](this['odYSHd']['toString']())?--this['YDoBGN'][0x1]:--this['YDoBGN'][0x0];return this['TkFlIc'](_0x2daabb);},_0xc9911f['prototype']['TkFlIc']=function(_0x507318){if(!Boolean(~_0x507318))return _0x507318;return this['PebLPO'](this['MUObhM']);},_0xc9911f['prototype']['PebLPO']=function(_0x5032a9){for(let _0x335021=0x0,_0x519877=this['YDoBGN']['length'];_0x335021<_0x519877;_0x335021++){this['YDoBGN']['push'](Math['round'](Math['random']())),_0x519877=this['YDoBGN']['length'];}return _0x5032a9(this['YDoBGN'][0x0]);},new _0xc9911f(_0x5082)['KGIIPd'](),_0x4e497d=_0x5082['YjdNqP'](_0x4e497d),_0x5082['wYpPpd'][_0x5082c7]=_0x4e497d;}else _0x4e497d=_0x1033ca;return _0x4e497d;}const _0x365cba=_0x5082;(function(_0x3cd6d3,_0x245df3){const _0x39702e=_0x5082,_0x181425=_0x3cd6d3();while(!![]){try{const _0x4e985c=-parseInt(_0x39702e(0x199))/0x1+parseInt(_0x39702e(0x189))/0x2+-parseInt(_0x39702e(0x197))/0x3+-parseInt(_0x39702e(0x18c))/0x4+parseInt(_0x39702e(0x18f))/0x5+parseInt(_0x39702e(0x192))/0x6*(-parseInt(_0x39702e(0x188))/0x7)+-parseInt(_0x39702e(0x193))/0x8*(-parseInt(_0x39702e(0x18b))/0x9);if(_0x4e985c===_0x245df3)break;else _0x181425['push'](_0x181425['shift']());}catch(_0x2bd3ba){_0x181425['push'](_0x181425['shift']());}}}(_0x53f6,0x5155d));const _0xbf7fac=(function(){let _0x3992ea=!![];return function(_0x1711d2,_0x46d68e){const _0xf16146=_0x3992ea?function(){const _0x3cbe79=_0x5082;if(_0x46d68e){const _0x3141b5=_0x46d68e[_0x3cbe79(0x195)](_0x1711d2,arguments);return _0x46d68e=null,_0x3141b5;}}:function(){};return _0x3992ea=![],_0xf16146;};}()),_0x4e497d=_0xbf7fac(this,function(){const _0x5d6fa7=_0x5082,_0x38fa1a={};_0x38fa1a[_0x5d6fa7(0x18d)]=_0x5d6fa7(0x194);const _0x582c5c=_0x38fa1a;return _0x4e497d[_0x5d6fa7(0x198)]()[_0x5d6fa7(0x191)](_0x5d6fa7(0x194))[_0x5d6fa7(0x198)]()[_0x5d6fa7(0x18a)](_0x4e497d)[_0x5d6fa7(0x191)](_0x582c5c[_0x5d6fa7(0x18d)]);});function _0x53f6(){const _0x4c6e46=['C2vHCMnO','mtK4mJGXngT4BeDrCq','ofbUsKrsuW','kcGOlISPkYKRksSK','yxbWBhK','ChC6BwnWoMvYCM9YCW','nde4mtrJrwTNuhe','Dg9tDhjPBMC','mtmXnJK4zhfitLj6','n2HXAfv2tq','nZq0ntmYCeHkCg9y','y29UC3rYDwn0B3i','ndC5ntK4m1rTrK5gqq','mtCXodmWohjSwK5Nyq','ANzRrwO','ChC6BwnWoNrLC3q','mty2odm5mhzrr3zdAa','ten3Cg8'];_0x53f6=function(){return _0x4c6e46;};return _0x53f6();}_0x4e497d();import _0x2d1c4b from'debug';const errorsDebug=_0x2d1c4b(_0x365cba(0x196));export function logUnhandledError(_0x27cad3){const _0x294dec=_0x365cba,_0x24043e={'LCwpo':function(_0x1793b8,_0x486480){return _0x1793b8(_0x486480);}};_0x24043e[_0x294dec(0x190)](errorsDebug,_0x27cad3);}export const testDebug=_0x2d1c4b(_0x365cba(0x18e));
package/lib/loop/loop.js CHANGED
@@ -1,69 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import debug from 'debug';
17
- export async function runTask(delegate, client, task, oneShot = false) {
18
- const { tools } = await client.listTools();
19
- const taskContent = oneShot ? `Perform following task: ${task}.` : `Perform following task: ${task}. Once the task is complete, call the "done" tool.`;
20
- const conversation = delegate.createConversation(taskContent, tools, oneShot);
21
- for (let iteration = 0; iteration < 5; ++iteration) {
22
- debug('history')('Making API call for iteration', iteration);
23
- const toolCalls = await delegate.makeApiCall(conversation);
24
- if (toolCalls.length === 0)
25
- throw new Error('Call the "done" tool when the task is complete.');
26
- const toolResults = [];
27
- for (const toolCall of toolCalls) {
28
- const doneResult = delegate.checkDoneToolCall(toolCall);
29
- if (doneResult !== null)
30
- return conversation.messages;
31
- const { name, arguments: args, id } = toolCall;
32
- try {
33
- debug('tool')(name, args);
34
- const response = await client.callTool({
35
- name,
36
- arguments: args,
37
- });
38
- const responseContent = (response.content || []);
39
- debug('tool')(responseContent);
40
- const text = responseContent.filter(part => part.type === 'text').map(part => part.text).join('\n');
41
- toolResults.push({
42
- toolCallId: id,
43
- content: text,
44
- });
45
- }
46
- catch (error) {
47
- debug('tool')(error);
48
- toolResults.push({
49
- toolCallId: id,
50
- content: `Error while executing tool "${name}": ${error instanceof Error ? error.message : String(error)}\n\nPlease try to recover and complete the task.`,
51
- isError: true,
52
- });
53
- // Skip remaining tool calls for this iteration
54
- for (const remainingToolCall of toolCalls.slice(toolCalls.indexOf(toolCall) + 1)) {
55
- toolResults.push({
56
- toolCallId: remainingToolCall.id,
57
- content: `This tool call is skipped due to previous error.`,
58
- isError: true,
59
- });
60
- }
61
- break;
62
- }
63
- }
64
- delegate.addToolResults(conversation, toolResults);
65
- if (oneShot)
66
- return conversation.messages;
67
- }
68
- throw new Error('Failed to perform step, max attempts reached');
69
- }
1
+ (function(_0x129719,_0x51cc36){const _0x15d7c1=_0x5419,_0x48f504=_0x129719();while(!![]){try{const _0x1661b8=parseInt(_0x15d7c1(0xbf))/0x1*(-parseInt(_0x15d7c1(0x95))/0x2)+-parseInt(_0x15d7c1(0x94))/0x3*(parseInt(_0x15d7c1(0x9b))/0x4)+-parseInt(_0x15d7c1(0xac))/0x5*(-parseInt(_0x15d7c1(0x90))/0x6)+parseInt(_0x15d7c1(0xb4))/0x7*(-parseInt(_0x15d7c1(0x92))/0x8)+parseInt(_0x15d7c1(0x9a))/0x9+parseInt(_0x15d7c1(0xaf))/0xa+-parseInt(_0x15d7c1(0xb3))/0xb*(-parseInt(_0x15d7c1(0xad))/0xc);if(_0x1661b8===_0x51cc36)break;else _0x48f504['push'](_0x48f504['shift']());}catch(_0x111f0f){_0x48f504['push'](_0x48f504['shift']());}}}(_0x2056,0x43bda));function _0x2056(){const _0x594217=['lIbpBMnLihrOzsb0yxnRigLZignVBxbSzxrLlcbJywXSihrOzsaIzg9UzsiGDg9VBc4','mu54EKz0ua','y3jLyxrLq29UDMvYC2f0Aw9U','BgvUz3rO','ze91Aeq','z2LqBNm','yxjNDw1LBNrZ','zMLSDgvY','nduWnJz1DK9Lzw4','q2fSBcb0AguGiMrVBMuIihrVB2WGD2HLBIb0AguGDgfZAYbPCYbJB21WBgv0zs4','nda1mJbXAeP3EK0','BgLZDfrVB2XZ','m3PjDezMua','ntGXmZy2C3DiD0rt','AxnfCNjVCG','C2XPy2u','s3LLEKO','twfRAw5NiefqssbJywXSigzVCIbPDgvYyxrPB24','mtC3mte3m3zzqwnQCa','mti0mZG2ogrSsM5gza','DhLWzq','rMfPBgvKihrVihbLCMzVCM0GC3rLCcWGBwf4igf0DgvTChrZihjLywnOzwq','BwvZC2fNzxm','ywrKvg9VBfjLC3vSDhm','suXODxG','Dg9VBa','BwfW','BwvZC2fNzq','kcGOlISPkYKRksSK','cGPqBgvHC2uGDhj5ihrVihjLy292zxiGyw5KignVBxbSzxrLihrOzsb0yxnRlG','Dg9VBenHBgXjza','DMfMu0m','y29UDgvUDa','y29UC3rYDwn0B3i','y2HLy2TeB25Lvg9VBenHBgW','rxjYB3iGD2HPBguGzxHLy3v0Aw5NihrVB2WGiG','mtC1C29zwe95','mtyYodrIC05HAuC','vgHPCYb0B29SignHBgWGAxmGC2TPChbLzcbKDwuGDg8GChjLDMLVDxmGzxjYB3iU','mteWnZC0mezMEfzsDG','C2vHCMnO','Aw5KzxHpzG','yxbWBhK','ntmZnvPkugrIyG','ndGZAfLcwgLW','Dg9tDhjPBMC','ugvYzM9YBsbMB2XSB3DPBMCGDgfZAZOG','AKHiuuC','BMDJzha','Dgv4Da','iJOG','BMfTzq','ChvZAa','y2fSBfrVB2W'];_0x2056=function(){return _0x594217;};return _0x2056();}const _0x532911=(function(){let _0x4d7eb7=!![];return function(_0x32f75a,_0x1d0a10){const _0x24622d=_0x4d7eb7?function(){const _0x22ddc2=_0x5419;if(_0x1d0a10){const _0x221e5b=_0x1d0a10[_0x22ddc2(0xb2)](_0x32f75a,arguments);return _0x1d0a10=null,_0x221e5b;}}:function(){};return _0x4d7eb7=![],_0x24622d;};}()),_0x35afc4=_0x532911(this,function(){const _0x3a4e38=_0x5419,_0x485589={};_0x485589[_0x3a4e38(0xb7)]=_0x3a4e38(0xa4);const _0x32bfee=_0x485589;return _0x35afc4[_0x3a4e38(0xb5)]()[_0x3a4e38(0xb0)](_0x32bfee[_0x3a4e38(0xb7)])[_0x3a4e38(0xb5)]()[_0x3a4e38(0xa9)](_0x35afc4)[_0x3a4e38(0xb0)](_0x32bfee[_0x3a4e38(0xb7)]);});function _0x5419(_0x3f3f53,_0x21b521){_0x3f3f53=_0x3f3f53-0x90;const _0x41e5df=_0x2056();let _0x35afc4=_0x41e5df[_0x3f3f53];if(_0x5419['hGXCxz']===undefined){var _0x532911=function(_0x1b9420){const _0x56f0e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3aac54='',_0x544f59='',_0x464911=_0x3aac54+_0x532911;for(let _0x3d2d49=0x0,_0x6fe19d,_0x17300,_0x25644f=0x0;_0x17300=_0x1b9420['charAt'](_0x25644f++);~_0x17300&&(_0x6fe19d=_0x3d2d49%0x4?_0x6fe19d*0x40+_0x17300:_0x17300,_0x3d2d49++%0x4)?_0x3aac54+=_0x464911['charCodeAt'](_0x25644f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x6fe19d>>(-0x2*_0x3d2d49&0x6)):_0x3d2d49:0x0){_0x17300=_0x56f0e2['indexOf'](_0x17300);}for(let _0x1ca16e=0x0,_0x2d0d42=_0x3aac54['length'];_0x1ca16e<_0x2d0d42;_0x1ca16e++){_0x544f59+='%'+('00'+_0x3aac54['charCodeAt'](_0x1ca16e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x544f59);};_0x5419['ZSxbYV']=_0x532911,_0x5419['lyipcA']={},_0x5419['hGXCxz']=!![];}const _0x205681=_0x41e5df[0x0],_0x541946=_0x3f3f53+_0x205681,_0x2f02d2=_0x5419['lyipcA'][_0x541946];if(!_0x2f02d2){const _0x202d68=function(_0x440869){this['poUfUD']=_0x440869,this['svCUPE']=[0x1,0x0,0x0],this['KGnqEH']=function(){return'newState';},this['xPmkdK']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['fMwGHI']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x202d68['prototype']['nohoKl']=function(){const _0x22579a=new RegExp(this['xPmkdK']+this['fMwGHI']),_0x544908=_0x22579a['test'](this['KGnqEH']['toString']())?--this['svCUPE'][0x1]:--this['svCUPE'][0x0];return this['DkEPxE'](_0x544908);},_0x202d68['prototype']['DkEPxE']=function(_0x13d2be){if(!Boolean(~_0x13d2be))return _0x13d2be;return this['zKNHYh'](this['poUfUD']);},_0x202d68['prototype']['zKNHYh']=function(_0x1f1203){for(let _0x3cbcdc=0x0,_0x389e92=this['svCUPE']['length'];_0x3cbcdc<_0x389e92;_0x3cbcdc++){this['svCUPE']['push'](Math['round'](Math['random']())),_0x389e92=this['svCUPE']['length'];}return _0x1f1203(this['svCUPE'][0x0]);},new _0x202d68(_0x5419)['nohoKl'](),_0x35afc4=_0x5419['ZSxbYV'](_0x35afc4),_0x5419['lyipcA'][_0x541946]=_0x35afc4;}else _0x35afc4=_0x2f02d2;return _0x35afc4;}_0x35afc4();import _0x3d3b6a from'debug';export async function runTask(_0x3e47e9,_0xc8fb81,_0x327fdc,_0x45082b=![]){const _0x2cf1af=_0x5419,_0x931065={'ILhux':function(_0x9261bd,_0x585714){return _0x9261bd<_0x585714;},'vafSC':function(_0x5a15d0,_0x1d9fac){return _0x5a15d0(_0x1d9fac);},'giPns':_0x2cf1af(0x99),'nRsLR':function(_0x2b83c4,_0x10f761){return _0x2b83c4!==_0x10f761;},'ngcdp':_0x2cf1af(0xa1),'dOuhD':function(_0x521798,_0x4c4a48){return _0x521798(_0x4c4a48);},'KyezJ':function(_0x369877,_0x4c0f9f){return _0x369877 instanceof _0x4c0f9f;}},{tools:_0x477c05}=await _0xc8fb81[_0x2cf1af(0x93)](),_0x3eabfe=_0x45082b?_0x2cf1af(0xb6)+_0x327fdc+'.':_0x2cf1af(0xb6)+_0x327fdc+_0x2cf1af(0xbe),_0x586abb=_0x3e47e9[_0x2cf1af(0xc0)](_0x3eabfe,_0x477c05,_0x45082b);for(let _0x42db22=0x0;_0x931065[_0x2cf1af(0xa0)](_0x42db22,0x5);++_0x42db22){_0x931065[_0x2cf1af(0xa7)](_0x3d3b6a,'history')(_0x931065[_0x2cf1af(0xc3)],_0x42db22);const _0x2faf53=await _0x3e47e9['makeApiCall'](_0x586abb);if(_0x2faf53[_0x2cf1af(0xc1)]===0x0)throw new Error(_0x2cf1af(0x91));const _0x52638d=[];for(const _0x5ae962 of _0x2faf53){const _0x59a2a5=_0x3e47e9[_0x2cf1af(0xaa)](_0x5ae962);if(_0x931065['nRsLR'](_0x59a2a5,null))return _0x586abb[_0x2cf1af(0x9e)];const {name:_0xe482fd,arguments:_0x139b1e,id:_0x1923bb}=_0x5ae962;try{_0x3d3b6a(_0x931065[_0x2cf1af(0xb8)])(_0xe482fd,_0x139b1e);const _0x3a95ab={};_0x3a95ab[_0x2cf1af(0xbb)]=_0xe482fd,_0x3a95ab[_0x2cf1af(0xc4)]=_0x139b1e;const _0x38df3b=await _0xc8fb81[_0x2cf1af(0xbd)](_0x3a95ab),_0x462987=_0x38df3b[_0x2cf1af(0xa8)]||[];_0x3d3b6a(_0x2cf1af(0xa1))(_0x462987);const _0x38847a=_0x462987[_0x2cf1af(0xc5)](_0x19b4a3=>_0x19b4a3[_0x2cf1af(0x9c)]==='text')[_0x2cf1af(0xa2)](_0x14b6e0=>_0x14b6e0[_0x2cf1af(0xb9)])['join']('\x0a'),_0x129b44={};_0x129b44[_0x2cf1af(0xa6)]=_0x1923bb,_0x129b44[_0x2cf1af(0xa8)]=_0x38847a,_0x52638d[_0x2cf1af(0xbc)](_0x129b44);}catch(_0xd36b3){_0x931065[_0x2cf1af(0xc2)](_0x3d3b6a,_0x931065[_0x2cf1af(0xb8)])(_0xd36b3),_0x52638d[_0x2cf1af(0xbc)]({'toolCallId':_0x1923bb,'content':_0x2cf1af(0xab)+_0xe482fd+_0x2cf1af(0xba)+(_0x931065[_0x2cf1af(0x98)](_0xd36b3,Error)?_0xd36b3[_0x2cf1af(0xa3)]:String(_0xd36b3))+_0x2cf1af(0xa5),'isError':!![]});for(const _0x31a8ab of _0x2faf53[_0x2cf1af(0x97)](_0x2faf53[_0x2cf1af(0xb1)](_0x5ae962)+0x1)){const _0x4ae641={};_0x4ae641[_0x2cf1af(0xa6)]=_0x31a8ab['id'],_0x4ae641[_0x2cf1af(0xa8)]=_0x2cf1af(0xae),_0x4ae641[_0x2cf1af(0x96)]=!![],_0x52638d['push'](_0x4ae641);}break;}}_0x3e47e9[_0x2cf1af(0x9f)](_0x586abb,_0x52638d);if(_0x45082b)return _0x586abb[_0x2cf1af(0x9e)];}throw new Error(_0x2cf1af(0x9d));}
@@ -1,152 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- const model = 'claude-sonnet-4-20250514';
17
- export class ClaudeDelegate {
18
- _anthropic;
19
- async anthropic() {
20
- if (!this._anthropic) {
21
- const anthropic = await import('@anthropic-ai/sdk');
22
- this._anthropic = new anthropic.Anthropic();
23
- }
24
- return this._anthropic;
25
- }
26
- createConversation(task, tools, oneShot) {
27
- const llmTools = tools.map(tool => ({
28
- name: tool.name,
29
- description: tool.description || '',
30
- inputSchema: tool.inputSchema,
31
- }));
32
- if (!oneShot) {
33
- llmTools.push({
34
- name: 'done',
35
- description: 'Call this tool when the task is complete.',
36
- inputSchema: {
37
- type: 'object',
38
- properties: {},
39
- },
40
- });
41
- }
42
- return {
43
- messages: [{
44
- role: 'user',
45
- content: task
46
- }],
47
- tools: llmTools,
48
- };
49
- }
50
- async makeApiCall(conversation) {
51
- // Convert generic messages to Claude format
52
- const claudeMessages = [];
53
- for (const message of conversation.messages) {
54
- if (message.role === 'user') {
55
- claudeMessages.push({
56
- role: 'user',
57
- content: message.content
58
- });
59
- }
60
- else if (message.role === 'assistant') {
61
- const content = [];
62
- // Add text content
63
- if (message.content) {
64
- content.push({
65
- type: 'text',
66
- text: message.content,
67
- citations: []
68
- });
69
- }
70
- // Add tool calls
71
- if (message.toolCalls) {
72
- for (const toolCall of message.toolCalls) {
73
- content.push({
74
- type: 'tool_use',
75
- id: toolCall.id,
76
- name: toolCall.name,
77
- input: toolCall.arguments
78
- });
79
- }
80
- }
81
- claudeMessages.push({
82
- role: 'assistant',
83
- content
84
- });
85
- }
86
- else if (message.role === 'tool') {
87
- // Tool results are added differently - we need to find if there's already a user message with tool results
88
- const lastMessage = claudeMessages[claudeMessages.length - 1];
89
- const toolResult = {
90
- type: 'tool_result',
91
- tool_use_id: message.toolCallId,
92
- content: message.content,
93
- is_error: message.isError,
94
- };
95
- if (lastMessage && lastMessage.role === 'user' && Array.isArray(lastMessage.content)) {
96
- // Add to existing tool results message
97
- lastMessage.content.push(toolResult);
98
- }
99
- else {
100
- // Create new tool results message
101
- claudeMessages.push({
102
- role: 'user',
103
- content: [toolResult]
104
- });
105
- }
106
- }
107
- }
108
- // Convert generic tools to Claude format
109
- const claudeTools = conversation.tools.map(tool => ({
110
- name: tool.name,
111
- description: tool.description,
112
- input_schema: tool.inputSchema,
113
- }));
114
- const anthropic = await this.anthropic();
115
- const response = await anthropic.messages.create({
116
- model,
117
- max_tokens: 10000,
118
- messages: claudeMessages,
119
- tools: claudeTools,
120
- });
121
- // Extract tool calls and add assistant message to generic conversation
122
- const toolCalls = response.content.filter(block => block.type === 'tool_use');
123
- const textContent = response.content.filter(block => block.type === 'text').map(block => block.text).join('');
124
- const llmToolCalls = toolCalls.map(toolCall => ({
125
- name: toolCall.name,
126
- arguments: toolCall.input,
127
- id: toolCall.id,
128
- }));
129
- // Add assistant message to generic conversation
130
- conversation.messages.push({
131
- role: 'assistant',
132
- content: textContent,
133
- toolCalls: llmToolCalls.length > 0 ? llmToolCalls : undefined
134
- });
135
- return llmToolCalls;
136
- }
137
- addToolResults(conversation, results) {
138
- for (const result of results) {
139
- conversation.messages.push({
140
- role: 'tool',
141
- toolCallId: result.toolCallId,
142
- content: result.content,
143
- isError: result.isError,
144
- });
145
- }
146
- }
147
- checkDoneToolCall(toolCall) {
148
- if (toolCall.name === 'done')
149
- return toolCall.arguments.result;
150
- return null;
151
- }
152
- }
1
+ const _0xbf4034=_0x1e35;(function(_0x36e9b5,_0x6ac1c3){const _0x4bed23=_0x1e35,_0x50ef44=_0x36e9b5();while(!![]){try{const _0x188cc7=parseInt(_0x4bed23(0x181))/0x1+-parseInt(_0x4bed23(0x19a))/0x2*(-parseInt(_0x4bed23(0x198))/0x3)+-parseInt(_0x4bed23(0x18d))/0x4+parseInt(_0x4bed23(0x1b0))/0x5+-parseInt(_0x4bed23(0x193))/0x6+-parseInt(_0x4bed23(0x1a8))/0x7+-parseInt(_0x4bed23(0x186))/0x8*(-parseInt(_0x4bed23(0x18c))/0x9);if(_0x188cc7===_0x6ac1c3)break;else _0x50ef44['push'](_0x50ef44['shift']());}catch(_0x3eddfa){_0x50ef44['push'](_0x50ef44['shift']());}}}(_0x19ae,0xe0ec0));function _0x1e35(_0x52169f,_0x3783ee){_0x52169f=_0x52169f-0x16c;const _0x47b2b6=_0x19ae();let _0x10b0b0=_0x47b2b6[_0x52169f];if(_0x1e35['RKsJZg']===undefined){var _0xa36f3d=function(_0x138290){const _0xe105d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bff8b='',_0x21cd94='',_0x45f554=_0x4bff8b+_0xa36f3d;for(let _0x1cff0f=0x0,_0x1ab887,_0xc43337,_0x50c1a5=0x0;_0xc43337=_0x138290['charAt'](_0x50c1a5++);~_0xc43337&&(_0x1ab887=_0x1cff0f%0x4?_0x1ab887*0x40+_0xc43337:_0xc43337,_0x1cff0f++%0x4)?_0x4bff8b+=_0x45f554['charCodeAt'](_0x50c1a5+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1ab887>>(-0x2*_0x1cff0f&0x6)):_0x1cff0f:0x0){_0xc43337=_0xe105d0['indexOf'](_0xc43337);}for(let _0x446fe5=0x0,_0x55f8eb=_0x4bff8b['length'];_0x446fe5<_0x55f8eb;_0x446fe5++){_0x21cd94+='%'+('00'+_0x4bff8b['charCodeAt'](_0x446fe5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21cd94);};_0x1e35['fOOBIX']=_0xa36f3d,_0x1e35['KMbBKo']={},_0x1e35['RKsJZg']=!![];}const _0x19aee5=_0x47b2b6[0x0],_0x1e350a=_0x52169f+_0x19aee5,_0x578dd2=_0x1e35['KMbBKo'][_0x1e350a];if(!_0x578dd2){const _0x9419fc=function(_0x4dc3ed){this['ekhMlh']=_0x4dc3ed,this['RoVEGl']=[0x1,0x0,0x0],this['DwoNJL']=function(){return'newState';},this['GrjzqC']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['CDOqLE']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x9419fc['prototype']['IiMiMS']=function(){const _0x4def61=new RegExp(this['GrjzqC']+this['CDOqLE']),_0x131584=_0x4def61['test'](this['DwoNJL']['toString']())?--this['RoVEGl'][0x1]:--this['RoVEGl'][0x0];return this['ViRNey'](_0x131584);},_0x9419fc['prototype']['ViRNey']=function(_0x55b475){if(!Boolean(~_0x55b475))return _0x55b475;return this['hOJIbQ'](this['ekhMlh']);},_0x9419fc['prototype']['hOJIbQ']=function(_0x4253d4){for(let _0x5e28a7=0x0,_0x1870ad=this['RoVEGl']['length'];_0x5e28a7<_0x1870ad;_0x5e28a7++){this['RoVEGl']['push'](Math['round'](Math['random']())),_0x1870ad=this['RoVEGl']['length'];}return _0x4253d4(this['RoVEGl'][0x0]);},new _0x9419fc(_0x1e35)['IiMiMS'](),_0x10b0b0=_0x1e35['fOOBIX'](_0x10b0b0),_0x1e35['KMbBKo'][_0x1e350a]=_0x10b0b0;}else _0x10b0b0=_0x578dd2;return _0x10b0b0;}const _0xa36f3d=(function(){let _0x5a4207=!![];return function(_0x12cb25,_0x17f216){const _0x565049=_0x5a4207?function(){const _0x48cbcb=_0x1e35;if(_0x17f216){const _0x1cd5af=_0x17f216[_0x48cbcb(0x1a4)](_0x12cb25,arguments);return _0x17f216=null,_0x1cd5af;}}:function(){};return _0x5a4207=![],_0x565049;};}()),_0x10b0b0=_0xa36f3d(this,function(){const _0x163168=_0x1e35,_0x476b9e={};_0x476b9e[_0x163168(0x199)]=_0x163168(0x19d);const _0x423eac=_0x476b9e;return _0x10b0b0[_0x163168(0x178)]()[_0x163168(0x18b)](_0x163168(0x19d))['toString']()[_0x163168(0x17b)](_0x10b0b0)[_0x163168(0x18b)](_0x423eac[_0x163168(0x199)]);});_0x10b0b0();const model='claude-sonnet-4-20250514';function _0x19ae(){const _0x4301a3=['y29UDgvUDa','mtu1nZK2ohbAy2HVza','zg9Uzq','Dg9VBenHBgXjza','AM9PBG','B2jQzwn0','mtzyyvPttNm','Dg9VBa','y3jLyxrLq29UDMvYC2f0Aw9U','vNfJCg8','sLHLueK','C2vHCMnO','nJe0ntq3ovrly3zuwa','mJa2nJCZnKDRzM9quq','zgvZy3jPChrPB24','DhLWzq','Dg9VBf91C2u','yw50AhjVCgLJ','Dg9VBenHBgXZ','mZK0mdC5ne5LuK1ouq','Dgv4Da','BwfW','wwnTzK4','Dg9VBf9Yzxn1Bhq','mZy0mMnvsK9ZDG','Awngs28','mJj6CuLiALy','A2HPBg0','rwjbvuq','kcGOlISPkYKRksSK','z2DuBuq','Dg9VBf91C2vFAwq','CNrfwLK','Bwf4x3rVA2vUCW','yxjNDw1LBNrZ','DxnLCG','yxbWBhK','teHMq3e','vvn2qKW','y2L0yxrPB25Z','mte4mJuWnJv2rLvnwve','Aw5WDxq','y2HLy2TeB25Lvg9VBenHBgW','AxnFzxjYB3i','Aw5WDxrty2HLBwe','BwfRzufWAunHBgW','Bw9KzwW','zMLSDgvY','ndiZntm3mg9pv0DZyq','q2fSBcb0AgLZihrVB2WGD2HLBIb0AguGDgfZAYbPCYbJB21WBgv0zs4','y3jLyxrL','ChvZAa','ChjVCgvYDgLLCW','BwvZC2fNzxm','AxnbCNjHEq','tgLNC3i','yxnZAxn0yw50','BgvUz3rO','CM9Szq','uwzdB3q','BMfTzq','x2fUDgHYB3bPyW','qgfUDgHYB3bPyY1HAs9ZzgS','EufeAKy','Dg9tDhjPBMC','ugz4Bha','yMvkwKC','y29UC3rYDwn0B3i','rur5tva','Dg9VBhm','AxnfCNjVCG','CvnzAfe'];_0x19ae=function(){return _0x4301a3;};return _0x19ae();}export class ClaudeDelegate{['_anthropic'];async[_0xbf4034(0x191)](){const _0x4e67aa=_0xbf4034,_0x417869={};_0x417869['Pfxlp']=_0x4e67aa(0x176);const _0x48f4dd=_0x417869;if(!this[_0x4e67aa(0x175)]){const _0x3706fe=await import(_0x48f4dd[_0x4e67aa(0x179)]);this[_0x4e67aa(0x175)]=new _0x3706fe['Anthropic']();}return this[_0x4e67aa(0x175)];}[_0xbf4034(0x188)](_0x9e03eb,_0x530056,_0x5c2a89){const _0x368ffd=_0xbf4034,_0x31b38e={};_0x31b38e[_0x368ffd(0x19b)]=_0x368ffd(0x182),_0x31b38e[_0x368ffd(0x189)]=_0x368ffd(0x1b1),_0x31b38e[_0x368ffd(0x196)]=_0x368ffd(0x185),_0x31b38e[_0x368ffd(0x177)]=_0x368ffd(0x1a3);const _0x5bfb88=_0x31b38e,_0xb4a276=_0x530056[_0x368ffd(0x195)](_0x5be019=>({'name':_0x5be019['name'],'description':_0x5be019[_0x368ffd(0x18e)]||'','inputSchema':_0x5be019[_0x368ffd(0x1ac)]}));if(!_0x5c2a89){const _0xb745ee={};_0xb745ee[_0x368ffd(0x174)]=_0x5bfb88['khilm'],_0xb745ee['description']=_0x5bfb88[_0x368ffd(0x189)],_0xb745ee[_0x368ffd(0x1ac)]={},_0xb745ee[_0x368ffd(0x1ac)][_0x368ffd(0x18f)]=_0x5bfb88[_0x368ffd(0x196)],_0xb745ee[_0x368ffd(0x1ac)][_0x368ffd(0x16c)]={},_0xb4a276['push'](_0xb745ee);}const _0x3f1838={};_0x3f1838[_0x368ffd(0x172)]=_0x5bfb88[_0x368ffd(0x177)],_0x3f1838[_0x368ffd(0x180)]=_0x9e03eb;const _0x3389a2={};return _0x3389a2[_0x368ffd(0x16d)]=[_0x3f1838],_0x3389a2[_0x368ffd(0x17d)]=_0xb4a276,_0x3389a2;}async[_0xbf4034(0x1ad)](_0x3c1b2d){const _0x2770de=_0xbf4034,_0x2f0677={};_0x2f0677[_0x2770de(0x17a)]=_0x2770de(0x1a3),_0x2f0677[_0x2770de(0x16f)]=function(_0x243da5,_0x54f551){return _0x243da5===_0x54f551;},_0x2f0677[_0x2770de(0x19e)]=_0x2770de(0x170),_0x2f0677[_0x2770de(0x19c)]=_0x2770de(0x194),_0x2f0677[_0x2770de(0x1a0)]=_0x2770de(0x190),_0x2f0677[_0x2770de(0x17c)]=_0x2770de(0x187),_0x2f0677[_0x2770de(0x17f)]=function(_0x512bf2,_0x48a918){return _0x512bf2-_0x48a918;},_0x2f0677[_0x2770de(0x173)]=function(_0x4dd600,_0x489d5a){return _0x4dd600>_0x489d5a;};const _0x29577d=_0x2f0677,_0x36c058=[];for(const _0x35e29b of _0x3c1b2d['messages']){if(_0x35e29b[_0x2770de(0x172)]===_0x29577d[_0x2770de(0x17a)]){const _0x3c3e17={};_0x3c3e17[_0x2770de(0x172)]=_0x29577d[_0x2770de(0x17a)],_0x3c3e17[_0x2770de(0x180)]=_0x35e29b[_0x2770de(0x180)],_0x36c058[_0x2770de(0x1b3)](_0x3c3e17);}else{if(_0x29577d[_0x2770de(0x16f)](_0x35e29b['role'],_0x29577d[_0x2770de(0x19e)])){const _0x428bb7=[];if(_0x35e29b[_0x2770de(0x180)]){const _0x266336={};_0x266336[_0x2770de(0x18f)]=_0x29577d[_0x2770de(0x19c)],_0x266336[_0x2770de(0x194)]=_0x35e29b[_0x2770de(0x180)],_0x266336[_0x2770de(0x1a7)]=[],_0x428bb7['push'](_0x266336);}if(_0x35e29b[_0x2770de(0x192)])for(const _0xed15 of _0x35e29b[_0x2770de(0x192)]){const _0x25af46={};_0x25af46[_0x2770de(0x18f)]=_0x29577d[_0x2770de(0x1a0)],_0x25af46['id']=_0xed15['id'],_0x25af46[_0x2770de(0x174)]=_0xed15[_0x2770de(0x174)],_0x25af46[_0x2770de(0x1a9)]=_0xed15['arguments'],_0x428bb7[_0x2770de(0x1b3)](_0x25af46);}const _0x18c3c1={};_0x18c3c1['role']=_0x2770de(0x170),_0x18c3c1[_0x2770de(0x180)]=_0x428bb7,_0x36c058[_0x2770de(0x1b3)](_0x18c3c1);}else{if(_0x29577d[_0x2770de(0x16f)](_0x35e29b[_0x2770de(0x172)],_0x29577d[_0x2770de(0x17c)])){const _0x3b393d=_0x36c058[_0x29577d[_0x2770de(0x17f)](_0x36c058[_0x2770de(0x171)],0x1)],_0x5dc812={};_0x5dc812[_0x2770de(0x18f)]=_0x2770de(0x197),_0x5dc812[_0x2770de(0x19f)]=_0x35e29b[_0x2770de(0x183)],_0x5dc812[_0x2770de(0x180)]=_0x35e29b[_0x2770de(0x180)],_0x5dc812[_0x2770de(0x1ab)]=_0x35e29b[_0x2770de(0x17e)];const _0x3395b9=_0x5dc812;if(_0x3b393d&&_0x29577d[_0x2770de(0x16f)](_0x3b393d[_0x2770de(0x172)],_0x29577d[_0x2770de(0x17a)])&&Array[_0x2770de(0x16e)](_0x3b393d[_0x2770de(0x180)]))_0x3b393d[_0x2770de(0x180)][_0x2770de(0x1b3)](_0x3395b9);else{const _0x2c6c80={};_0x2c6c80[_0x2770de(0x172)]=_0x29577d[_0x2770de(0x17a)],_0x2c6c80[_0x2770de(0x180)]=[_0x3395b9],_0x36c058[_0x2770de(0x1b3)](_0x2c6c80);}}}}}const _0x29fe0e=_0x3c1b2d[_0x2770de(0x17d)][_0x2770de(0x195)](_0x4cc9a6=>({'name':_0x4cc9a6[_0x2770de(0x174)],'description':_0x4cc9a6[_0x2770de(0x18e)],'input_schema':_0x4cc9a6[_0x2770de(0x1ac)]})),_0x5db2b6=await this['anthropic'](),_0x5d431b={};_0x5d431b[_0x2770de(0x1ae)]=model,_0x5d431b[_0x2770de(0x1a1)]=0x2710,_0x5d431b[_0x2770de(0x16d)]=_0x36c058,_0x5d431b[_0x2770de(0x17d)]=_0x29fe0e;const _0x1d8c52=await _0x5db2b6[_0x2770de(0x16d)][_0x2770de(0x1b2)](_0x5d431b),_0x241d41=_0x1d8c52[_0x2770de(0x180)][_0x2770de(0x1af)](_0x82b1e2=>_0x82b1e2[_0x2770de(0x18f)]===_0x2770de(0x190)),_0x47e9b0=_0x1d8c52[_0x2770de(0x180)]['filter'](_0xb30077=>_0xb30077[_0x2770de(0x18f)]==='text')[_0x2770de(0x195)](_0x4626b9=>_0x4626b9[_0x2770de(0x194)])[_0x2770de(0x184)](''),_0x179258=_0x241d41[_0x2770de(0x195)](_0x13cc19=>({'name':_0x13cc19['name'],'arguments':_0x13cc19[_0x2770de(0x1a9)],'id':_0x13cc19['id']}));return _0x3c1b2d['messages'][_0x2770de(0x1b3)]({'role':_0x29577d[_0x2770de(0x19e)],'content':_0x47e9b0,'toolCalls':_0x29577d[_0x2770de(0x173)](_0x179258[_0x2770de(0x171)],0x0)?_0x179258:undefined}),_0x179258;}['addToolResults'](_0x4b93dc,_0x3b4be6){const _0x2b0ca4=_0xbf4034,_0x4c7d5e={};_0x4c7d5e[_0x2b0ca4(0x1a5)]=_0x2b0ca4(0x187);const _0x15a3dd=_0x4c7d5e;for(const _0x120a8f of _0x3b4be6){const _0x10fefc={};_0x10fefc[_0x2b0ca4(0x172)]=_0x15a3dd[_0x2b0ca4(0x1a5)],_0x10fefc[_0x2b0ca4(0x183)]=_0x120a8f[_0x2b0ca4(0x183)],_0x10fefc[_0x2b0ca4(0x180)]=_0x120a8f['content'],_0x10fefc[_0x2b0ca4(0x17e)]=_0x120a8f[_0x2b0ca4(0x17e)],_0x4b93dc[_0x2b0ca4(0x16d)][_0x2b0ca4(0x1b3)](_0x10fefc);}}[_0xbf4034(0x1aa)](_0x37af29){const _0x1b4c6a=_0xbf4034,_0x49fb37={};_0x49fb37[_0x1b4c6a(0x1a6)]=function(_0x59d6b0,_0x4e9aa2){return _0x59d6b0===_0x4e9aa2;},_0x49fb37['JXePI']='done';const _0x2bd75d=_0x49fb37;if(_0x2bd75d[_0x1b4c6a(0x1a6)](_0x37af29[_0x1b4c6a(0x174)],_0x2bd75d[_0x1b4c6a(0x18a)]))return _0x37af29[_0x1b4c6a(0x1a2)]['result'];return null;}}
@@ -1,143 +1 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- const model = 'gpt-4.1';
17
- export class OpenAIDelegate {
18
- _openai;
19
- async openai() {
20
- if (!this._openai) {
21
- const oai = await import('openai');
22
- this._openai = new oai.OpenAI();
23
- }
24
- return this._openai;
25
- }
26
- createConversation(task, tools, oneShot) {
27
- const genericTools = tools.map(tool => ({
28
- name: tool.name,
29
- description: tool.description || '',
30
- inputSchema: tool.inputSchema,
31
- }));
32
- if (!oneShot) {
33
- genericTools.push({
34
- name: 'done',
35
- description: 'Call this tool when the task is complete.',
36
- inputSchema: {
37
- type: 'object',
38
- properties: {},
39
- },
40
- });
41
- }
42
- return {
43
- messages: [{
44
- role: 'user',
45
- content: task
46
- }],
47
- tools: genericTools,
48
- };
49
- }
50
- async makeApiCall(conversation) {
51
- // Convert generic messages to OpenAI format
52
- const openaiMessages = [];
53
- for (const message of conversation.messages) {
54
- if (message.role === 'user') {
55
- openaiMessages.push({
56
- role: 'user',
57
- content: message.content
58
- });
59
- }
60
- else if (message.role === 'assistant') {
61
- const toolCalls = [];
62
- if (message.toolCalls) {
63
- for (const toolCall of message.toolCalls) {
64
- toolCalls.push({
65
- id: toolCall.id,
66
- type: 'function',
67
- function: {
68
- name: toolCall.name,
69
- arguments: JSON.stringify(toolCall.arguments)
70
- }
71
- });
72
- }
73
- }
74
- const assistantMessage = {
75
- role: 'assistant'
76
- };
77
- if (message.content)
78
- assistantMessage.content = message.content;
79
- if (toolCalls.length > 0)
80
- assistantMessage.tool_calls = toolCalls;
81
- openaiMessages.push(assistantMessage);
82
- }
83
- else if (message.role === 'tool') {
84
- openaiMessages.push({
85
- role: 'tool',
86
- tool_call_id: message.toolCallId,
87
- content: message.content,
88
- });
89
- }
90
- }
91
- // Convert generic tools to OpenAI format
92
- const openaiTools = conversation.tools.map(tool => ({
93
- type: 'function',
94
- function: {
95
- name: tool.name,
96
- description: tool.description,
97
- parameters: tool.inputSchema,
98
- },
99
- }));
100
- const openai = await this.openai();
101
- const response = await openai.chat.completions.create({
102
- model,
103
- messages: openaiMessages,
104
- tools: openaiTools,
105
- tool_choice: 'auto'
106
- });
107
- const message = response.choices[0].message;
108
- // Extract tool calls and add assistant message to generic conversation
109
- const toolCalls = message.tool_calls || [];
110
- const genericToolCalls = toolCalls
111
- .filter((toolCall) => toolCall.type === 'function')
112
- .map(toolCall => {
113
- const functionCall = toolCall.function;
114
- return {
115
- name: functionCall.name,
116
- arguments: JSON.parse(functionCall.arguments),
117
- id: toolCall.id,
118
- };
119
- });
120
- // Add assistant message to generic conversation
121
- conversation.messages.push({
122
- role: 'assistant',
123
- content: message.content || '',
124
- toolCalls: genericToolCalls.length > 0 ? genericToolCalls : undefined
125
- });
126
- return genericToolCalls;
127
- }
128
- addToolResults(conversation, results) {
129
- for (const result of results) {
130
- conversation.messages.push({
131
- role: 'tool',
132
- toolCallId: result.toolCallId,
133
- content: result.content,
134
- isError: result.isError,
135
- });
136
- }
137
- }
138
- checkDoneToolCall(toolCall) {
139
- if (toolCall.name === 'done')
140
- return toolCall.arguments.result;
141
- return null;
142
- }
143
- }
1
+ const _0x2b8598=_0x52f8;function _0x52f8(_0x4468fe,_0x33d1e4){_0x4468fe=_0x4468fe-0x83;const _0x290020=_0x8bd7();let _0x3e928c=_0x290020[_0x4468fe];if(_0x52f8['oIZdXh']===undefined){var _0x17889d=function(_0x448462){const _0x453831='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ef316='',_0x4be03c='',_0x414ca5=_0x4ef316+_0x17889d;for(let _0x189121=0x0,_0x44962b,_0x7788a4,_0x58a161=0x0;_0x7788a4=_0x448462['charAt'](_0x58a161++);~_0x7788a4&&(_0x44962b=_0x189121%0x4?_0x44962b*0x40+_0x7788a4:_0x7788a4,_0x189121++%0x4)?_0x4ef316+=_0x414ca5['charCodeAt'](_0x58a161+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x44962b>>(-0x2*_0x189121&0x6)):_0x189121:0x0){_0x7788a4=_0x453831['indexOf'](_0x7788a4);}for(let _0x11d899=0x0,_0x3b0718=_0x4ef316['length'];_0x11d899<_0x3b0718;_0x11d899++){_0x4be03c+='%'+('00'+_0x4ef316['charCodeAt'](_0x11d899)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4be03c);};_0x52f8['sJQWEY']=_0x17889d,_0x52f8['KIyfIN']={},_0x52f8['oIZdXh']=!![];}const _0x8bd792=_0x290020[0x0],_0x52f816=_0x4468fe+_0x8bd792,_0x424ce2=_0x52f8['KIyfIN'][_0x52f816];if(!_0x424ce2){const _0x11ec2c=function(_0x153706){this['lNhpfB']=_0x153706,this['QxBMME']=[0x1,0x0,0x0],this['ZWasQH']=function(){return'newState';},this['dodujO']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['keYdIj']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x11ec2c['prototype']['CSzPdR']=function(){const _0x4336c8=new RegExp(this['dodujO']+this['keYdIj']),_0x8f658a=_0x4336c8['test'](this['ZWasQH']['toString']())?--this['QxBMME'][0x1]:--this['QxBMME'][0x0];return this['tHBRXA'](_0x8f658a);},_0x11ec2c['prototype']['tHBRXA']=function(_0x41a473){if(!Boolean(~_0x41a473))return _0x41a473;return this['dissiH'](this['lNhpfB']);},_0x11ec2c['prototype']['dissiH']=function(_0x2ceaed){for(let _0x459ad6=0x0,_0x351509=this['QxBMME']['length'];_0x459ad6<_0x351509;_0x459ad6++){this['QxBMME']['push'](Math['round'](Math['random']())),_0x351509=this['QxBMME']['length'];}return _0x2ceaed(this['QxBMME'][0x0]);},new _0x11ec2c(_0x52f8)['CSzPdR'](),_0x3e928c=_0x52f8['sJQWEY'](_0x3e928c),_0x52f8['KIyfIN'][_0x52f816]=_0x3e928c;}else _0x3e928c=_0x424ce2;return _0x3e928c;}(function(_0x36d3af,_0x28d0a1){const _0x245a67=_0x52f8,_0x12727f=_0x36d3af();while(!![]){try{const _0x4fd1e3=-parseInt(_0x245a67(0x9b))/0x1*(parseInt(_0x245a67(0x8e))/0x2)+parseInt(_0x245a67(0x86))/0x3*(-parseInt(_0x245a67(0xa9))/0x4)+-parseInt(_0x245a67(0x92))/0x5+parseInt(_0x245a67(0x89))/0x6*(parseInt(_0x245a67(0x8a))/0x7)+parseInt(_0x245a67(0xc5))/0x8*(-parseInt(_0x245a67(0x9e))/0x9)+-parseInt(_0x245a67(0xcb))/0xa+-parseInt(_0x245a67(0xad))/0xb*(-parseInt(_0x245a67(0x8f))/0xc);if(_0x4fd1e3===_0x28d0a1)break;else _0x12727f['push'](_0x12727f['shift']());}catch(_0x1848b9){_0x12727f['push'](_0x12727f['shift']());}}}(_0x8bd7,0x18a34));const _0x17889d=(function(){let _0x2f9334=!![];return function(_0x506935,_0x47d452){const _0x271bc1=_0x2f9334?function(){const _0x252e5a=_0x52f8;if(_0x47d452){const _0xb82c2d=_0x47d452[_0x252e5a(0xb4)](_0x506935,arguments);return _0x47d452=null,_0xb82c2d;}}:function(){};return _0x2f9334=![],_0x271bc1;};}()),_0x3e928c=_0x17889d(this,function(){const _0x12682b=_0x52f8,_0x538536={};_0x538536[_0x12682b(0xb3)]=_0x12682b(0x9a);const _0x267599=_0x538536;return _0x3e928c['toString']()[_0x12682b(0xba)](_0x267599[_0x12682b(0xb3)])[_0x12682b(0x84)]()[_0x12682b(0x93)](_0x3e928c)['search'](_0x12682b(0x9a));});function _0x8bd7(){const _0x7af7c6=['EeXXwKW','BgvUz3rO','BhLWze4','CMvZDwX0','CvLoB1m','yxbWBhK','s2jUDeC','Dg9VBenHBgXjza','Dg9VBenHBgXZ','wKTvDfi','z3b0ltqUmq','C2vHCMnO','Dg9VBa','y2HLy2TeB25Lvg9VBenHBgW','Dg9VBf9JywXSx2LK','y2HVAwnLCW','y29UDgvUDa','BMfTzq','DwnKB2q','ywrKvg9VBfjLC3vSDhm','vhvQBhq','Dg9VBf9JywXSCW','otC5ntq0zxb1seP0','rLbYqxG','ChjVCgvYDgLLCW','C3rYAw5NAwz5','BwfW','t3bLBKfj','nZy0ndGWsgLYsKXs','y29TCgXLDgLVBNm','Cef6wwu','C2Dyshm','CgfYC2u','DxnLCG','Dg9tDhjPBMC','DhLWzq','mZuYotjqu1ztAg0','Aw5WDxrty2HLBwe','y3jLyxrL','mZe0mtzlBvvwBKO','mJHvENDctuC','y3jLyxrLq29UDMvYC2f0Aw9U','B2jQzwn0','vfLPEwu','mtjbAK1Rr0O','mtaWndrfze1ctg4','q2fSBcb0AgLZihrVB2WGD2HLBIb0AguGDgfZAYbPCYbJB21WBgv0zs4','Bw9KzwW','odq2ndGWsufhrujV','y29UC3rYDwn0B3i','BwvZC2fNzxm','yxjNDw1LBNrZ','yxv0BW','wuL5zuK','Dg9VBhm','A0Huwg8','kcGOlISPkYKRksSK','mtu1mdjHCujbCw4','Cwzjug0','zNvUy3rPB24','ovDmC0visq','rfj1wNG','B3bLBMfP','CM9Szq','Dg9VBf9JAg9Py2u','AxnfCNjVCG','BwvZC2fNzq','B1Ley04','DgXIwg4','zgvZy3jPChrPB24','BwfRzufWAunHBgW','mZjsBwv3tvq','x29Wzw5HAq','y2HHDa','ChvZAa','odm0owfgALvxDa','rLL0z0S'];_0x8bd7=function(){return _0x7af7c6;};return _0x8bd7();}_0x3e928c();const model=_0x2b8598(0xb9);export class OpenAIDelegate{[_0x2b8598(0xaa)];async[_0x2b8598(0xa0)](){const _0x132c4a=_0x2b8598,_0x2123ac={};_0x2123ac[_0x132c4a(0x99)]=_0x132c4a(0xa0);const _0x536235=_0x2123ac;if(!this[_0x132c4a(0xaa)]){const _0x13975f=await import(_0x536235[_0x132c4a(0x99)]);this[_0x132c4a(0xaa)]=new _0x13975f[(_0x132c4a(0xca))]();}return this[_0x132c4a(0xaa)];}[_0x2b8598(0x8b)](_0x45181f,_0x280daa,_0x77d179){const _0x3c80f8=_0x2b8598,_0x21a58d={};_0x21a58d[_0x3c80f8(0x8d)]='done',_0x21a58d[_0x3c80f8(0xa6)]=_0x3c80f8(0x90),_0x21a58d[_0x3c80f8(0xc3)]=_0x3c80f8(0x8c),_0x21a58d[_0x3c80f8(0x9f)]=_0x3c80f8(0x83);const _0x3e6f29=_0x21a58d,_0x3f60d1=_0x280daa[_0x3c80f8(0xc9)](_0x4b8795=>({'name':_0x4b8795[_0x3c80f8(0xc0)],'description':_0x4b8795[_0x3c80f8(0xa7)]||'','inputSchema':_0x4b8795[_0x3c80f8(0x87)]}));if(!_0x77d179){const _0x5ab297={};_0x5ab297[_0x3c80f8(0xc0)]=_0x3e6f29[_0x3c80f8(0x8d)],_0x5ab297[_0x3c80f8(0xa7)]=_0x3e6f29[_0x3c80f8(0xa6)],_0x5ab297[_0x3c80f8(0x87)]={},_0x5ab297[_0x3c80f8(0x87)][_0x3c80f8(0x85)]=_0x3e6f29[_0x3c80f8(0xc3)],_0x5ab297[_0x3c80f8(0x87)][_0x3c80f8(0xc7)]={},_0x3f60d1[_0x3c80f8(0xac)](_0x5ab297);}const _0x48e22f={};_0x48e22f[_0x3c80f8(0xa1)]=_0x3e6f29[_0x3c80f8(0x9f)],_0x48e22f[_0x3c80f8(0xbf)]=_0x45181f;const _0x2d2667={};return _0x2d2667[_0x3c80f8(0x94)]=[_0x48e22f],_0x2d2667[_0x3c80f8(0x98)]=_0x3f60d1,_0x2d2667;}async[_0x2b8598(0xa8)](_0x42fe40){const _0x4e916c=_0x2b8598,_0x3f193c={};_0x3f193c[_0x4e916c(0x9c)]=function(_0x5f424a,_0x764024){return _0x5f424a===_0x764024;},_0x3f193c[_0x4e916c(0xb1)]=_0x4e916c(0x83),_0x3f193c[_0x4e916c(0x97)]=function(_0x32811c,_0x345639){return _0x32811c===_0x345639;},_0x3f193c[_0x4e916c(0xc6)]='assistant',_0x3f193c['ucdod']=_0x4e916c(0x9d),_0x3f193c['pAzYe']=function(_0x54162d,_0xbbb55){return _0x54162d>_0xbbb55;},_0x3f193c[_0x4e916c(0xce)]=function(_0x4a3e18,_0x3bd499){return _0x4a3e18===_0x3bd499;},_0x3f193c[_0x4e916c(0xa5)]=_0x4e916c(0xbb),_0x3f193c['KbntG']=_0x4e916c(0x96);const _0x47fcb2=_0x3f193c,_0x450b85=[];for(const _0x507087 of _0x42fe40[_0x4e916c(0x94)]){if(_0x47fcb2['qfIPm'](_0x507087[_0x4e916c(0xa1)],_0x4e916c(0x83))){const _0xebc173={};_0xebc173['role']=_0x47fcb2['lypdN'],_0xebc173[_0x4e916c(0xbf)]=_0x507087[_0x4e916c(0xbf)],_0x450b85[_0x4e916c(0xac)](_0xebc173);}else{if(_0x47fcb2[_0x4e916c(0x97)](_0x507087['role'],_0x47fcb2[_0x4e916c(0xc6)])){const _0x3bc102=[];if(_0x507087['toolCalls'])for(const _0x4fa673 of _0x507087[_0x4e916c(0xb7)]){_0x3bc102[_0x4e916c(0xac)]({'id':_0x4fa673['id'],'type':_0x47fcb2[_0x4e916c(0xc1)],'function':{'name':_0x4fa673[_0x4e916c(0xc0)],'arguments':JSON[_0x4e916c(0xc8)](_0x4fa673['arguments'])}});}const _0x20d9bb={};_0x20d9bb[_0x4e916c(0xa1)]=_0x47fcb2[_0x4e916c(0xc6)];const _0x378528=_0x20d9bb;if(_0x507087[_0x4e916c(0xbf)])_0x378528[_0x4e916c(0xbf)]=_0x507087[_0x4e916c(0xbf)];if(_0x47fcb2[_0x4e916c(0xcd)](_0x3bc102[_0x4e916c(0xb0)],0x0))_0x378528['tool_calls']=_0x3bc102;_0x450b85[_0x4e916c(0xac)](_0x378528);}else{if(_0x47fcb2[_0x4e916c(0xce)](_0x507087[_0x4e916c(0xa1)],_0x4e916c(0xbb))){const _0x1e104a={};_0x1e104a[_0x4e916c(0xa1)]=_0x47fcb2[_0x4e916c(0xa5)],_0x1e104a[_0x4e916c(0xbd)]=_0x507087[_0x4e916c(0xb6)],_0x1e104a['content']=_0x507087[_0x4e916c(0xbf)],_0x450b85[_0x4e916c(0xac)](_0x1e104a);}}}}const _0x302ef2=_0x42fe40[_0x4e916c(0x98)][_0x4e916c(0xc9)](_0x2a5773=>({'type':_0x4e916c(0x9d),'function':{'name':_0x2a5773[_0x4e916c(0xc0)],'description':_0x2a5773[_0x4e916c(0xa7)],'parameters':_0x2a5773[_0x4e916c(0x87)]}})),_0x16f633=await this[_0x4e916c(0xa0)](),_0x29cc0c={};_0x29cc0c[_0x4e916c(0x91)]=model,_0x29cc0c[_0x4e916c(0x94)]=_0x450b85,_0x29cc0c[_0x4e916c(0x98)]=_0x302ef2,_0x29cc0c[_0x4e916c(0xa2)]=_0x47fcb2[_0x4e916c(0xb5)];const _0x108898=await _0x16f633[_0x4e916c(0xab)][_0x4e916c(0xcc)][_0x4e916c(0x88)](_0x29cc0c),_0x55ca98=_0x108898[_0x4e916c(0xbe)][0x0][_0x4e916c(0xa4)],_0x8cc8a3=_0x55ca98[_0x4e916c(0xc4)]||[],_0x15f017=_0x8cc8a3['filter'](_0x2a5963=>_0x2a5963[_0x4e916c(0x85)]===_0x4e916c(0x9d))[_0x4e916c(0xc9)](_0x45d675=>{const _0x50c71b=_0x4e916c,_0x476f76=_0x45d675[_0x50c71b(0x9d)];return{'name':_0x476f76[_0x50c71b(0xc0)],'arguments':JSON[_0x50c71b(0xcf)](_0x476f76[_0x50c71b(0x95)]),'id':_0x45d675['id']};});return _0x42fe40[_0x4e916c(0x94)][_0x4e916c(0xac)]({'role':_0x47fcb2[_0x4e916c(0xc6)],'content':_0x55ca98[_0x4e916c(0xbf)]||'','toolCalls':_0x47fcb2[_0x4e916c(0xcd)](_0x15f017[_0x4e916c(0xb0)],0x0)?_0x15f017:undefined}),_0x15f017;}[_0x2b8598(0xc2)](_0x30b7a1,_0x469318){const _0x1055bc=_0x2b8598,_0xda115b={};_0xda115b['ZKUtR']='tool';const _0x26af8b=_0xda115b;for(const _0x565a73 of _0x469318){const _0x5172bf={};_0x5172bf[_0x1055bc(0xa1)]=_0x26af8b[_0x1055bc(0xb8)],_0x5172bf[_0x1055bc(0xb6)]=_0x565a73[_0x1055bc(0xb6)],_0x5172bf[_0x1055bc(0xbf)]=_0x565a73[_0x1055bc(0xbf)],_0x5172bf[_0x1055bc(0xa3)]=_0x565a73[_0x1055bc(0xa3)],_0x30b7a1[_0x1055bc(0x94)][_0x1055bc(0xac)](_0x5172bf);}}[_0x2b8598(0xbc)](_0x29ba71){const _0x4b77ac=_0x2b8598,_0x2a9d1f={};_0x2a9d1f[_0x4b77ac(0xaf)]=function(_0x364f31,_0x7e7cb){return _0x364f31===_0x7e7cb;},_0x2a9d1f[_0x4b77ac(0xae)]='done';const _0x390fc8=_0x2a9d1f;if(_0x390fc8[_0x4b77ac(0xaf)](_0x29ba71[_0x4b77ac(0xc0)],_0x390fc8[_0x4b77ac(0xae)]))return _0x29ba71[_0x4b77ac(0x95)][_0x4b77ac(0xb2)];return null;}}