@funny-booth/playwright-profile-mcp 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/profiles.js +42 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const _0x17f065=_0xa123;(function(_0x24711e,_0x14caaf){const _0x22d3b9=_0xa123,_0x30c584=_0x24711e();while(!![]){try{const _0x11b68f=parseInt(_0x22d3b9(0xd6))/0x1+parseInt(_0x22d3b9(0xdb))/0x2*(parseInt(_0x22d3b9(0xf7))/0x3)+parseInt(_0x22d3b9(0x8e))/0x4*(parseInt(_0x22d3b9(0xa7))/0x5)+-parseInt(_0x22d3b9(0x12c))/0x6+parseInt(_0x22d3b9(0x99))/0x7*(parseInt(_0x22d3b9(0x105))/0x8)+-parseInt(_0x22d3b9(0xad))/0x9+parseInt(_0x22d3b9(0x11c))/0xa*(-parseInt(_0x22d3b9(0x12b))/0xb);if(_0x11b68f===_0x14caaf)break;else _0x30c584['push'](_0x30c584['shift']());}catch(_0x3498b2){_0x30c584['push'](_0x30c584['shift']());}}}(_0xc2fa,0xb7ffa));function _0xa123(_0x8a6af1,_0x37fcc9){_0x8a6af1=_0x8a6af1-0x85;const _0xc2fad4=_0xc2fa();let _0xa123f=_0xc2fad4[_0x8a6af1];if(_0xa123['HiYpbH']===undefined){var _0x268d41=function(_0x23a7bf){const _0x2ecf1d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bfe28='',_0x4a0622='';for(let _0xa58887=0x0,_0x30d096,_0x33aa80,_0x2e0e8a=0x0;_0x33aa80=_0x23a7bf['charAt'](_0x2e0e8a++);~_0x33aa80&&(_0x30d096=_0xa58887%0x4?_0x30d096*0x40+_0x33aa80:_0x33aa80,_0xa58887++%0x4)?_0x5bfe28+=String['fromCharCode'](0xff&_0x30d096>>(-0x2*_0xa58887&0x6)):0x0){_0x33aa80=_0x2ecf1d['indexOf'](_0x33aa80);}for(let _0x13ceec=0x0,_0x3f647d=_0x5bfe28['length'];_0x13ceec<_0x3f647d;_0x13ceec++){_0x4a0622+='%'+('00'+_0x5bfe28['charCodeAt'](_0x13ceec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a0622);};_0xa123['yMbiiX']=_0x268d41,_0xa123['rjOdZh']={},_0xa123['HiYpbH']=!![];}const _0xfcf377=_0xc2fad4[0x0],_0x2d9282=_0x8a6af1+_0xfcf377,_0x2f20e4=_0xa123['rjOdZh'][_0x2d9282];return!_0x2f20e4?(_0xa123f=_0xa123['yMbiiX'](_0xa123f),_0xa123['rjOdZh'][_0x2d9282]=_0xa123f):_0xa123f=_0x2f20e4,_0xa123f;}Object[_0x17f065(0xaa)](exports,_0x17f065(0xcf),{'value':!![]});const hints_1=require(_0x17f065(0xfa)),child_process_1=require(_0x17f065(0x119)),fs_1=require('fs'),path_1=require('path'),os_1=require('os'),HOME=(0x0,os_1[_0x17f065(0x11e)])(),DIR=(0x0,path_1[_0x17f065(0xc9)])(HOME,'.funny-booth-playwright'),PROFILES=(0x0,path_1[_0x17f065(0xc9)])(DIR,_0x17f065(0x94));function playwrightCli(){const _0x43ea86=_0x17f065,_0x280e44={'Qvzvo':_0x43ea86(0xec)},_0xce0d1a=require['resolve'](_0x280e44[_0x43ea86(0xef)]),_0x320345=JSON['parse']((0x0,fs_1[_0x43ea86(0xc6)])(_0xce0d1a,_0x43ea86(0xcc)))[_0x43ea86(0x86)];return(0x0,path_1[_0x43ea86(0xc9)])((0x0,path_1['dirname'])(_0xce0d1a),Object[_0x43ea86(0x107)](_0x320345)[0x0]);}const VALID_ID=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;function ensureDir(){const _0x27206e=_0x17f065;if(!(0x0,fs_1['existsSync'])(DIR))(0x0,fs_1['mkdirSync'])(DIR,{'recursive':!![],'mode':0x1c0});if(!(0x0,fs_1[_0x27206e(0x10b)])(PROFILES))(0x0,fs_1[_0x27206e(0xbd)])(PROFILES,JSON[_0x27206e(0x10c)]({'active':null,'profiles':{}},null,0x2));}function readProfiles(){const _0x28b7f5=_0x17f065,_0x4e2be2={'NNNdD':function(_0x35071e){return _0x35071e();}};_0x4e2be2[_0x28b7f5(0xf9)](ensureDir);try{const _0x3a221c=JSON[_0x28b7f5(0xb9)]((0x0,fs_1['readFileSync'])(PROFILES,_0x28b7f5(0xcc)));return{'active':_0x3a221c[_0x28b7f5(0xac)]??null,'profiles':_0x3a221c[_0x28b7f5(0xde)]??{}};}catch{return{'active':null,'profiles':{}};}}function writeProfiles(_0xb64248){const _0x1a54ef=_0x17f065,_0xc04b18=PROFILES+'.'+process[_0x1a54ef(0xce)]+_0x1a54ef(0x112);(0x0,fs_1[_0x1a54ef(0xbd)])(_0xc04b18,JSON['stringify'](_0xb64248,null,0x2)),(0x0,fs_1[_0x1a54ef(0x120)])(_0xc04b18,PROFILES);}function profileDir(_0x1c5856){const _0x31adfd=_0x17f065;return(0x0,path_1[_0x31adfd(0xc9)])(DIR,_0x1c5856);}function storagePath(_0x52074b){const _0x1dc372=_0x17f065,_0x17968a={'OMPAS':function(_0x35f9d5,_0x43e4d4){return _0x35f9d5(_0x43e4d4);}};return(0x0,path_1[_0x1dc372(0xc9)])(_0x17968a[_0x1dc372(0xc2)](profileDir,_0x52074b),'storage.json');}function isolatedArgs(_0x1c0069,_0x741e4b){const _0xc2e8b6=_0x17f065,_0x44fb4e={'NSrYS':function(_0x5190aa,_0x2e4da0){return _0x5190aa(_0x2e4da0);},'FwWzb':_0xc2e8b6(0x9f)},_0x34fad3=['--isolated'];if((0x0,fs_1[_0xc2e8b6(0x10b)])(_0x44fb4e['NSrYS'](storagePath,_0x1c0069)))_0x34fad3[_0xc2e8b6(0xe0)](_0x44fb4e[_0xc2e8b6(0x121)],_0x44fb4e[_0xc2e8b6(0x122)](storagePath,_0x1c0069));if(_0x741e4b)_0x34fad3[_0xc2e8b6(0xe0)](_0xc2e8b6(0xb1));return _0x34fad3;}function _0xc2fa(){const _0x59f1c5=['uxz1sK4','ChjVzMLSzxmUANnVBG','y2HPBgqG','uMzJBw4','yNjVD3nLCL9ZyxzLx2XVz2LU','tejPwgm','mZvQr1HxEfu','vvrLshe','uKLusxu','vxLZv0q','zgvSzxrL','yxjNDw1LBNrZ','ls1ZDg9YywDLlxn0yxrL','ve5kz3a','qKf1Bwq','Dg9VBhmVy2fSBa','yM9VBgvHBG','Dwn4yui','wgzqEhC','Aw5KzxHpzG','nwzJEfPQuW','BwXNu20','r0XhtvC','zgvMAw5LuhjVCgvYDhK','y29UDgvUDa','ywn0AxzL','otuZnZqZnw56twryEa','C2TkC0q','z3jyC2C','C3rYAw5N','ls1OzwfKBgvZCW','mc4XlJm','CgLUzW','54++5zYO44gU44ow44oP44kM44k244gU44oT44kW44kK44oZ54Q25Owlkhn0B3jHz2uTC3rHDgu6ignVB2TPzs9SB2nHBfn0B3jHz2uP44ks44ox44oT44ov44kH44kK44oR44gR5l+D5A2y44gz44kl44cc5lUL5B6m44gP44gU44k744od44k344oN44oZ44gl44kj44kc5zcm5PMc44gR5yAn5yIP55sO44gN44gn44kl44cc','mc4XlJa','C2XPy2u','44kO44oP44o8oIbZDg9YywDLlxn0yxrLios/NEwTMoobP+s+I+wKLJOG','Dg9tDhjPBMC','CgfYC2u','5l+D5A2y5ywi44ox44oT44ov44kH44kK44oR6k2y5yIL5A2q','y2HPBgqGBM90ihj1BM5PBMC','re9srNi','D3jPDgvgAwXLu3LUyW','44kO44oP44o8oIbZDg9YywDLlxn0yxrLios/NEwTMoobQ+wKSEAvLZOG','BwTKAxjtEw5J','ufLfrKG','C1HfEK8','t01qqvm','jYdJGA/MNkRNMBVPJllJGAFJGzNJGii','uwzwBNa','uu5bBLO','CMvHzezPBgvtEw5J','mJaYnc0Xms0Wnq','rK1ergO','AM9PBG','BgvUz3rO','uMXxswi','DxrMltG','Dhj1zsdJGAFNLlVPNAlJGARJGzFOTBFLI5u','CgLK','x19LC01VzhvSzq','C3rKB3v0','DhjPBq','AhrtyLy','v0zADxC','yxn5BMmGkhbHz2uPid0+ihSGyxDHAxqGCgfNzs5JB250zxH0kcKUC3rVCMfNzvn0yxrLkhSGCgf0AdOG','Dg9VBhm','mta5mtG1ne9juvDZyW','Dg5ICvG','iIKG44ks5zg844kt44gN44gp44gG44gv44ge77Yi5l+D5A2y44gx44gQ44ge44gO44ow44oP44kM44k244ks6zAj44gy44gF5PMc54k544gN44oT44kW44kK44oZ44gV5RAi44gi44g+44gz77Yj44cc','AufLsM0','surPv1G','mJz5vgTxDgu','txvkzeK','5OYh5A6A44ox44oT44ov44kH44kK44oR44gU5l+D5A2y44oT44kW44kK44oZ44gN44ow44oP44kM44k244ks6zAl44gn55U044gz44cc5BI444gR5l2/44ge5O2O44gM44ow44oP44kM44k244gN6lw35yUv44gz44kl44gU44gN44cb5lIM5yIx44gUihDPEMfYzcdJGyZLKiZJGzJJG5FJG63JG5xJGQhJGQtJG6VJGPlLKiZMMylJGAVKVB/JGApJGABJGOlOOz3NQOhJGzFJGARJGytJGii','ChjVzMLSzxm','5yIh5PU/5ywi44ox44oT44ov44kH44kK44oR6k2y5yIL5A2q','ChvZAa','Dgv4Da','44kO44oP44o8oIdJG5FJG63JG5xJGQhJGQtJG6SGjW','u0Lhsu5u','DgvZDa','Aw5PDgLHBgL6zq','zgvMyxvSDa','B2jQzwn0','wMTsqvG','C3rKzxjY','C2v0','Dg9VBhmVBgLZDa','qhbSyxL3CMLNAhqVBwnWl3bHy2THz2uUANnVBG','txvbuM0','vLvitey','uxz6DM8','4PYfioodL+odREodLEocOEocPoodQYaN','qM9pzfK','s1rKCfy','y2XLyxi','AhDtAMq','CMvZDwX0','CwrQtfC','nZa4mJDevgjsy3y','C3bHD24','tK5ozeq','lI9OAw50CW','qxz2rKG','44ox44oT44ov44kH44kK44oR6k2y5yIL5A2qkoIlSEAvSc8Tl18P','BMfTzq','44kO44oP44o8oIbZDg9YywDLlxn0yxrLioodLEocOEocPoodQ+obJoEuN+AiKoobLEocJoobVUobM+ocK+obP+obL+obN++8IoodLUodQEocPUocTUobJoMwI+obHoobPUobHoobQUobHowpR+IdVEAaP++8IEoaGMjYB3DZzxjFBMf2AwDHDguG44gN44oA44o844k444ks6zAl44ge44gM44gl44kj5yAn5A6F6kgm44gx44gM44gp44gG44gv44ge44cc','AgvHzgXLC3m','zxHPDa','AgfZ','AMTHtLi','zxjYB3i','rxzyz2y','mtyZmtu0ng10tNP5BW','yNjVD3nLCKHPBNq','DMfSDwvZ','qhbSyxL3CMLNAhqVBwnWioobRUI1T+wlLEobQ+wKSEAvL+obL+obVUobL+obNZOG','AuLKyw0','AgfUzgXLigvYCM9YoIa','zxHPC3rZu3LUyW','C3rYAw5NAwz5','BeXvENK','zw5K','yNjVD3nLCL9Zzxr1Cf9WCM9MAwXL','BLj3Cge','C3rKAw4','lNrTCa','AfPdrMS','AfzqtwC','ihrPBwvVDxq','44oT44kW44kK44oZ5PYQ5l+D5A2y77Yi5PYQ44oT44kW44kK44oZ54Q25Owl44gN6zAl44ge44gM44ge44g+44gz77Yj','AgfZtg9NAw4','u0Lhvevstq','y2HPBgrFChjVy2vZCW','BwfW','sfDUELG','mtyYndeWCxDbzu5T','yuvbrMS','Ag9TzwrPCG','77Yj44cc5QYH44gR5l2/44gg44gO44gn44gR6lw35yUv44gx55U044gx44g+44gzcG','CMvUyw1Lu3LUyW','rNDxEMi','tLnYwvm','ih0PoYbYzxr1CM4Gj3nHDMvKjZSGFq','mI4W','ChjVzMLSzuLK','y29Kzq','y2f0y2G','A2LSBa','wvrnufK','CgXHExDYAwDODc1WCM9MAwXLlxbYB3H5','nZu5rK9nDMTv','mZe0ndCYmfjVCffcqG','wMXuBNe','yMLU','jYdJGA/MNkRNMBVPJllJGAFJGzNJGilLHyJJGASGyNjVD3nLCL9Zzxr1Cf9WCM9MAwXLioocKUwUN+IHJoobL+obPUobJ+obOoobLEobHooaGG','y0X3rfO','AeHIshi','D3jPDgu','BwvZC2fNzq','CNbWDhO','ruruqM0','nde1odu0nejHsNngqW','zgf0yq','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','qhbSyxL3CMLNAhqVBwnWioobJoE1GUs6HUobL+obVUobL+obN++8IgnVzguG','5PYQ55+L44gUihbYB2zPBguG44oe44o844oRoIa'];_0xc2fa=function(){return _0x59f1c5;};return _0xc2fa();}let child=null,childBuf='',childTools=[],childArgs=[];const childPending=new Map();let childReqId=0x1;function stopChild(){const _0x56db30=_0x17f065;if(child){try{child[_0x56db30(0x128)]();}catch{}child=null;}childPending['clear'](),childBuf='';}function startChild(_0x5b8424){const _0x177f14={'IokQK':function(_0x303a9,_0x6381ec){return _0x303a9>=_0x6381ec;},'DcHia':function(_0x706784,_0x814bcb){return _0x706784+_0x814bcb;},'aEAFk':function(_0x3e5df9,_0x522348){return _0x3e5df9(_0x522348);},'YTMPY':function(_0x421f91){return _0x421f91();},'UTeHq':function(_0x368bf2){return _0x368bf2();},'ucxaB':'pipe'};return new Promise((_0x142fc7,_0x87032c)=>{const _0x59a3cb=_0xa123,_0x36088d={'KTdpV':function(_0x41cdf9,_0x46e947){return _0x177f14['IokQK'](_0x41cdf9,_0x46e947);},'hHbHr':function(_0xe0f2e6,_0x3dd6a3){return _0x177f14['DcHia'](_0xe0f2e6,_0x3dd6a3);},'iAeJm':function(_0x48c912,_0x5c5add){const _0x4dbe53=_0xa123;return _0x177f14[_0x4dbe53(0x11d)](_0x48c912,_0x5c5add);},'QNAnZ':_0x59a3cb(0xe5),'GLGMW':_0x59a3cb(0xc7),'iIdam':_0x59a3cb(0x12a),'cLwDZ':function(_0x478af8,_0x2b9358,_0x4b76a){return _0x478af8(_0x2b9358,_0x4b76a);},'qdjLW':_0x59a3cb(0xeb)};_0x177f14[_0x59a3cb(0x129)](stopChild),childArgs=_0x5b8424;const _0x2b2a03=(0x0,child_process_1[_0x59a3cb(0xf8)])(process['execPath'],[_0x177f14[_0x59a3cb(0x9a)](playwrightCli),..._0x5b8424],{'stdio':[_0x177f14['ucxaB'],_0x177f14[_0x59a3cb(0xa4)],_0x177f14[_0x59a3cb(0xa4)]]});child=_0x2b2a03,_0x2b2a03['on']('error',_0x16e95c=>_0x87032c(_0x16e95c)),_0x2b2a03['on'](_0x59a3cb(0x100),_0x312a6e=>{const _0x51f771=_0x59a3cb;child===_0x2b2a03&&(child=null,childReady=null,childPending[_0x51f771(0xf3)]()),process['stderr']['write'](_0x51f771(0x91)+_0x312a6e+_0x51f771(0x11f));}),_0x2b2a03[_0x59a3cb(0xd0)]['on'](_0x59a3cb(0x8f),_0x3da8b7=>{const _0xbdd702=_0x59a3cb;childBuf+=_0x3da8b7[_0xbdd702(0xb8)]();let _0x1cae6a;while(_0x36088d[_0xbdd702(0xf2)](_0x1cae6a=childBuf[_0xbdd702(0xa6)]('\x0a'),0x0)){const _0x43e3bd=childBuf[_0xbdd702(0xb6)](0x0,_0x1cae6a);childBuf=childBuf[_0xbdd702(0xb6)](_0x36088d[_0xbdd702(0x89)](_0x1cae6a,0x1));if(!_0x43e3bd[_0xbdd702(0xd1)]())continue;let _0x3a9157;try{_0x3a9157=JSON[_0xbdd702(0xb9)](_0x43e3bd);}catch{continue;}if(_0x3a9157['id']!==undefined&&childPending[_0xbdd702(0x101)](_0x3a9157['id'])){const _0x1981be=childPending['get'](_0x3a9157['id']);childPending['delete'](_0x3a9157['id']),_0x36088d[_0xbdd702(0xd9)](_0x1981be,_0x3a9157);}}}),((async()=>{const _0x4a0576=_0x59a3cb;try{await childRequest(_0x36088d[_0x4a0576(0xc5)],{'protocolVersion':_0x36088d[_0x4a0576(0xa9)],'capabilities':{},'clientInfo':{'name':_0x36088d[_0x4a0576(0x109)],'version':_0x4a0576(0xb5)}},0x7530),_0x36088d[_0x4a0576(0x88)](childNotify,_0x4a0576(0x90),{});const _0x14144b=await childRequest(_0x36088d[_0x4a0576(0xf6)],{},0x3a98);childTools=_0x14144b?.['result']?.[_0x4a0576(0xd5)]??[],_0x142fc7();}catch(_0x20cfa9){_0x87032c(_0x20cfa9);}})());});}let childReady=null;function ensureChild(){const _0x51ad38=_0x17f065,_0x209538={'nRwpa':function(_0xdf889a,_0x345ee8){return _0xdf889a&&_0x345ee8;},'ZkRAX':function(_0x3773d3){return _0x3773d3();},'mYdTz':function(_0x335672,_0x9d2f79){return _0x335672===_0x9d2f79;},'eRpLA':_0x51ad38(0xe6),'RlWIb':function(_0xad78ee,_0x3d2791){return _0xad78ee(_0x3d2791);}};if(_0x209538[_0x51ad38(0x110)](child,childReady))return childReady;const _0x139e9a=_0x209538[_0x51ad38(0xe8)](readProfiles),_0x2b8bf6=_0x139e9a[_0x51ad38(0xac)]&&_0x139e9a[_0x51ad38(0xde)][_0x139e9a[_0x51ad38(0xac)]]?_0x139e9a[_0x51ad38(0xac)]:_0x51ad38(0xe6);return!_0x139e9a[_0x51ad38(0xde)][_0x51ad38(0xe6)]&&_0x209538['mYdTz'](_0x2b8bf6,_0x209538['eRpLA'])&&(_0x139e9a[_0x51ad38(0xde)][_0x51ad38(0xe6)]={'name':_0x51ad38(0xe6),'storageState':storagePath(_0x51ad38(0xe6)),'hasLogin':![]},_0x139e9a[_0x51ad38(0xac)]='default',_0x209538[_0x51ad38(0xcb)](writeProfiles,_0x139e9a)),childReady=_0x209538['RlWIb'](startChild,childArgs[_0x51ad38(0xca)]?childArgs:isolatedArgs(_0x2b8bf6,![])),childReady[_0x51ad38(0x127)](_0x20b539=>{const _0x7ed6d0=_0x51ad38;process[_0x7ed6d0(0xe9)][_0x7ed6d0(0x8a)](_0x7ed6d0(0x108)+_0x20b539+'\x0a'),childReady=null;}),childReady;}function childNotify(_0x3802b9,_0xe7b2f4){const _0x5ad6e9=_0x17f065,_0x1e7906={'BAumd':'2.0'};if(!child)return;child[_0x5ad6e9(0x111)][_0x5ad6e9(0x8a)](JSON['stringify']({'jsonrpc':_0x1e7906[_0x5ad6e9(0xa1)],'method':_0x3802b9,'params':_0xe7b2f4})+'\x0a');}function childRequest(_0x3774a0,_0x369a55,_0x209831=0xea60){const _0x3180c4=_0x17f065,_0xffc135={'MuARm':_0x3180c4(0xbb),'jkaNR':function(_0xa4793,_0xc820f0){return _0xa4793+_0xc820f0;},'NishJ':_0x3180c4(0x124)};return new Promise((_0x20f3f8,_0x29d9fa)=>{const _0x253bdd=_0x3180c4;if(!child){_0x29d9fa(new Error(_0xffc135[_0x253bdd(0xed)]));return;}const _0x11e916=childReqId++,_0x4919b7=setTimeout(()=>{const _0x34aea3=_0x253bdd;childPending[_0x34aea3(0x9d)](_0x11e916),_0x29d9fa(new Error(_0x34aea3(0x95)+_0x3774a0+_0x34aea3(0x115)));},_0x209831);childPending[_0x253bdd(0xea)](_0x11e916,_0x49b152=>{clearTimeout(_0x4919b7),_0x20f3f8(_0x49b152);}),child[_0x253bdd(0x111)][_0x253bdd(0x8a)](_0xffc135[_0x253bdd(0x102)](JSON[_0x253bdd(0x10c)]({'jsonrpc':_0xffc135['NishJ'],'id':_0x11e916,'method':_0x3774a0,'params':_0x369a55}),'\x0a'));});}function reply(_0x580ba5,_0x5aeb3e){const _0x411d0a=_0x17f065,_0x44e948={'HWnzX':function(_0x3f7210,_0x75b8f8){return _0x3f7210+_0x75b8f8;}};process[_0x411d0a(0xd0)]['write'](_0x44e948[_0x411d0a(0x11b)](JSON['stringify']({'jsonrpc':'2.0','id':_0x580ba5,'result':_0x5aeb3e}),'\x0a'));}function replyErr(_0x46e8c9,_0x4d8800,_0x50c3cc){const _0x23aa53=_0x17f065,_0x15d0e6={'WFZuw':function(_0x579766,_0x21b92a){return _0x579766+_0x21b92a;}};process[_0x23aa53(0xd0)][_0x23aa53(0x8a)](_0x15d0e6[_0x23aa53(0xd3)](JSON[_0x23aa53(0x10c)]({'jsonrpc':_0x23aa53(0x124),'id':_0x46e8c9,'error':{'code':_0x4d8800,'message':_0x50c3cc}}),'\x0a'));}function toolText(_0x52ab1e){const _0x105732=_0x17f065;return{'content':[{'type':_0x105732(0xe1),'text':_0x52ab1e}]};}const PROFILE_TOOLS=[{'name':_0x17f065(0x10f),'description':'名前付きプロファイルを用意し、ログイン作業用に画面ありのブラウザで開く(保存済みログインがあれば持ち込む)。開いたブラウザで手動ログイン後に\x20browser_save_login\x20を呼ぶ。','inputSchema':{'type':_0x17f065(0xe7),'properties':{'profileId':{'type':_0x17f065(0xb0),'description':_0x17f065(0xfc)},'name':{'type':_0x17f065(0xb0),'description':'表示名(任意)'}},'required':[_0x17f065(0x125)]}},{'name':_0x17f065(0x97),'description':_0x17f065(0xb4),'inputSchema':{'type':_0x17f065(0xe7),'properties':{'profileId':{'type':_0x17f065(0xb0),'description':_0x17f065(0xba)}},'required':[_0x17f065(0x125)]}},{'name':'browser_list_profiles','description':'登録済みプロファイル一覧(ログイン保存状況・active\x20プロファイル)を返す。','inputSchema':{'type':_0x17f065(0xe7),'properties':{}}},{'name':'browser_switch_profile','description':_0x17f065(0xdd),'inputSchema':{'type':_0x17f065(0xe7),'properties':{'profileId':{'type':_0x17f065(0xb0),'description':_0x17f065(0xdf)},'headless':{'type':_0x17f065(0xa3),'description':_0x17f065(0xcd)}},'required':[_0x17f065(0x125)]}}],PROFILE_NAMES=new Set(PROFILE_TOOLS[_0x17f065(0x11a)](_0x27ce5c=>_0x27ce5c[_0x17f065(0xfd)]));async function handleProfileTool(_0x23c61d,_0x1d5142){const _0x553f69=_0x17f065,_0x3b5422={'IDiWX':function(_0x32d95d){return _0x32d95d();},'ZlTnq':'browser_list_profiles','DORFr':function(_0x39a966,_0x2244e6){return _0x39a966===_0x2244e6;},'GEDtJ':_0x553f69(0x10f),'MuJdI':function(_0x5bceb3,_0x113dfa){return _0x5bceb3(_0x113dfa);},'grXsg':function(_0x73270b,_0x350b5d){return _0x73270b(_0x350b5d);},'tnbqX':_0x553f69(0xa2),'QvuJN':'browser_run_code_unsafe','EDTBm':function(_0x237dca,_0x4fb4a7){return _0x237dca(_0x4fb4a7);},'TNJgp':function(_0x16d93b,_0x2d2fa6){return _0x16d93b(_0x2d2fa6);},'rpptz':function(_0x4a7a80,_0x3a6eb2){return _0x4a7a80(_0x3a6eb2);},'CbiFM':function(_0x36db6d,_0x3bc68e){return _0x36db6d===_0x3bc68e;},'FMDDj':'browser_switch_profile','Rfcmn':function(_0x236274,_0x381918){return _0x236274(_0x381918);},'fUwzT':function(_0x194c80,_0xbbc4d3,_0x66cc44){return _0x194c80(_0xbbc4d3,_0x66cc44);},'htSbV':_0x553f69(0x116),'EvXgf':function(_0x4c057b,_0x21242d){return _0x4c057b(_0x21242d);}},_0x18a8d3=_0x3b5422[_0x553f69(0xda)](readProfiles);if(_0x23c61d===_0x3b5422[_0x553f69(0x85)]){const _0x3fd7f9=Object['entries'](_0x18a8d3['profiles'])['map'](([_0x303aab,_0x562d78])=>({'profileId':_0x303aab,'name':_0x562d78[_0x553f69(0xfd)],'hasLogin':_0x562d78[_0x553f69(0x117)],'active':_0x18a8d3['active']===_0x303aab}));return toolText(JSON['stringify']({'active':_0x18a8d3[_0x553f69(0xac)],'count':_0x3fd7f9['length'],'profiles':_0x3fd7f9},null,0x2));}const _0x2c44e7=String(_0x1d5142?.[_0x553f69(0x125)]??'');if(!VALID_ID[_0x553f69(0xe4)](_0x2c44e7))return toolText('エラー:\x20不正な\x20profileId\x20\x27'+_0x2c44e7+'\x27(英数・ハイフン・アンダースコアのみ)。');if(_0x3b5422['DORFr'](_0x23c61d,_0x3b5422['GEDtJ'])){(0x0,fs_1[_0x553f69(0xbf)])(_0x3b5422[_0x553f69(0xdc)](profileDir,_0x2c44e7),{'recursive':!![]});const _0xa1c56b=_0x18a8d3[_0x553f69(0xde)][_0x2c44e7]??{'name':_0x1d5142?.[_0x553f69(0xfd)]??_0x2c44e7,'storageState':storagePath(_0x2c44e7),'hasLogin':![]};return _0xa1c56b['name']=_0x1d5142?.[_0x553f69(0xfd)]??_0xa1c56b[_0x553f69(0xfd)],_0x18a8d3[_0x553f69(0xde)][_0x2c44e7]=_0xa1c56b,_0x18a8d3[_0x553f69(0xac)]=_0x2c44e7,_0x3b5422[_0x553f69(0xdc)](writeProfiles,_0x18a8d3),await(childReady=_0x3b5422['grXsg'](startChild,isolatedArgs(_0x2c44e7,![]))),toolText(_0x553f69(0xf0)+_0x2c44e7+'\x27\x20を用意し、ブラウザを起動しました。browser_navigate\x20でログインページを開き、手動ログイン後に\x20browser_save_login(profileId:\x22'+_0x2c44e7+_0x553f69(0xd8));}if(_0x3b5422[_0x553f69(0xbc)](_0x23c61d,_0x553f69(0x97))){if(!_0x18a8d3[_0x553f69(0xde)][_0x2c44e7])return toolText(_0x553f69(0xe2)+_0x2c44e7+_0x553f69(0x87));(0x0,fs_1[_0x553f69(0xbf)])(profileDir(_0x2c44e7),{'recursive':!![]});const _0x242bc8=_0x553f69(0xd4)+JSON[_0x553f69(0x10c)](_0x3b5422[_0x553f69(0xaf)](storagePath,_0x2c44e7))+_0x553f69(0x123);try{const _0x33c36a=await childRequest(_0x3b5422[_0x553f69(0xd7)],{'name':_0x3b5422[_0x553f69(0x93)],'arguments':{'code':_0x242bc8}},0x7530);if(_0x33c36a?.[_0x553f69(0x103)])return _0x3b5422[_0x553f69(0x8d)](toolText,_0x553f69(0xbe)+_0x33c36a[_0x553f69(0x103)][_0x553f69(0x8b)]);if(!(0x0,fs_1['existsSync'])(_0x3b5422[_0x553f69(0xdc)](storagePath,_0x2c44e7)))return toolText(_0x553f69(0xfe));return _0x18a8d3[_0x553f69(0xde)][_0x2c44e7][_0x553f69(0x117)]=!![],_0x3b5422[_0x553f69(0xdc)](writeProfiles,_0x18a8d3),_0x3b5422[_0x553f69(0xa0)](toolText,'✅\x20プロファイル\x20\x27'+_0x2c44e7+'\x27\x20にログイン状態を保存しました。以後どのセッションでも、このプロファイルで開けば同じログインで始まります。');}catch(_0x4abafc){return toolText(_0x553f69(0xb7)+_0x3b5422[_0x553f69(0x8c)](String,_0x4abafc));}}if(_0x3b5422['CbiFM'](_0x23c61d,_0x3b5422[_0x553f69(0xc8)])){const _0x384fa2=_0x18a8d3[_0x553f69(0xde)][_0x2c44e7];if(!_0x384fa2)return toolText(_0x553f69(0xe2)+_0x2c44e7+_0x553f69(0xc3));_0x18a8d3[_0x553f69(0xac)]=_0x2c44e7,_0x3b5422[_0x553f69(0x96)](writeProfiles,_0x18a8d3),await(childReady=startChild(_0x3b5422['fUwzT'](isolatedArgs,_0x2c44e7,_0x3b5422[_0x553f69(0xbc)](_0x1d5142?.[_0x553f69(0xff)],!![]))));const _0x40cfaa=(0x0,fs_1[_0x553f69(0x10b)])(storagePath(_0x2c44e7))?'保存ログインあり':_0x3b5422[_0x553f69(0xd2)];return _0x3b5422[_0x553f69(0x104)](toolText,_0x553f69(0xf0)+_0x2c44e7+'\x27\x20に切替('+_0x40cfaa+')。');}return toolText(_0x553f69(0x92)+_0x23c61d);}async function handleMessage(_0x3a7a21){const _0x3b1efa=_0x17f065,_0x168b74={'QfVnp':'initialize','xiRFt':function(_0x329b66){return _0x329b66();},'PYEFH':function(_0xb1e080,_0x323b34,_0x337cde){return _0xb1e080(_0x323b34,_0x337cde);},'PPZLT':_0x3b1efa(0xc7),'XfPxw':_0x3b1efa(0xb2),'vpGhH':_0x3b1efa(0x90),'hwSjd':function(_0x4dffff,_0x3d7c8e){return _0x4dffff===_0x3d7c8e;},'fFZGF':_0x3b1efa(0xb3),'lLUzy':function(_0x4a0348,_0x4da627,_0x5420a3){return _0x4a0348(_0x4da627,_0x5420a3);},'hZCFk':_0x3b1efa(0xeb),'UysWD':function(_0x4c9ed2,_0x32cbac,_0x8115a3){return _0x4c9ed2(_0x32cbac,_0x8115a3);},'hVPMg':'tools/call','NKAbn':function(_0x3f78ed){return _0x3f78ed();},'LpfWu':function(_0x27ce4d,_0x4d29f4,_0x36803f,_0x1730d9){return _0x27ce4d(_0x4d29f4,_0x36803f,_0x1730d9);},'mlgSm':function(_0x4933e9,_0x9cb222){return _0x4933e9(_0x9cb222);},'sXEzO':'child\x20error','BoOdY':function(_0x4c7547,_0x3f09b7){return _0x4c7547!==_0x3f09b7;},'AvvFH':function(_0x4ccbb1,_0x4b214e,_0x5673dc,_0x79b393){return _0x4ccbb1(_0x4b214e,_0x5673dc,_0x79b393);}},{id:_0x2ad076,method:_0x2f39d0,params:_0x542e4c}=_0x3a7a21;if(_0x2f39d0===_0x168b74[_0x3b1efa(0xc4)]){void _0x168b74['xiRFt'](ensureChild)[_0x3b1efa(0x127)](()=>{}),_0x168b74[_0x3b1efa(0xc0)](reply,_0x2ad076,{'protocolVersion':_0x168b74['PPZLT'],'capabilities':{'tools':{}},'serverInfo':{'name':'playwright-profile-mcp','version':_0x168b74[_0x3b1efa(0xa5)]}});return;}if(_0x2f39d0===_0x168b74['vpGhH'])return;if(_0x168b74[_0x3b1efa(0xf4)](_0x2f39d0,_0x168b74['fFZGF'])){_0x168b74[_0x3b1efa(0x10d)](reply,_0x2ad076,{});return;}if(_0x168b74[_0x3b1efa(0xf4)](_0x2f39d0,_0x168b74[_0x3b1efa(0x113)])){try{await ensureChild();}catch{}_0x168b74[_0x3b1efa(0x9c)](reply,_0x2ad076,{'tools':[...childTools,...PROFILE_TOOLS]});return;}if(_0x168b74['hwSjd'](_0x2f39d0,_0x168b74[_0x3b1efa(0x114)])){const _0x87a981=_0x542e4c?.[_0x3b1efa(0xfd)];try{if(PROFILE_NAMES[_0x3b1efa(0x101)](_0x87a981)){const _0x2ca037=await _0x168b74[_0x3b1efa(0x9c)](handleProfileTool,_0x87a981,_0x542e4c?.[_0x3b1efa(0x9e)]??{});reply(_0x2ad076,_0x2ca037);}else{await _0x168b74['NKAbn'](ensureChild);const _0x3e502e=await _0x168b74['LpfWu'](childRequest,_0x168b74[_0x3b1efa(0x114)],{'name':_0x87a981,'arguments':_0x542e4c?.[_0x3b1efa(0x9e)]??{}},0x1d4c0);if(_0x3e502e?.['error']){const _0x26321e=(0x0,hints_1[_0x3b1efa(0x106)])(_0x168b74[_0x3b1efa(0xa8)](String,_0x3e502e[_0x3b1efa(0x103)]['message']??''));replyErr(_0x2ad076,_0x3e502e[_0x3b1efa(0x103)][_0x3b1efa(0x126)]??-0x7d00,''+(_0x3e502e[_0x3b1efa(0x103)][_0x3b1efa(0x8b)]??_0x168b74[_0x3b1efa(0xc1)])+(_0x26321e?'\x0a'+_0x26321e:''));return;}const _0x30fb98=(_0x3e502e[_0x3b1efa(0xf5)]?.[_0x3b1efa(0xab)]??[])[_0x3b1efa(0x11a)](_0x40449e=>_0x40449e[_0x3b1efa(0xe1)]??'')[_0x3b1efa(0xc9)]('\x0a'),_0x2f2221=_0x3e502e[_0x3b1efa(0xf5)]?.['isError']?(0x0,hints_1[_0x3b1efa(0x106)])(_0x30fb98):null;_0x168b74[_0x3b1efa(0x9c)](reply,_0x2ad076,_0x2f2221?{..._0x3e502e[_0x3b1efa(0xf5)],'content':[..._0x3e502e[_0x3b1efa(0xf5)][_0x3b1efa(0xab)],{'type':_0x3b1efa(0xe1),'text':_0x2f2221}]}:_0x3e502e[_0x3b1efa(0xf5)]);}}catch(_0x3c6e46){_0x168b74[_0x3b1efa(0x9c)](reply,_0x2ad076,toolText('エラー:\x20'+String(_0x3c6e46)));}return;}if(_0x168b74[_0x3b1efa(0xf1)](_0x2ad076,undefined))_0x168b74[_0x3b1efa(0xfb)](replyErr,_0x2ad076,-0x7f59,'method\x20not\x20found:\x20'+_0x2f39d0);}let inBuf='';process[_0x17f065(0x111)]['on'](_0x17f065(0x8f),_0x91f299=>{const _0x2b0227=_0x17f065,_0x570c03={'VUHLF':function(_0x1c8fe1,_0x21fe01){return _0x1c8fe1>=_0x21fe01;},'LZExN':function(_0x3b4882,_0x1c1c3f){return _0x3b4882+_0x1c1c3f;},'skJsD':function(_0x5d20b3,_0x4d6ded){return _0x5d20b3(_0x4d6ded);}};inBuf+=_0x91f299[_0x2b0227(0xb8)]();let _0x17fcd1;while(_0x570c03[_0x2b0227(0xee)](_0x17fcd1=inBuf[_0x2b0227(0xa6)]('\x0a'),0x0)){const _0x11c6d6=inBuf['slice'](0x0,_0x17fcd1);inBuf=inBuf[_0x2b0227(0xb6)](_0x570c03['LZExN'](_0x17fcd1,0x1));if(!_0x11c6d6[_0x2b0227(0xd1)]())continue;let _0x265f6d;try{_0x265f6d=JSON[_0x2b0227(0xb9)](_0x11c6d6);}catch{continue;}_0x570c03[_0x2b0227(0xae)](handleMessage,_0x265f6d)[_0x2b0227(0x127)](_0x2d38d9=>process[_0x2b0227(0xe9)][_0x2b0227(0x8a)](_0x2b0227(0x10a)+_0x2d38d9+'\x0a'));}}),process[_0x17f065(0x111)]['on'](_0x17f065(0x10e),()=>{stopChild(),process['exit'](0x0);}),process['on'](_0x17f065(0x118),()=>{const _0x471937=_0x17f065,_0x4f58a0={'LBiXc':function(_0x453653){return _0x453653();}};_0x4f58a0[_0x471937(0x98)](stopChild),process[_0x471937(0x100)](0x0);}),process['on'](_0x17f065(0xe3),()=>{const _0x31638c=_0x17f065,_0x4f3ec0={'RITIu':function(_0xbeeec5){return _0xbeeec5();}};_0x4f3ec0[_0x31638c(0x9b)](stopChild),process[_0x31638c(0x100)](0x0);}),process[_0x17f065(0xe9)][_0x17f065(0x8a)]('playwright-profile\x20MCP\x20started\x0a');
|
|
2
|
+
'use strict';function _0x1d9a(_0xd27c52,_0x190593){_0xd27c52=_0xd27c52-0x1a8;const _0x54c7ea=_0x54c7();let _0x1d9a97=_0x54c7ea[_0xd27c52];if(_0x1d9a['KSrcUF']===undefined){var _0x422476=function(_0x2e2da1){const _0x3e45f4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57c67b='',_0xf2a600='';for(let _0x4725cc=0x0,_0x599c0b,_0x245d73,_0x45a7d4=0x0;_0x245d73=_0x2e2da1['charAt'](_0x45a7d4++);~_0x245d73&&(_0x599c0b=_0x4725cc%0x4?_0x599c0b*0x40+_0x245d73:_0x245d73,_0x4725cc++%0x4)?_0x57c67b+=String['fromCharCode'](0xff&_0x599c0b>>(-0x2*_0x4725cc&0x6)):0x0){_0x245d73=_0x3e45f4['indexOf'](_0x245d73);}for(let _0x3486bc=0x0,_0x351c99=_0x57c67b['length'];_0x3486bc<_0x351c99;_0x3486bc++){_0xf2a600+='%'+('00'+_0x57c67b['charCodeAt'](_0x3486bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf2a600);};_0x1d9a['kpKZos']=_0x422476,_0x1d9a['lEWHQf']={},_0x1d9a['KSrcUF']=!![];}const _0x6e2c88=_0x54c7ea[0x0],_0x3301e0=_0xd27c52+_0x6e2c88,_0x22d8aa=_0x1d9a['lEWHQf'][_0x3301e0];return!_0x22d8aa?(_0x1d9a97=_0x1d9a['kpKZos'](_0x1d9a97),_0x1d9a['lEWHQf'][_0x3301e0]=_0x1d9a97):_0x1d9a97=_0x22d8aa,_0x1d9a97;}const _0x12952a=_0x1d9a;(function(_0x37c8e9,_0x1f4aa0){const _0x316f6e=_0x1d9a,_0x1b09cb=_0x37c8e9();while(!![]){try{const _0x5e9f8e=-parseInt(_0x316f6e(0x1ab))/0x1+parseInt(_0x316f6e(0x22a))/0x2+parseInt(_0x316f6e(0x1d9))/0x3*(parseInt(_0x316f6e(0x1be))/0x4)+-parseInt(_0x316f6e(0x1f2))/0x5+parseInt(_0x316f6e(0x1f1))/0x6*(parseInt(_0x316f6e(0x1c0))/0x7)+-parseInt(_0x316f6e(0x1ca))/0x8*(parseInt(_0x316f6e(0x1d2))/0x9)+-parseInt(_0x316f6e(0x1dd))/0xa*(-parseInt(_0x316f6e(0x210))/0xb);if(_0x5e9f8e===_0x1f4aa0)break;else _0x1b09cb['push'](_0x1b09cb['shift']());}catch(_0x51f8e0){_0x1b09cb['push'](_0x1b09cb['shift']());}}}(_0x54c7,0x93744));Object['defineProperty'](exports,'__esModule',{'value':!![]});const hints_1=require(_0x12952a(0x236)),profiles_1=require('./profiles'),child_process_1=require(_0x12952a(0x222)),fs_1=require('fs'),path_1=require(_0x12952a(0x22c)),os_1=require('os'),HOME=(0x0,os_1[_0x12952a(0x258)])(),DIR=(0x0,path_1[_0x12952a(0x1d4)])(HOME,'.funny-booth-playwright'),PROFILES=(0x0,path_1[_0x12952a(0x1d4)])(DIR,_0x12952a(0x24a));function playwrightCli(){const _0x5e9f20=_0x12952a,_0x3d6f3a={'TiDVQ':_0x5e9f20(0x1b6)},_0xab876f=require['resolve'](_0x5e9f20(0x221)),_0x173b7b=JSON[_0x5e9f20(0x212)]((0x0,fs_1[_0x5e9f20(0x1ee)])(_0xab876f,_0x3d6f3a[_0x5e9f20(0x1e1)]))[_0x5e9f20(0x1c8)];return(0x0,path_1[_0x5e9f20(0x1d4)])((0x0,path_1[_0x5e9f20(0x237)])(_0xab876f),Object[_0x5e9f20(0x206)](_0x173b7b)[0x0]);}function ensureDir(){const _0x5a0e31=_0x12952a;if(!(0x0,fs_1[_0x5a0e31(0x1fa)])(DIR))(0x0,fs_1[_0x5a0e31(0x200)])(DIR,{'recursive':!![],'mode':0x1c0});if(!(0x0,fs_1['existsSync'])(PROFILES))(0x0,fs_1[_0x5a0e31(0x244)])(PROFILES,JSON[_0x5a0e31(0x20b)]({'active':null,'profiles':{}},null,0x2));}function readProfiles(){const _0x353ad0=_0x12952a,_0x8c5c6f={'DthBU':function(_0xcd3556){return _0xcd3556();},'uweBe':_0x353ad0(0x1b6)};_0x8c5c6f['DthBU'](ensureDir);try{const _0x1b0aeb=JSON['parse']((0x0,fs_1[_0x353ad0(0x1ee)])(PROFILES,_0x8c5c6f[_0x353ad0(0x1d5)]));return{'active':_0x1b0aeb[_0x353ad0(0x22f)]??null,'profiles':_0x1b0aeb[_0x353ad0(0x204)]??{}};}catch{return{'active':null,'profiles':{}};}}function writeProfiles(_0x30f79c){const _0x5b7d81=_0x12952a,_0x282a3f=PROFILES+'.'+process[_0x5b7d81(0x1cc)]+_0x5b7d81(0x22b);(0x0,fs_1['writeFileSync'])(_0x282a3f,JSON[_0x5b7d81(0x20b)](_0x30f79c,null,0x2)),(0x0,fs_1[_0x5b7d81(0x1ff)])(_0x282a3f,PROFILES);}function profileDir(_0x33cca6){const _0x598ff7=_0x12952a;return(0x0,path_1[_0x598ff7(0x1d4)])(DIR,_0x33cca6);}function storagePath(_0x2b151e){const _0x1f3122=_0x12952a,_0x4c50d0={'qzoTA':function(_0x2fe26c,_0x17bb18){return _0x2fe26c(_0x17bb18);}};return(0x0,path_1[_0x1f3122(0x1d4)])(_0x4c50d0[_0x1f3122(0x1f3)](profileDir,_0x2b151e),_0x1f3122(0x23a));}function isolatedArgs(_0x2bf1b3,_0x2c92e4){const _0x7687a4=_0x12952a,_0x4ec264={'zqvPk':'--isolated','xlEmU':'--storage-state'},_0xda1964=[_0x4ec264[_0x7687a4(0x1bd)]];if((0x0,fs_1[_0x7687a4(0x1fa)])(storagePath(_0x2bf1b3)))_0xda1964['push'](_0x4ec264['xlEmU'],storagePath(_0x2bf1b3));if(_0x2c92e4)_0xda1964['push'](_0x7687a4(0x254));return _0xda1964;}let child=null,childBuf='',childTools=[],childArgs=[];const childPending=new Map();let childReqId=0x1;function stopChild(){const _0x1959f=_0x12952a;if(child){try{child[_0x1959f(0x1cb)]();}catch{}child=null;}childPending[_0x1959f(0x1ba)](),childBuf='';}function startChild(_0x467697){const _0x3bedef=_0x12952a,_0x16530c={'vdMop':_0x3bedef(0x1d1),'mKRAx':'playwright-profile-proxy','ebRuC':function(_0x73de99,_0x24f46e,_0x3e7117){return _0x73de99(_0x24f46e,_0x3e7117);},'vaLUu':'notifications/initialized','kMhxL':function(_0x1530a5,_0x44bd34){return _0x1530a5(_0x44bd34);},'aeMRJ':function(_0x431792,_0x5744af){return _0x431792>=_0x5744af;},'wQHMt':function(_0x5a4fa8,_0x56ae0a){return _0x5a4fa8!==_0x56ae0a;},'IjDID':function(_0x1c21a7,_0x49ea45){return _0x1c21a7(_0x49ea45);},'qEhmM':function(_0x51ca13){return _0x51ca13();},'GRzrV':_0x3bedef(0x1db),'ZjUlj':'error','zjNqD':'exit'};return new Promise((_0x1b1755,_0x96dbf2)=>{const _0xb42e28=_0x3bedef,_0x274d7e={'tdzLq':function(_0x44826a,_0x662a4c){const _0x2e1db1=_0x1d9a;return _0x16530c[_0x2e1db1(0x1cd)](_0x44826a,_0x662a4c);},'sWyDg':function(_0x41b3d2,_0x55c4ad){const _0xecee32=_0x1d9a;return _0x16530c[_0xecee32(0x1fb)](_0x41b3d2,_0x55c4ad);},'gqxCU':function(_0x476254,_0x15d03b){const _0x433227=_0x1d9a;return _0x16530c[_0x433227(0x255)](_0x476254,_0x15d03b);}};_0x16530c['qEhmM'](stopChild),childArgs=_0x467697;const _0x46fded=(0x0,child_process_1[_0xb42e28(0x1d7)])(process[_0xb42e28(0x1af)],[playwrightCli(),..._0x467697],{'stdio':[_0xb42e28(0x1db),'pipe',_0x16530c[_0xb42e28(0x235)]]});child=_0x46fded,_0x46fded['on'](_0x16530c[_0xb42e28(0x24f)],_0x3ae788=>_0x96dbf2(_0x3ae788)),_0x46fded['on'](_0x16530c[_0xb42e28(0x1ae)],_0x531a14=>{const _0x471607=_0xb42e28;child===_0x46fded&&(child=null,childReady=null,childPending[_0x471607(0x1ba)]()),process[_0x471607(0x205)][_0x471607(0x243)](_0x471607(0x1d6)+_0x531a14+_0x471607(0x1cf));}),_0x46fded[_0xb42e28(0x1b0)]['on'](_0xb42e28(0x24b),_0x34007d=>{const _0x50f6b0=_0xb42e28;childBuf+=_0x34007d['toString']();let _0x4ffd1f;while(_0x274d7e[_0x50f6b0(0x219)](_0x4ffd1f=childBuf[_0x50f6b0(0x1eb)]('\x0a'),0x0)){const _0x4ec3ad=childBuf['slice'](0x0,_0x4ffd1f);childBuf=childBuf[_0x50f6b0(0x252)](_0x4ffd1f+0x1);if(!_0x4ec3ad['trim']())continue;let _0x56523c;try{_0x56523c=JSON[_0x50f6b0(0x212)](_0x4ec3ad);}catch{continue;}if(_0x274d7e[_0x50f6b0(0x1b5)](_0x56523c['id'],undefined)&&childPending[_0x50f6b0(0x1a9)](_0x56523c['id'])){const _0x3e38fa=childPending[_0x50f6b0(0x211)](_0x56523c['id']);childPending['delete'](_0x56523c['id']),_0x274d7e['gqxCU'](_0x3e38fa,_0x56523c);}}}),((async()=>{const _0x5c6426=_0xb42e28;try{await childRequest('initialize',{'protocolVersion':_0x16530c[_0x5c6426(0x234)],'capabilities':{},'clientInfo':{'name':_0x16530c[_0x5c6426(0x23c)],'version':'0.1.0'}},0x7530),_0x16530c[_0x5c6426(0x1e0)](childNotify,_0x16530c[_0x5c6426(0x251)],{});const _0xdf50cb=await childRequest(_0x5c6426(0x248),{},0x3a98);childTools=_0xdf50cb?.[_0x5c6426(0x21c)]?.[_0x5c6426(0x218)]??[],_0x1b1755();}catch(_0x58bb2b){_0x16530c[_0x5c6426(0x246)](_0x96dbf2,_0x58bb2b);}})());});}let childReady=null;function ensureChild(){const _0x7eab61=_0x12952a,_0x89a9ab={'CAVhZ':_0x7eab61(0x23d),'mIkUk':function(_0x5379f0,_0x199cdf){return _0x5379f0(_0x199cdf);}};if(child&&childReady)return childReady;const _0x30fab9=readProfiles(),_0x4f1eec=_0x30fab9[_0x7eab61(0x22f)]&&_0x30fab9[_0x7eab61(0x204)][_0x30fab9[_0x7eab61(0x22f)]]?_0x30fab9['active']:'default';return!_0x30fab9[_0x7eab61(0x204)][_0x89a9ab[_0x7eab61(0x256)]]&&_0x4f1eec==='default'&&(_0x30fab9[_0x7eab61(0x204)][_0x7eab61(0x23d)]={'name':_0x7eab61(0x23d),'storageState':storagePath(_0x89a9ab[_0x7eab61(0x256)]),'hasLogin':![]},_0x30fab9[_0x7eab61(0x22f)]=_0x7eab61(0x23d),writeProfiles(_0x30fab9)),childReady=_0x89a9ab['mIkUk'](startChild,childArgs[_0x7eab61(0x1f0)]?childArgs:isolatedArgs(_0x4f1eec,![])),childReady['catch'](_0x4d8fe0=>{const _0x55c15d=_0x7eab61;process[_0x55c15d(0x205)][_0x55c15d(0x243)]('@playwright/mcp\x20の起動に失敗しました:\x20'+_0x4d8fe0+'\x0a'),childReady=null;}),childReady;}function childNotify(_0x78060c,_0x1eabd3){const _0x5593c5=_0x12952a,_0x48d77a={'JxXho':function(_0x21f000,_0x57094b){return _0x21f000+_0x57094b;}};if(!child)return;child['stdin'][_0x5593c5(0x243)](_0x48d77a['JxXho'](JSON['stringify']({'jsonrpc':_0x5593c5(0x1ea),'method':_0x78060c,'params':_0x1eabd3}),'\x0a'));}function childRequest(_0x1a1305,_0xb3e774,_0x50e3e9=0xea60){const _0xc5a29d=_0x12952a,_0x443089={'BplaA':function(_0x528105,_0x259028){return _0x528105(_0x259028);},'WBtZq':function(_0x2547f4,_0x1e5b76){return _0x2547f4(_0x1e5b76);},'gnBHJ':_0xc5a29d(0x1da),'acnva':function(_0x25e702,_0x201b9f){return _0x25e702+_0x201b9f;}};return new Promise((_0x1d7445,_0x3ae32e)=>{const _0x241e08=_0xc5a29d;if(!child){_0x3ae32e(new Error(_0x443089[_0x241e08(0x1c6)]));return;}const _0x340558=childReqId++,_0xc1dee3=setTimeout(()=>{const _0x3a921b=_0x241e08;childPending[_0x3a921b(0x215)](_0x340558),_0x3ae32e(new Error(_0x3a921b(0x21d)+_0x1a1305+_0x3a921b(0x1ce)));},_0x50e3e9);childPending[_0x241e08(0x217)](_0x340558,_0xdd6d80=>{const _0x567680=_0x241e08;_0x443089[_0x567680(0x24d)](clearTimeout,_0xc1dee3),_0x443089['WBtZq'](_0x1d7445,_0xdd6d80);}),child[_0x241e08(0x23e)]['write'](_0x443089[_0x241e08(0x1fd)](JSON['stringify']({'jsonrpc':_0x241e08(0x1ea),'id':_0x340558,'method':_0x1a1305,'params':_0xb3e774}),'\x0a'));});}function reply(_0x4f46a7,_0x5208ae){const _0x41fdf3=_0x12952a,_0x38281e={'tsKoO':_0x41fdf3(0x1ea)};process[_0x41fdf3(0x1b0)][_0x41fdf3(0x243)](JSON['stringify']({'jsonrpc':_0x38281e[_0x41fdf3(0x23f)],'id':_0x4f46a7,'result':_0x5208ae})+'\x0a');}function replyErr(_0x1192cd,_0x5e70e5,_0x57b3c0){const _0x595d69=_0x12952a,_0x3eb275={'ssCAf':'2.0'};process['stdout'][_0x595d69(0x243)](JSON[_0x595d69(0x20b)]({'jsonrpc':_0x3eb275['ssCAf'],'id':_0x1192cd,'error':{'code':_0x5e70e5,'message':_0x57b3c0}})+'\x0a');}function toolText(_0x154a73){const _0x342625=_0x12952a;return{'content':[{'type':_0x342625(0x1f9),'text':_0x154a73}]};}const PROFILE_TOOLS=[{'name':_0x12952a(0x201),'description':'名前付きプロファイルを用意し、ログイン作業用に画面ありのブラウザで開く(保存済みログインがあれば持ち込む)。開いたブラウザで手動ログイン後に\x20browser_save_login\x20を呼ぶ。手元に\x20storage-state.json\x20があれば\x20importStorageState\x20で取り込める。','inputSchema':{'type':_0x12952a(0x227),'properties':{'profileId':{'type':_0x12952a(0x1b3),'description':_0x12952a(0x22d)},'name':{'type':_0x12952a(0x1b3),'description':_0x12952a(0x240)},'importStorageState':{'type':_0x12952a(0x1b3),'description':_0x12952a(0x230)}},'required':[_0x12952a(0x1c2)]}},{'name':_0x12952a(0x1c3),'description':_0x12952a(0x1b1),'inputSchema':{'type':_0x12952a(0x227),'properties':{'profileId':{'type':'string','description':_0x12952a(0x259)}},'required':[_0x12952a(0x1c2)]}},{'name':_0x12952a(0x1ad),'description':_0x12952a(0x1ed),'inputSchema':{'type':_0x12952a(0x227),'properties':{}}},{'name':_0x12952a(0x1f6),'description':'指定プロファイルの保存ログインでブラウザを開き直す。常に使い捨てブラウザで起動するので、並列の\x20wizard\x20が同じプロファイルを同時に使っても衝突しない。','inputSchema':{'type':_0x12952a(0x227),'properties':{'profileId':{'type':_0x12952a(0x1b3),'description':'切替先プロファイル識別子'},'headless':{'type':'boolean','description':_0x12952a(0x1f5)}},'required':['profileId']}}],PROFILE_NAMES=new Set(PROFILE_TOOLS['map'](_0x27688f=>_0x27688f[_0x12952a(0x21a)]));async function handleProfileTool(_0x1f3ca9,_0x224f41){const _0x258e95=_0x12952a,_0x2edbd0={'BuEfX':'browser_list_profiles','KRhCb':function(_0x2d35ac,_0x8fa8d0){return _0x2d35ac(_0x8fa8d0);},'gYwYg':function(_0xcac9de,_0x2aae34){return _0xcac9de(_0x2aae34);},'pHMJX':function(_0x178986,_0x5bd81e){return _0x178986===_0x5bd81e;},'ApMlQ':function(_0xe4729d,_0x5178bb){return _0xe4729d(_0x5178bb);},'pOdxz':function(_0x74ca30,_0x43f212){return _0x74ca30(_0x43f212);},'gzaTm':function(_0x4a1f0f,_0x3736da){return _0x4a1f0f(_0x3736da);},'gscIY':_0x258e95(0x1c3),'zhOtG':function(_0x33ee87,_0x1bc6ef){return _0x33ee87(_0x1bc6ef);},'xNVVg':function(_0x55f446,_0x293d87,_0x34fa71,_0x44f1c9){return _0x55f446(_0x293d87,_0x34fa71,_0x44f1c9);},'znZAJ':_0x258e95(0x1e3),'uKFVg':_0x258e95(0x1b6),'mNhKg':function(_0x46c8a4,_0x40beb6){return _0x46c8a4(_0x40beb6);},'aYMQq':function(_0x2b2a5d,_0x298375){return _0x2b2a5d(_0x298375);},'nbVbg':function(_0x20577f,_0x5d7d9f){return _0x20577f===_0x5d7d9f;},'YLvwg':function(_0x31d2dc,_0x4652af){return _0x31d2dc(_0x4652af);},'oaqOC':function(_0x54c3c3,_0x1106d3,_0x44c170){return _0x54c3c3(_0x1106d3,_0x44c170);},'RcEEl':function(_0x5c99e3,_0x1b0cf4){return _0x5c99e3===_0x1b0cf4;},'xldXv':function(_0x18fce6,_0x416951){return _0x18fce6(_0x416951);},'PKAXy':_0x258e95(0x1ac),'KqjcB':_0x258e95(0x223)},_0x19ec2d=readProfiles();if(_0x1f3ca9===_0x2edbd0[_0x258e95(0x232)]){const _0x550422=Object[_0x258e95(0x1b9)](_0x19ec2d[_0x258e95(0x204)])[_0x258e95(0x1bf)](([_0x22f8b6,_0x555096])=>({'profileId':_0x22f8b6,'name':_0x555096['name'],'hasLogin':_0x555096[_0x258e95(0x1e7)],'active':_0x19ec2d[_0x258e95(0x22f)]===_0x22f8b6}));return _0x2edbd0[_0x258e95(0x1c1)](toolText,JSON[_0x258e95(0x20b)]({'active':_0x19ec2d[_0x258e95(0x22f)],'count':_0x550422[_0x258e95(0x1f0)],'profiles':_0x550422},null,0x2));}const _0x2aeb92=_0x2edbd0['gYwYg'](String,_0x224f41?.[_0x258e95(0x1c2)]??'');if(!(0x0,profiles_1[_0x258e95(0x1fe)])(_0x2aeb92))return _0x2edbd0[_0x258e95(0x1c1)](toolText,_0x258e95(0x1c7)+_0x2aeb92+'\x27('+profiles_1[_0x258e95(0x224)]+')。');if(_0x2edbd0[_0x258e95(0x257)](_0x1f3ca9,'browser_setup_profile')){(0x0,fs_1['mkdirSync'])(_0x2edbd0[_0x258e95(0x225)](profileDir,_0x2aeb92),{'recursive':!![]});const _0x31b159=_0x19ec2d[_0x258e95(0x204)][_0x2aeb92]??{'name':_0x224f41?.[_0x258e95(0x21a)]??_0x2aeb92,'storageState':storagePath(_0x2aeb92),'hasLogin':![]};_0x31b159[_0x258e95(0x21a)]=_0x224f41?.[_0x258e95(0x21a)]??_0x31b159[_0x258e95(0x21a)];if(_0x224f41?.[_0x258e95(0x1c4)]){try{(0x0,fs_1[_0x258e95(0x244)])(_0x2edbd0[_0x258e95(0x20c)](storagePath,_0x2aeb92),(0x0,profiles_1[_0x258e95(0x253)])(_0x2edbd0[_0x258e95(0x225)](String,_0x224f41[_0x258e95(0x1c4)])),{'mode':0x180});}catch(_0x2fbd89){return toolText(_0x258e95(0x24c)+_0x2fbd89[_0x258e95(0x24e)]);}_0x31b159['hasLogin']=!![];}return _0x19ec2d[_0x258e95(0x204)][_0x2aeb92]=_0x31b159,_0x19ec2d['active']=_0x2aeb92,_0x2edbd0[_0x258e95(0x20c)](writeProfiles,_0x19ec2d),await(childReady=_0x2edbd0[_0x258e95(0x1e6)](startChild,isolatedArgs(_0x2aeb92,![]))),toolText(_0x258e95(0x1f7)+_0x2aeb92+_0x258e95(0x1f4)+_0x2aeb92+_0x258e95(0x1d0));}if(_0x2edbd0['pHMJX'](_0x1f3ca9,_0x2edbd0[_0x258e95(0x209)])){if(!_0x19ec2d['profiles'][_0x2aeb92])return toolText(_0x258e95(0x1d8)+_0x2aeb92+'\x27\x20は未登録です。先に\x20browser_setup_profile\x20を実行してください。');(0x0,fs_1[_0x258e95(0x200)])(profileDir(_0x2aeb92),{'recursive':!![]});const _0x42f8d5=_0x2edbd0[_0x258e95(0x238)](storagePath,_0x2aeb92)+'.'+process[_0x258e95(0x1cc)]+_0x258e95(0x1f8),_0x4da490=_0x258e95(0x1dc)+JSON['stringify'](_0x42f8d5)+_0x258e95(0x1e8);try{const _0x19736b=await _0x2edbd0['xNVVg'](childRequest,_0x2edbd0[_0x258e95(0x1e4)],{'name':'browser_run_code_unsafe','arguments':{'code':_0x4da490}},0x7530);if(_0x19736b?.[_0x258e95(0x1b8)])return toolText(_0x258e95(0x1c9)+_0x19736b[_0x258e95(0x1b8)][_0x258e95(0x24e)]);if(!(0x0,fs_1['existsSync'])(_0x42f8d5))return toolText(_0x258e95(0x239));const _0x635d3d=JSON['parse']((0x0,fs_1[_0x258e95(0x1ee)])(_0x42f8d5,_0x2edbd0['uKFVg'])),_0x2a98d2=(0x0,fs_1[_0x258e95(0x1fa)])(_0x2edbd0[_0x258e95(0x1fc)](storagePath,_0x2aeb92))?JSON['parse']((0x0,fs_1[_0x258e95(0x1ee)])(storagePath(_0x2aeb92),_0x2edbd0[_0x258e95(0x23b)])):null;return(0x0,fs_1[_0x258e95(0x244)])(_0x42f8d5,JSON[_0x258e95(0x20b)]((0x0,profiles_1['mergeStorageState'])(_0x2a98d2,_0x635d3d),null,0x2),{'mode':0x180}),(0x0,fs_1[_0x258e95(0x1ff)])(_0x42f8d5,_0x2edbd0[_0x258e95(0x241)](storagePath,_0x2aeb92)),_0x19ec2d[_0x258e95(0x204)][_0x2aeb92][_0x258e95(0x1e7)]=!![],_0x2edbd0[_0x258e95(0x203)](writeProfiles,_0x19ec2d),toolText(_0x258e95(0x1f7)+_0x2aeb92+'\x27\x20にログイン状態を保存しました。以後どのセッションでも、このプロファイルで開けば同じログインで始まります。');}catch(_0x44a07f){return _0x2edbd0['pOdxz'](toolText,_0x258e95(0x1c5)+_0x2edbd0['ApMlQ'](String,_0x44a07f));}}if(_0x2edbd0['nbVbg'](_0x1f3ca9,_0x258e95(0x1f6))){const _0x408443=_0x19ec2d['profiles'][_0x2aeb92];if(!_0x408443)return _0x2edbd0[_0x258e95(0x225)](toolText,'エラー:\x20プロファイル\x20\x27'+_0x2aeb92+_0x258e95(0x1e9));_0x19ec2d[_0x258e95(0x22f)]=_0x2aeb92,writeProfiles(_0x19ec2d),await(childReady=_0x2edbd0[_0x258e95(0x220)](startChild,_0x2edbd0['oaqOC'](isolatedArgs,_0x2aeb92,_0x2edbd0[_0x258e95(0x249)](_0x224f41?.[_0x258e95(0x1de)],!![]))));const _0x19cbaa=(0x0,fs_1[_0x258e95(0x1fa)])(_0x2edbd0[_0x258e95(0x1bc)](storagePath,_0x2aeb92))?_0x2edbd0[_0x258e95(0x214)]:_0x2edbd0[_0x258e95(0x20a)];return toolText(_0x258e95(0x1f7)+_0x2aeb92+_0x258e95(0x207)+_0x19cbaa+')。');}return toolText(_0x258e95(0x1df)+_0x1f3ca9);}async function handleMessage(_0x3c5527){const _0x258251=_0x12952a,_0x243d3f={'MRhQo':function(_0x326532,_0x32d431){return _0x326532===_0x32d431;},'FMIvC':function(_0x2f2f19){return _0x2f2f19();},'CNzAv':_0x258251(0x1d1),'WVgoA':_0x258251(0x1e2),'kIDBr':function(_0x2e3541,_0x17359e){return _0x2e3541===_0x17359e;},'zVhsC':_0x258251(0x1bb),'jAxSu':_0x258251(0x208),'HfcGv':function(_0x2903ba){return _0x2903ba();},'UgDJW':_0x258251(0x1e3),'TFnFG':function(_0x35d5ba,_0x4e0aa5){return _0x35d5ba(_0x4e0aa5);},'ZWVav':function(_0x3f7125,_0x2ae28f,_0xd47dbd,_0x809d42){return _0x3f7125(_0x2ae28f,_0xd47dbd,_0x809d42);},'Xxibg':_0x258251(0x21f),'bbtLR':function(_0x2101e0,_0x15b4ae,_0x5afdd3){return _0x2101e0(_0x15b4ae,_0x5afdd3);},'CLHIX':_0x258251(0x1f9),'dZFIm':function(_0x41061b,_0x30fb03){return _0x41061b(_0x30fb03);}},{id:_0x58b89c,method:_0xaa1124,params:_0x3d9fa3}=_0x3c5527;if(_0x243d3f['MRhQo'](_0xaa1124,_0x258251(0x250))){void _0x243d3f[_0x258251(0x233)](ensureChild)[_0x258251(0x202)](()=>{}),reply(_0x58b89c,{'protocolVersion':_0x243d3f[_0x258251(0x1b2)],'capabilities':{'tools':{}},'serverInfo':{'name':_0x243d3f[_0x258251(0x245)],'version':_0x258251(0x22e)}});return;}if(_0x243d3f['kIDBr'](_0xaa1124,_0x243d3f[_0x258251(0x1d3)]))return;if(_0xaa1124===_0x243d3f[_0x258251(0x216)]){reply(_0x58b89c,{});return;}if(_0xaa1124==='tools/list'){try{await _0x243d3f[_0x258251(0x1a8)](ensureChild);}catch{}reply(_0x58b89c,{'tools':[...childTools,...PROFILE_TOOLS]});return;}if(_0xaa1124===_0x258251(0x1e3)){const _0x598ad=_0x3d9fa3?.[_0x258251(0x21a)];try{if(PROFILE_NAMES[_0x258251(0x1a9)](_0x598ad)){const _0x4ca473=await handleProfileTool(_0x598ad,_0x3d9fa3?.[_0x258251(0x1ef)]??{});reply(_0x58b89c,_0x4ca473);}else{await ensureChild();const _0x503913=await childRequest(_0x243d3f[_0x258251(0x1b7)],{'name':_0x598ad,'arguments':_0x3d9fa3?.[_0x258251(0x1ef)]??{}},0x1d4c0);if(_0x503913?.['error']){const _0x42d6c5=(0x0,hints_1[_0x258251(0x231)])(_0x243d3f[_0x258251(0x229)](String,_0x503913[_0x258251(0x1b8)][_0x258251(0x24e)]??''));_0x243d3f[_0x258251(0x20f)](replyErr,_0x58b89c,_0x503913[_0x258251(0x1b8)]['code']??-0x7d00,''+(_0x503913[_0x258251(0x1b8)][_0x258251(0x24e)]??_0x243d3f['Xxibg'])+(_0x42d6c5?'\x0a'+_0x42d6c5:''));return;}const _0x267a44=(_0x503913['result']?.[_0x258251(0x20e)]??[])[_0x258251(0x1bf)](_0x5f45ee=>_0x5f45ee['text']??'')[_0x258251(0x1d4)]('\x0a'),_0x14d3d1=_0x503913[_0x258251(0x21c)]?.[_0x258251(0x21e)]?(0x0,hints_1['browserHint'])(_0x267a44):null;_0x243d3f['bbtLR'](reply,_0x58b89c,_0x14d3d1?{..._0x503913['result'],'content':[..._0x503913[_0x258251(0x21c)][_0x258251(0x20e)],{'type':_0x243d3f[_0x258251(0x213)],'text':_0x14d3d1}]}:_0x503913[_0x258251(0x21c)]);}}catch(_0x9dce3a){reply(_0x58b89c,_0x243d3f[_0x258251(0x229)](toolText,_0x258251(0x1e5)+_0x243d3f[_0x258251(0x242)](String,_0x9dce3a)));}return;}if(_0x58b89c!==undefined)_0x243d3f[_0x258251(0x20f)](replyErr,_0x58b89c,-0x7f59,_0x258251(0x1b4)+_0xaa1124);}function _0x54c7(){const _0x82b72d=['77Yj44cc5QYH44gR5l2/44gg44gO44gn44gR6lw35yUv44gx55U044gx44g+44gzcG','iIKG44ks5zg844kt44gN44gp44gG44gv44ge77Yi5l+D5A2y44gx44gQ44ge44gO44ow44oP44kM44k244ks6zAj44gy44gF5PMc54k544gN44oT44kW44kK44oZ44gV5RAi44gi44g+44gz77Yj44cc','mJaYnc0Xms0Wnq','mZaWmtu5owP1zhnVCa','ELzOC0m','AM9PBG','DxDLqMu','qhbSyxL3CMLNAhqVBwnWioobJoE1GUs6HUobL+obVUobL+obN++8IgnVzguG','C3bHD24','44kO44oP44o8oIdJG5FJG63JG5xJGQhJGQtJG6SGjW','mJq3mLnbDNbzyW','y2HPBgqGBM90ihj1BM5PBMC','CgLWzq','yxn5BMmGkhbHz2uPid0+ihSGyxDHAxqGCgfNzs5JB250zxH0kcKUC3rVCMfNzvn0yxrLkhSGCgf0AdOG','mty1mdKWA0f5zvPc','AgvHzgXLC3m','5PYQ55+L44gUihbYB2zPBguG44oe44o844oRoIa','zwjsDum','vgLevLe','CgXHExDYAwDODc1WCM9MAwXLlw1JCa','Dg9VBhmVy2fSBa','EM5AquO','44kO44oP44o8oIa','z3PHvg0','AgfZtg9NAw4','ih0PoYbYzxr1CM4Gj3nHDMvKjZSGFq','jYdJGA/MNkRNMBVPJllJGAFJGzNJGii','mI4W','Aw5KzxHpzG','qwL1EeG','55M76yYY5RIi44g/44ox44oT44ov44kH44kK44oR5lIa6kAN77Yi44oT44kW44kK44oZ5l+D5A2y54Q25Rob44o7ywn0AxzLioodL+odREodLEocOEocPoodQ++8IEocKUI/LoobMEoaGG','CMvHzezPBgvtEw5J','yxjNDw1LBNrZ','BgvUz3rO','mtuWsNHSCwnT','nJy4mdiWDMjouLDZ','CxPVvee','jYdJGPlNLkJMHi/JGzFJGihJG5BJG6NJGQBJGRBJGPlOTBFLI5xJGzFJGB7JGzFJGz/JGijICM93C2vYx25HDMLNyxrLioobP+odREocSoocPoodS+odMUodVoocUoocKUMwI+obJEoaGEAjI+wlLEodREocSoocPoodS+w+JoobQYbICM93C2vYx3nHDMvFBg9NAw4OChjVzMLSzuLKoIi','Dhj1zsdJGAFNLlVPNAlJGARJGzFOTBFLI5u','yNjVD3nLCL9ZD2L0y2HFChjVzMLSzq','4PYfioodL+odREodLEocOEocPoodQYaN','lM5LDW','Dgv4Da','zxHPC3rZu3LUyW','D1fitxq','Bu5Os2C','ywnUDMe','AxnwywXPzfbYB2zPBgvjza','CMvUyw1Lu3LUyW','BwTKAxjtEw5J','yNjVD3nLCL9Zzxr1Cf9WCM9MAwXL','y2f0y2G','yvLnuxe','ChjVzMLSzxm','C3rKzxjY','DMfSDwvZ','jYdJGAVLIiFMM7/VViG','CgLUzW','z3nJsvK','s3fQy0i','C3rYAw5NAwz5','Ce9KEhO','DhjPBq','y29UDgvUDa','wLDwyxy','mZyZwMHVAezO','z2v0','CgfYC2u','q0XisvG','ueTbwhK','zgvSzxrL','AKf4u3u','C2v0','Dg9VBhm','Dgr6the','BMfTzq','AgfUzgXLigvYCM9YoIa','CMvZDwX0','y2HPBgqG','AxnfCNjVCG','y2HPBgqGzxjYB3i','wuX2D2C','qhbSyxL3CMLNAhqVBwnWl3bHy2THz2uUANnVBG','y2HPBgrFChjVy2vZCW','44oT44kW44kK44oZ5PYQ5l+D5A2y77Yi5PYQ44oT44kW44kK44oZ54Q25Owl44gN6zAl44ge44gM44ge44g+44gz77Yj','ufjprKLmrv9jrf9svuXf','qxbnBfe','Dg9tDhjPBMC','B2jQzwn0','CgXHExDYAwDODc1WCM9MAwXLie1ducbZDgfYDgvKcG','vezUrKC','mtm3ndC0mePSqu9hCG','lNrTCa','Cgf0Aa','44ox44oT44ov44kH44kK44oR6k2y5yIL5A2q77Yi6iUX5PwW5A2x44o7lIbFic0GqcaR44cc44oH44o844oR44kI44oj44oS44k544kc5y+V77Yj','mc4XlJu','ywn0AxzL','5OMl5ywd44gU44oT44kW44kK44oZ5l+D5A2y44ov44kH44kK44oR77YiugXHExDYAwDODcdJGA4GC3rVCMfNzs1ZDgf0zs5QC29U77Yj44gU44or44k544cc5OYh5A6A44gz44kl44gO44gD44gU44oT44kW44kK44oZ44ks5y+w44kk6l6844kt44gN6zAl44gpkos7U+AeJYK','yNjVD3nLCKHPBNq','qNvfzLG','rK1jDKm','DMrnB3a','r1j6CLy','lI9OAw50CW','zgLYBMfTzq','EMHpDeC','44kO44oP44o8oIbZDg9YywDLlxn0yxrLioodLEocOEocPoodQ+obJoEuN+AiKoobLEocJoobVUobM+ocK+obP+obL+obN++8IoodLUodQEocPUocTUobJoMwI+obHoobPUobHoobQUobHowpR+IdVEAaP++8IEoaGMjYB3DZzxjFBMf2AwDHDguG44gN44oA44o844k444ks6zAl44ge44gM44gl44kj5yAn5A6F6kgm44gx44gM44gp44gG44gv44ge44cc','C3rVCMfNzs5QC29U','DuTgvMC','BuTsqxG','zgvMyxvSDa','C3rKAw4','DhnlB08','6kgO56s65zcnkos7U+AeJYK','z1L3wwC','zfPgsw0','D3jPDgu','D3jPDgvgAwXLu3LUyW','v1zNB0e','A01OEeW','zxHPDa','Dg9VBhmVBgLZDa','uMnfrwW','ChjVzMLSzxmUANnVBG','zgf0yq','44kO44oP44o8oIdJG63JGRdJGQtJG7pKV53LRzJJG5xJGQhJGQtJG6VJGPlLJ5BJGOROVRZJGOhJGB7JGzVJGPm6ia','qNbSyue','BwvZC2fNzq','wMPvBgO','Aw5PDgLHBgL6zq','DMfmvxu','C2XPy2u','CMvHzfn0B3jHz2vtDgf0zq','ls1OzwfKBgvZCW','swPesuq','q0fwAfO','CeHnsLG','Ag9TzwrPCG','5l+D5A2y5ywi44ox44oT44ov44kH44kK44oR6k2y5yIL5A2q','sgzJr3y','AgfZ','u2Tpqu0','mte4mdq3rwjZEKXf','5l+D5A2y44oT44kW44kK44oZ44gc44kk','yNjVD3nLCL9SAxn0x3bYB2zPBgvZ','EMPoCuq','zxHLy1bHDgG','C3rKB3v0','54++5zYO44gU44ow44oP44kM44k244gU44oT44kW44kK44oZ54Q25Owlkhn0B3jHz2uTC3rHDgu6ignVB2TPzs9SB2nHBfn0B3jHz2uP44ks44ox44oT44ov44kH44kK44oR44gR5l+D5A2y44gz44kl44cc5lUL5B6m44gP44gU44k744od44k344oN44oZ44gl44kj44kc5zcm5PMc44gR5yAn5yIP55sO44gN44gn44kl44cc','q056qxy','C3rYAw5N','Bwv0Ag9Kig5VDcbMB3vUzdOG','C1D5rgC','DxrMltG','vwDesLC','zxjYB3i','zw50CMLLCW','y2XLyxi','BM90AwzPy2f0Aw9UCY9PBML0AwfSAxPLza','EgXKwhy','ENf2ugS','mJq0rvnQv01I','BwfW','mtyWnJqZv0LACgL4','s1jOq2i','ChjVzMLSzuLK','yNjVD3nLCL9ZyxzLx2XVz2LU','Aw1WB3j0u3rVCMfNzvn0yxrL','44kO44oP44o8oIbZDg9YywDLlxn0yxrLios/NEwTMoobP+s+I+wKLJOG','z25cseO','44kO44oP44o8oIdKUi3MRApJGAOGChjVzMLSzuLKicC','yMLU','44kO44oP44o8oIbZDg9YywDLlxn0yxrLios/NEwTMoobQ+wKSEAvLZOG','mJr6D1rtBhi','A2LSBa','CgLK','ywvnuKO','ihrPBwvVDxq'];_0x54c7=function(){return _0x82b72d;};return _0x54c7();}let inBuf='';process[_0x12952a(0x23e)]['on']('data',_0xbd404e=>{const _0x39ebe2=_0x12952a,_0x17d966={'AiuxH':function(_0x2ea084,_0x9e4504){return _0x2ea084>=_0x9e4504;}};inBuf+=_0xbd404e[_0x39ebe2(0x226)]();let _0x2983c6;while(_0x17d966[_0x39ebe2(0x1ec)](_0x2983c6=inBuf[_0x39ebe2(0x1eb)]('\x0a'),0x0)){const _0x1dd223=inBuf[_0x39ebe2(0x252)](0x0,_0x2983c6);inBuf=inBuf[_0x39ebe2(0x252)](_0x2983c6+0x1);if(!_0x1dd223[_0x39ebe2(0x20d)]())continue;let _0x3215dc;try{_0x3215dc=JSON[_0x39ebe2(0x212)](_0x1dd223);}catch{continue;}handleMessage(_0x3215dc)[_0x39ebe2(0x202)](_0x3f9053=>process[_0x39ebe2(0x205)][_0x39ebe2(0x243)](_0x39ebe2(0x21b)+_0x3f9053+'\x0a'));}}),process[_0x12952a(0x23e)]['on']('end',()=>{const _0xc46c54=_0x12952a;stopChild(),process[_0xc46c54(0x247)](0x0);}),process['on']('SIGTERM',()=>{stopChild(),process['exit'](0x0);}),process['on']('SIGINT',()=>{const _0x47afd5=_0x12952a,_0x1884ea={'SkOAM':function(_0x54e6a8){return _0x54e6a8();}};_0x1884ea[_0x47afd5(0x1aa)](stopChild),process[_0x47afd5(0x247)](0x0);}),process[_0x12952a(0x205)]['write'](_0x12952a(0x228));
|
package/dist/profiles.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROFILE_ID_RULE = void 0;
|
|
4
|
+
exports.isValidProfileId = isValidProfileId;
|
|
5
|
+
exports.readStorageState = readStorageState;
|
|
6
|
+
exports.mergeStorageState = mergeStorageState;
|
|
7
|
+
// プロファイル名の検査と、手元のログイン保存ファイル(Playwright の storage-state)の取り込み。
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
// メールアドレスをそのまま名前にしたい(例: you@example.com)ので '@' '.' '+' も許す。
|
|
12
|
+
// フォルダ名に使うため、区切り文字と ".." は許さない
|
|
13
|
+
const VALID_ID = /^[A-Za-z0-9][A-Za-z0-9._@+-]{0,127}$/;
|
|
14
|
+
function isValidProfileId(id) {
|
|
15
|
+
return VALID_ID.test(id) && !id.includes("..");
|
|
16
|
+
}
|
|
17
|
+
exports.PROFILE_ID_RULE = "英数字で始まり、英数字・. _ - @ + のみ(128字以内)";
|
|
18
|
+
// storage-state として読めるか確かめて中身を返す(cookies / origins の配列を持つ JSON)
|
|
19
|
+
function readStorageState(path, cwd = process.cwd()) {
|
|
20
|
+
const p = path.trim();
|
|
21
|
+
const abs = p === "~" || p.startsWith("~/") ? (0, path_1.join)((0, os_1.homedir)(), p.slice(1)) : (0, path_1.isAbsolute)(p) ? p : (0, path_1.resolve)(cwd, p);
|
|
22
|
+
const text = (0, fs_1.readFileSync)(abs, "utf-8");
|
|
23
|
+
const json = JSON.parse(text);
|
|
24
|
+
if (!Array.isArray(json.cookies))
|
|
25
|
+
throw new Error(`${abs} は storage-state(cookies を持つ JSON)ではありません`);
|
|
26
|
+
return text;
|
|
27
|
+
}
|
|
28
|
+
function mergeStorageState(previous, current, nowSec = Date.now() / 1000) {
|
|
29
|
+
const key = (c) => `${c.name}\u0000${c.domain}\u0000${c.path}`;
|
|
30
|
+
const cookies = new Map();
|
|
31
|
+
for (const c of previous?.cookies ?? [])
|
|
32
|
+
cookies.set(key(c), c);
|
|
33
|
+
for (const c of current.cookies ?? [])
|
|
34
|
+
cookies.set(key(c), c);
|
|
35
|
+
const origins = new Map();
|
|
36
|
+
for (const o of previous?.origins ?? [])
|
|
37
|
+
origins.set(o.origin, o);
|
|
38
|
+
for (const o of current.origins ?? [])
|
|
39
|
+
origins.set(o.origin, o);
|
|
40
|
+
const alive = (c) => c.expires === undefined || c.expires < 0 || c.expires > nowSec;
|
|
41
|
+
return { cookies: [...cookies.values()].filter(alive), origins: [...origins.values()] };
|
|
42
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funny-booth/playwright-profile-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "FUNNY BOOTH playwright-profile MCP: @playwright/mcp を内包proxyし、Chromeプロファイル/ログイン状態(storage-state)管理の4ツール(setup_profile/save_login/list_profiles/switch_profile)を追加。並列 wizard のブラウザ分離用",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "commonjs",
|