monster-orchestrator 3.0.0 → 3.1.0
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-obf/index.js +1 -1
- package/dist-obf/package.json +1 -1
- package/package.json +1 -1
package/dist-obf/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0bp=a0c;(function(a,c){const bo=a0c,d=a();while(!![]){try{const e=-parseInt(bo(0x1bf))/0x1*(-parseInt(bo(0x1d3))/0x2)+parseInt(bo(0x1ef))/0x3+-parseInt(bo(0x141))/0x4*(parseInt(bo(0x12c))/0x5)+-parseInt(bo(0x1a3))/0x6*(parseInt(bo(0x223))/0x7)+parseInt(bo(0x189))/0x8+parseInt(bo(0x158))/0x9+-parseInt(bo(0x12a))/0xa*(parseInt(bo(0x23c))/0xb);if(e===c)break;else d['push'](d['shift']());}catch(h){d['push'](d['shift']());}}}(a0a,0xee16d));import{Server as a0aM}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0aN}from'@modelcontextprotocol/sdk/server/stdio.js';import{CallToolRequestSchema as a0aO,ListToolsRequestSchema as a0aP}from'@modelcontextprotocol/sdk/types.js';import*as a0aQ from'node:fs';import*as a0aR from'node:fs/promises';import*as a0aS from'node:os';import*as a0aT from'node:path';import{fileURLToPath as a0aU}from'node:url';function a0c(a,b){a=a-0x10e;const c=a0a();let d=c[a];if(a0c['uQtPor']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x0,o,p,q=0x0;p=i['charAt'](q++);~p&&(o=n%0x4?o*0x40+p:p,n++%0x4)?l+=String['fromCharCode'](0xff&o>>(-0x2*n&0x6)):0x0){p=j['indexOf'](p);}for(let r=0x0,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(m);};a0c['hKSOFc']=e,a0c['VJPvrk']={},a0c['uQtPor']=!![];}const f=c[0x0],g=a+f,h=a0c['VJPvrk'][g];return!h?(d=a0c['hKSOFc'](d),a0c['VJPvrk'][g]=d):d=h,d;}var J=process.env.MONSTER_MCP_ROOT,E=J&&J[a0bp(0x1a7)]>0x0?J:a0aT[a0bp(0x1eb)](a0aS['homedir'](),a0bp(0x15c),a0bp(0x210)),Q=a0aT[a0bp(0x1eb)](E,a0bp(0x188)),Y=a0aT[a0bp(0x1eb)](E,a0bp(0x1bc)),f=a0aT[a0bp(0x1eb)](E,a0bp(0x13b)),N=a0aT['join'](E,a0bp(0x228)),R=a0aT['join'](E,a0bp(0x1ae)),dt=0xa*0x400*0x400,lt=0x5*0x400*0x400;function O(a){const bq=a0bp;return a0aT[bq(0x1eb)](E,a);}function ft(a){const br=a0bp;return a0aT[br(0x1eb)](O(a),br(0x212));}function _t(a){const bs=a0bp;return a0aT['join'](O(a),bs(0x19b));}function ht(a){const bu=a0bp;return a0aT[bu(0x1eb)](O(a),bu(0x1cb));}function wt(){const bv=a0bp;if(process.env.MONSTER_HOOK_PATH)return process.env.MONSTER_HOOK_PATH;try{let a=a0aU(import.meta.url),c=a0aT[bv(0x15b)](a0aT[bv(0x20a)](a),'..');return a0aT[bv(0x1eb)](c,bv(0x115),'monster-stop-hook');}catch{return a0aT[bv(0x1eb)](a0aS[bv(0x11e)](),bv(0x1f4),bv(0x257));}}function tt(){const bw=a0bp;a0aQ[bw(0x1f1)](E,{'recursive':!0x0}),a0aQ[bw(0x1df)](f)||a0aQ[bw(0x248)](f,'','utf8');}async function de(){const bx=a0bp;try{if((await a0aR[bx(0x12e)](f))[bx(0x161)]<dt)return!0x1;}catch{return!0x1;}try{return a0aQ['existsSync'](R)&&await a0aR['unlink'](R),a0aQ['existsSync'](N)&&await a0aR[bx(0x17a)](N,R),await a0aR['rename'](f,N),await a0aR['writeFile'](f,'','utf8'),!0x0;}catch{return!0x1;}}async function P(a){const by=a0bp;tt(),await de();let c=JSON[by(0x136)](a)+'\x0a';await a0aR['appendFile'](f,c,by(0x151));}function C(a,c,d,h={}){return{'ts':new Date()['toISOString'](),'monster_id':a,'event':d,'session':c,'meta':h};}function le(a){const bz=a0bp;let c=a['split']('\x0a'),d=[];for(let h of c)if(h[bz(0x195)]())try{if(bz(0x176)===bz(0x160)){let o=c[bz(0x118)](h);o&&o['ts']&&o[bz(0x138)]&&i[bz(0x208)](o);}else{let o=JSON['parse'](h);o&&o['ts']&&o[bz(0x138)]&&d[bz(0x208)](o);}}catch{}return d;}async function Z(a){const bA=a0bp;try{return await a0aR[bA(0x170)](a,bA(0x151));}catch{return'';}}async function St(){const bB=a0bp;let a=[],c=[];a0aQ['existsSync'](R)&&(c['push'](await Z(R)),a[bB(0x208)]('events.log.2')),a0aQ['existsSync'](N)&&(c['push'](await Z(N)),a[bB(0x208)](bB(0x228))),a0aQ[bB(0x1df)](f)&&(c[bB(0x208)](await Z(f)),a[bB(0x208)](bB(0x13b)));let d=c['join']('\x0a');return{'events':le(d),'scannedFiles':a};}async function gt(a=0xc8){const bC=a0bp;let {events:c}=await St();return c[bC(0x171)](-a);}function yt(a,c){const bD=a0bp;return a[bD(0x19e)]?!!(a[bD(0x19e)]===c||a[bD(0x19e)][bD(0x20e)](c)):!0x1;}async function Et(d){const bE=a0bp;let h=Math[bE(0x1e2)](Math[bE(0x250)](d[bE(0x134)]??0x32,0x1),0x1f4),{events:p,scannedFiles:H}=await St(),T=p;if(d['monster_id']&&(T=T[bE(0x169)](a3=>yt(a3,d[bE(0x19e)]))),d[bE(0x1b3)]&&d[bE(0x1b3)][bE(0x1a7)]>0x0){if(bE(0x15a)===bE(0x1e5))return null;else{let a4=new Set(d['event_types']);T=T[bE(0x169)](a5=>a4[bE(0x1e3)](a5['event']));}}if(d[bE(0x201)]){if(bE(0x154)===bE(0x20d)){let a6=p['join'](a8,bE(0x15c));a6['mkdirSync'](a6,{'recursive':!0x0});let a7=d[bE(0x1eb)](a6,bE(0x21d)),a8=u(H);return T[bE(0x248)](a7,X['stringify'](a8,null,0x2),bE(0x151)),a7;}else{let a6=d[bE(0x201)];T=T[bE(0x169)](a7=>a7['ts']>a6);}}T['sort']((a7,a8)=>a7['ts']<a8['ts']?-0x1:a7['ts']>a8['ts']?0x1:0x0);let X=T[bE(0x1a7)],a0=T[bE(0x171)](-h),a1=X>a0[bE(0x1a7)],a2=a0[bE(0x1a7)]>0x0?a0[a0[bE(0x1a7)]-0x1]['ts']:null;return{'events':a0,'returned':a0[bE(0x1a7)],'has_more':a1,'max_event_ts':a2,'scanned_files':H};}function I(a,c){const bF=a0bp;let d=c?a[bF(0x169)](h=>yt(h,c)):a;return d[bF(0x1a7)]===0x0?null:d[d['length']-0x1];}function xt(a,c,d=0x5){const bG=a0bp;return c?a[bG(0x169)](h=>h['ts']>c)[bG(0x171)](-d):a['slice'](-d);}function fe(a,c){const bH=a0bp;let d=c[bH(0x17d)](a[bH(0x19e)]);return d?bH(0x25b)+d[bH(0x1bd)]:a[bH(0x19e)][bH(0x1a7)]>0x8?a[bH(0x19e)][bH(0x171)](0x0,0x8):a[bH(0x19e)];}function _e(a){const bI=a0bp;let c=new Date(a)[bI(0x15d)](),d=Date[bI(0x12f)](),h=Math[bI(0x250)](0x0,Math['floor']((d-c)/0x3e8));if(h<0x3c)return h+'s\x20ago';let i=Math['floor'](h/0x3c);return i<0x3c?i+bI(0x148):Math[bI(0x173)](i/0x3c)+bI(0x220);}function vt(a){const bJ=a0bp;let {runningCount:h,capacity:p,latestEvent:H,monstersById:T}=a;if(h===0x0&&!H)return'';let X=bJ(0x19f)+h+'/'+p,a0='';if(H){if(bJ(0x190)===bJ(0x17c))return{};else{let a2=fe(H,T),a3=_e(H['ts']),a4=H[bJ(0x1f2)]?.['subtype']?'\x20('+H[bJ(0x1f2)]['subtype']+')':'';a0=bJ(0x164)+H['event']+a4+'\x20@\x20'+a2+'\x20('+a3+')';}}return bJ(0x22b)+X+a0+bJ(0x142);}import*as a0aV from'node:fs';import*as a0aW from'node:fs/promises';import{execFile as a0aX}from'node:child_process';import{promisify as a0aY}from'node:util';var v=a0aY(a0aX),Se=/\x1b\[[0-9;?]*[A-Za-z]/g;function ge(a){const bK=a0bp;return a['replace'](Se,'')[bK(0x1cd)](/\r/g,'');}async function G(a){const bL=a0bp;try{return await v(bL(0x144),[bL(0x14b),'-t',a]),!0x0;}catch{return!0x1;}}async function Tt(a,c,d){const bM=a0bp;try{if(bM(0x129)!==bM(0x1f6))return await v('tmux',[bM(0x1c4),'-d','-s',a,'-c',c,d]),{'ok':!0x0};else d(c);}catch(i){return{'ok':!0x1,'error':i?.[bM(0x16d)]||i?.['message']||bM(0x184)};}}async function b(a){const bN=a0bp;try{return await v(bN(0x144),['kill-session','-t',a]),!0x0;}catch{return!0x1;}}async function D(a,c){const bO=a0bp;try{let {stdout:d}=await v(bO(0x144),[bO(0x16b),'-t',a,'-p','-S','-'+c]);return ge(d);}catch{if(bO(0x163)!==bO(0x249))return'';else{let i=[];for(let n of h[bO(0x132)]('\x0a'))if(n[bO(0x195)]())try{let u=u[bO(0x118)](n);u&&u['ts']&&u['event']&&i[bO(0x208)](u);}catch{}return i;}}}function ye(a){const bP=a0bp;return Math[bP(0x1e2)](0x64+Math[bP(0x173)](a/0x4),0x5dc);}async function $(a,c){const bQ=a0bp;try{if(bQ(0x16f)===bQ(0x1ce)){let h=n(o.env.MONSTER_MAX_CONCURRENT??0x5);return p[bQ(0x1d0)](h)?r[bQ(0x1e2)](s[bQ(0x250)](h[bQ(0x173)](h),0x1),0xa):0x5;}else{let h=c[bQ(0x1cd)](/\n+$/,'');await v('tmux',[bQ(0x1ed),'-t',a,'-l',h]);let i=ye(h[bQ(0x1a7)]);return await new Promise(o=>setTimeout(o,i)),await v(bQ(0x144),[bQ(0x1ed),'-t',a,bQ(0x14e)]),await new Promise(o=>setTimeout(o,0xc8)),await v(bQ(0x144),[bQ(0x1ed),'-t',a,bQ(0x14e)]),{'ok':!0x0,'bytes':Buffer[bQ(0x259)](h,bQ(0x151))};}}catch(o){if(bQ(0x1d9)==='VGiRX')return{'ok':!0x1,'bytes':0x0,'error':o?.[bQ(0x16d)]||o?.[bQ(0x214)]||bQ(0x153)};else{let r=new o(p)['getTime'](),u=a2[bQ(0x12f)](),H=u['max'](0x0,a['floor']((u-r)/0x3e8));if(H<0x3c)return H+bQ(0x1a6);let a2=u['floor'](H/0x3c);return a2<0x3c?a2+'m\x20ago':H[bQ(0x173)](a2/0x3c)+bQ(0x220);}}}var Ee=/bypass permissions on|shift\+tab to cycle|esc to interrupt|⏵⏵/,xe=[{'pattern':/trust this folder|Is this a project you (created|trust)/,'response':'','description':'workdir\x20trust\x20prompt(初回\x20workdir\x20の信頼確認)'}];async function ve(a){const bR=a0bp;try{await v(bR(0x144),['send-keys','-t',a,bR(0x14e)]);}catch{}}function Te(a){const bS=a0bp;for(let c of xe)if(c['pattern'][bS(0x11c)](a))return c;return null;}async function kt(a,c=0x2d){const bT=a0bp;let d=new Set();for(let h=0x0;h<c;h++){let i=await D(a,0x32);if(Ee[bT(0x11c)](i))return!0x0;let p=Te(i);p&&!d['has'](p[bT(0x1b5)])&&(p[bT(0x140)]?await $(a,p[bT(0x140)]):await ve(a),d[bT(0x166)](p[bT(0x1b5)])),await new Promise(u=>setTimeout(u,0x3e8));}return!0x1;}async function At(a){const bU=a0bp;try{let {stdout:c}=await v(bU(0x144),[bU(0x238),'-t',a,'-F',bU(0x162)]),d=Number(c[bU(0x195)]()[bU(0x132)]('\x0a')[0x0]);return Number[bU(0x1d0)](d)?d:null;}catch{return null;}}function It(){const bV=a0bp;a0aV[bV(0x1f1)](E,{'recursive':!0x0});}async function m(){const bW=a0bp;It();try{let a=await a0aW[bW(0x170)](Q,bW(0x151)),c=JSON[bW(0x118)](a);return!c||typeof c!=bW(0x1fa)||!c[bW(0x210)]?{'monsters':{}}:c;}catch(d){return d?.[bW(0x229)]==='ENOENT'?{'monsters':{}}:{'monsters':{}};}}async function _(a){const bX=a0bp;It();let c=JSON[bX(0x136)](a,null,0x2);await a0aW['writeFile'](Y,c,'utf8'),await a0aW[bX(0x17a)](Y,Q);}function j(a){const bY=a0bp;return Object['values'](a[bY(0x210)])[bY(0x169)](c=>c[bY(0x1e7)]===bY(0x207))[bY(0x1a7)];}function k(a,c){const bZ=a0bp;if(a[bZ(0x210)][c])return a[bZ(0x210)][c];for(let d of Object[bZ(0x168)](a[bZ(0x210)]))if(d[bZ(0x1bd)]===c)return d;return null;}async function S(a){const c0=a0bp;let c=Date['now']();for(let d of Object[c0(0x19d)](a[c0(0x210)])){if(c0(0x18e)==='oclbF'){let h=a[c0(0x210)][d];if(h['status']!==c0(0x207))continue;if(!await G(h[c0(0x14a)])){h[c0(0x1e7)]=c0(0x13d),h[c0(0x196)]='session\x20disappeared',h['last_action_at']=new Date()['toISOString']();continue;}new Date(h[c0(0x19a)])[c0(0x15d)]()<=c&&(await b(h['tmux_session']),h[c0(0x1e7)]=c0(0x139),h[c0(0x196)]='auto-stopped\x20on\x20timeout',h[c0(0x1f8)]=new Date()[c0(0x20f)]());}else return e[c0(0x1eb)](h(i),c0(0x19b));}return a;}import*as a0aZ from'node:fs';import*as a0b0 from'node:fs/promises';import a0b1 from'chokidar';var Ae=0xbb8;function Oe(a){const c1=a0bp;let c=[];for(let d of a[c1(0x132)]('\x0a'))if(d['trim']())try{let h=JSON[c1(0x118)](d);h&&h['ts']&&h[c1(0x138)]&&c[c1(0x208)](h);}catch{}return c;}function Rt(a){const c2=a0bp;tt();let c=0x0;try{c=a0aZ[c2(0x1ad)](f)[c2(0x161)];}catch{c=0x0;}let d=async H=>{const c3=c2;let T=null;try{let X=await a0b0[c3(0x12e)](f);if(X[c3(0x161)]<H&&(H=0x0),X[c3(0x161)]===H)return H;T=await a0b0['open'](f,'r');let a0=X[c3(0x161)]-H,a1=Buffer[c3(0x1b2)](a0);await T['read'](a1,0x0,a0,H);let a2=a1['toString'](c3(0x151));for(let a3 of Oe(a2))try{a(a3);}catch{}return X['size'];}catch{return H;}finally{if(c3(0x21f)==='wflCl')T&&await T[c3(0x227)]();else return e['join'](h(i),c3(0x212));}},h=null;try{if(c2(0x187)!==c2(0x187)){let u=h(import.meta.url),H=i[c2(0x15b)](n[c2(0x20a)](u),'..');return o[c2(0x1eb)](H,'scripts',c2(0x257));}else h=a0b1[c2(0x133)](f,{'usePolling':!0x1,'awaitWriteFinish':!0x1,'ignoreInitial':!0x0,'atomic':!0x1}),h['on'](c2(0x1c3),async()=>{c=await d(c);}),h['on']('add',async()=>{c=await d(c);}),h['on'](c2(0x186),()=>{});}catch{h=null;}let i=setInterval(async()=>{const c4=c2;try{'LODsZ'!==c4(0x247)?(await a0b0[c4(0x12e)](f))['size']!==c&&(c=await d(c)):c=0x0;}catch{}},Ae);return{'stop':async()=>{const c5=c2;if(c5(0x230)===c5(0x1de))n['mkdirSync'](o,{'recursive':!0x0}),p['existsSync'](r)||s['writeFileSync'](a,'','utf8');else{if(clearInterval(i),h)try{'TNpeq'===c5(0x147)?c=h[c5(0x1ad)](i)['size']:await h['close']();}catch{}}}};}import*as a0b2 from'node:fs';import*as a0b3 from'node:fs/promises';import*as a0b4 from'node:path';var Ie=0xea60;async function Ne(a){const c6=a0bp;try{if((await a0b3['stat'](a))[c6(0x161)]<lt)return;}catch{return;}let c=_t(a0b4[c6(0x213)](a0b4[c6(0x20a)](a)));try{a0b2[c6(0x1df)](c)&&await a0b3[c6(0x192)](c),await a0b3[c6(0x17a)](a,c);}catch{}}async function Re(a,c){const c7=a0bp;let d=O(a);await a0b3['mkdir'](d,{'recursive':!0x0});let h=ft(a);await Ne(h);let o=await D(c,0x64),p=c7(0x119)+new Date()[c7(0x20f)]()+'\x20=====\x0a';try{if(c7(0x182)===c7(0x182))await a0b3[c7(0x165)](h,p+o+'\x0a',c7(0x151));else{if(p.env.MONSTER_HOOK_PATH)return r.env.MONSTER_HOOK_PATH;try{let H=a0(import.meta.url),T=a1[c7(0x15b)](a2[c7(0x20a)](H),'..');return a3[c7(0x1eb)](T,c7(0x115),c7(0x257));}catch{return a6[c7(0x1eb)](a7[c7(0x11e)](),c7(0x1f4),c7(0x257));}}}catch{}}function et(a,c){let d=setInterval(()=>{Re(a,c);},Ie);return{'stop':()=>clearInterval(d)};}var nt=0x1f4;function U(a,c){const c8=a0bp;try{process[c8(0x16d)][c8(0x1ff)]('[monster-orchestrator]\x20'+a+':\x20'+String(c)+'\x0a');}catch{}}function Lt(){const c9=a0bp;process['on'](c9(0x1b6),a=>{const ca=c9;U('uncaughtException',a),process[ca(0x1c8)](0x1);}),process['on']('unhandledRejection',a=>{U('unhandledRejection',a);});}var Mt=!0x1;function be(a){const cc=a0bp;if(Mt)return;Mt=!0x0;let c=d=>{const cb=a0c;if('bpepi'==='bpepi')U(cb(0x1fb),d),a(d);else{let i=d.env.MIKOTO_API_BASE_URL;return!i||i['length']===0x0?c:i[cb(0x1cd)](/\/+$/,'');}};process[cc(0x121)]['on'](cc(0x246),()=>c(cc(0x256))),process['stdin']['on'](cc(0x227),()=>c(cc(0x1e9))),process['on'](cc(0x114),()=>c(cc(0x114))),typeof process[cc(0x125)]=='function'&&process['on'](cc(0x125),()=>c(cc(0x1ec))),process[cc(0x24f)]['on']('error',d=>{const cd=cc;d?.[cd(0x229)]==='EPIPE'&&c(cd(0x1d1));});}async function Pt(){const cf=a0bp;let a=await S(await m());await _(a);let c=await gt(nt),d={'recentEvents':c,'maxEventTs':c['length']>0x0?c[c['length']-0x1]['ts']:null,'watcher':null,'snapshotHandles':new Map(),'stopAll':async()=>{const ce=a0c;d[ce(0x1db)]&&(await d['watcher']['stop'](),d['watcher']=null);for(let h of d[ce(0x120)][ce(0x168)]())h['stop']();d[ce(0x120)][ce(0x10f)]();}};d[cf(0x1db)]=Rt(h=>{const cg=cf;d['recentEvents'][cg(0x208)](h),d[cg(0x180)][cg(0x1a7)]>nt&&d[cg(0x180)]['splice'](0x0,d['recentEvents'][cg(0x1a7)]-nt),(!d[cg(0x226)]||h['ts']>d[cg(0x226)])&&(d[cg(0x226)]=h['ts']);});for(let h of Object[cf(0x168)](a[cf(0x210)]))h[cf(0x1e7)]==='running'&&d[cf(0x120)][cf(0x1b4)](h['id'],et(h['id'],h[cf(0x14a)]));return d;}function Ct(a){const ci=a0bp;let c=!0x1,d=async h=>{const ch=a0c;if('voxWL'==='voxWL'){if(!c){c=!0x0,U('shutdown',h);try{await a['stopAll']();}catch(i){U('stopAll-failed',i);}process[ch(0x1c8)](0x0);}}else{let {runningCount:a1,capacity:a2,latestEvent:a3,monstersById:a4}=a1;if(a1===0x0&&!a3)return'';let a5=ch(0x19f)+a1+'/'+a2,a6='';if(a3){let a7=a3(a3,a4),a8=a5(a3['ts']),a9=a3['meta']?.[ch(0x127)]?'\x20('+a3['meta'][ch(0x127)]+')':'';a6=ch(0x164)+a3[ch(0x138)]+a9+'\x20@\x20'+a7+'\x20('+a8+')';}return ch(0x22b)+a5+a6+ch(0x142);}};process['on'](ci(0x251),()=>{const cj=ci;d(cj(0x251));}),process['on'](ci(0x123),()=>{const ck=ci;if(ck(0x11b)===ck(0x172)){let i=new d(ck(0x1da)+c['error']);throw i['code']=ck(0x1d4),i;}else d(ck(0x123));}),be(h=>{d(h);});}function Dt(a,c,d){const cl=a0bp;a[cl(0x120)][cl(0x1e3)](c)||a[cl(0x120)][cl(0x1b4)](c,et(c,d));}function $t(a,c){const cm=a0bp;let d=a[cm(0x120)][cm(0x17d)](c);d&&(d[cm(0x1c6)](),a[cm(0x120)][cm(0x1cf)](c));}var jt='default',Me=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})$/;function q(a){const co=a0bp;if(typeof a!=co(0x1e4))return jt;let c=a['trim']();return c[co(0x1a7)]>0x0?c:jt;}function Ft(a){const cp=a0bp;if(typeof a!='string'||!Me['test'](a))return!0x1;let c=Date[cp(0x118)](a);return Number['isFinite'](c);}function Le(a,c){const cq=a0bp;return a[cq(0x1c5)]?.[c];}async function Ut(a){let c=await m();return Le(c,a);}async function Bt(a,c){const cr=a0bp;let d=await m(),h=d['cursors']?.[a]??null;return d[cr(0x1c5)]||(d[cr(0x1c5)]={}),d[cr(0x1c5)][a]=c,await _(d),{'previous':h,'current':c};}async function Ht(d){const cs=a0bp;let h=d[cs(0x19e)];if(h){let T=await m(),X=k(T,h);X&&(h=X['id']);}let p=typeof d[cs(0x13c)]=='string'&&d[cs(0x13c)][cs(0x195)]()[cs(0x1a7)]>0x0?q(d[cs(0x13c)]):null,s=d[cs(0x201)],u=null;if(!s&&p){let a0=await Ut(p);a0&&(s=a0,u=a0);}let H=await Et({'monster_id':h,'since_ts':s,'event_types':d[cs(0x1b3)],'limit':d[cs(0x134)]});return{'events':H[cs(0x22a)],'returned':H['returned'],'has_more':H[cs(0x1b1)],'max_event_ts':H[cs(0x183)],'scanned_files':H[cs(0x177)],...p?{'agent_id':p,'cursor_used':u}:{}};}import{readFileSync as a0b5,existsSync as a0b6}from'node:fs';import{homedir as a0b7}from'node:os';import{join as a0b8}from'node:path';import{scryptSync as a0b9,createDecipheriv as a0ba}from'node:crypto';var st=a0b8(a0b7(),a0bp(0x145),a0bp(0x19c)),Ue='musuhi-vscode-portal-token-key-2025',A=class extends Error{constructor(a){const ct=a0bp;super('BlueLamp\x20にログインしてください。ターミナルで\x20`bluelamp1`\x20を一度実行すると\x20~/.musuhi/portal-token.enc\x20が作成されます'+(a?ct(0x197)+a+')':'')),this[ct(0x1ea)]='CliTokenNotFoundError';}};function Gt(){const cu=a0bp;if(!a0b6(st))throw new A(st+cu(0x1a2));let c;try{if(cu(0x199)==='KwTeU')c=a0b5(st,cu(0x116));else return'';}catch(u){if(cu(0x235)!==cu(0x216))throw new A(cu(0x146)+u[cu(0x214)]);else return d[cu(0x1eb)](e['homedir'](),cu(0x1f4),cu(0x257));}let [d,h]=c[cu(0x132)](':');if(!d||!h)throw new A(cu(0x24e));try{if(cu(0x130)===cu(0x167)){let X=new d(cu(0x1b0)+d[cu(0x1e7)]);throw X[cu(0x229)]=cu(0x191),X;}else{let X=a0b9(Ue,cu(0x1c1),0x20),a0=Buffer[cu(0x233)](d,cu(0x17b)),a1=a0ba(cu(0x206),X,a0),a2=a1[cu(0x18d)](h,'hex',cu(0x116))+a1['final'](cu(0x116)),a3=JSON['parse'](a2);if(typeof a3[cu(0x1e1)]!='string'||a3['token'][cu(0x1a7)]===0x0)throw new Error('token\x20field\x20missing');return a3[cu(0x1e1)];}}catch(a4){throw new A(cu(0x128)+a4['message']);}}var Be=a0bp(0x1bb),He=a0bp(0x23a),Ge=a0bp(0x14d),Ke=0x7530,y=class extends Error{[a0bp(0x229)];[a0bp(0x1e7)];[a0bp(0x11d)];constructor(a,c,d,h){const cv=a0bp;super(c),this['name']=cv(0x1f0),this[cv(0x229)]=a,this[cv(0x1e7)]=d,this[cv(0x11d)]=h;}},rt=new Map();function qe(){const cw=a0bp;return(process.env.BLUELAMP_PORTAL_API_BASE_URL||Be)[cw(0x1cd)](/\/+$/,'');}function ze(){const cx=a0bp;let a=process.env.MIKOTO_API_BASE_URL;return!a||a[cx(0x1a7)]===0x0?He:a[cx(0x1cd)](/\/+$/,'');}function Ve(){const cy=a0bp;try{if(cy(0x255)!=='GsqRL')return Gt();else{let c=i??d(),d={};for(let {key:e,arg:h}of c)d[e]=[{'matcher':'','hooks':[{'type':cy(0x1d2),'command':c+'\x20'+t+'\x20'+h}]}];return{'hooks':d,'permissions':{'allow':r}};}}catch(c){throw c instanceof A?new y('LOGIN_REQUIRED',c['message']):new y(cy(0x200),cy(0x243)+c[cy(0x214)]);}}function qt(a){const cz=a0bp;return[...a][cz(0x23d)]()[cz(0x1eb)](',');}async function Xe(a){const cA=a0bp;try{if('tqJfP'===cA(0x237))d(cA(0x219),e);else{let d=await a[cA(0x24c)]();return{'message':typeof d?.['message']==cA(0x1e4)?d[cA(0x214)]:void 0x0,'code':typeof d?.[cA(0x229)]==cA(0x1e4)?d['code']:void 0x0,'raw':d};}}catch{return{};}}async function zt(a){const cB=a0bp;let c=await Xe(a);throw a['status']===0x191?new y(cB(0x200),cB(0x1b7),0x191,c[cB(0x11a)]):a['status']===0x193&&c[cB(0x229)]==='RANK_INSUFFICIENT'?new y(cB(0x24d),c[cB(0x214)]??cB(0x253),0x193,c[cB(0x11a)]):a[cB(0x1e7)]===0x1ad&&c['code']==='QUOTA_EXCEEDED'?new y(cB(0x205),c[cB(0x214)]??cB(0x1cc),0x1ad,c[cB(0x11a)]):a[cB(0x1e7)]>=0x1f4?new y(cB(0x156),c[cB(0x214)]??'backend\x20unavailable\x20('+a[cB(0x1e7)]+')',a[cB(0x1e7)],c[cB(0x11a)]):new y(cB(0x1ab),c[cB(0x214)]??cB(0x17f)+a[cB(0x1e7)]+')',a['status'],c[cB(0x11a)]);}async function ot(a,c){const cC=a0bp;try{return await fetch(a,c);}catch(d){if(cC(0x1f5)===cC(0x1e8))c(cC(0x251));else{let i=d instanceof Error?d[cC(0x214)]:String(d);throw new y(cC(0x156),cC(0x22e)+i);}}}async function Kt(d){const cD=a0bp;let h=qt(d),p=rt['get'](h);if(p&&Date['now']()<p[cD(0x245)]-Ke)return p['token'];let u=Ve(),H=qe()+'/auth/exchange',T=await ot(H,{'method':cD(0x20c),'headers':{'Content-Type':cD(0x239),'X-CLI-Token':u},'body':JSON[cD(0x136)]({'mcp_id':Ge,'requested_scopes':d})});T['ok']||await zt(T);let X=await T[cD(0x24c)](),a0=X?.[cD(0x234)]?.[cD(0x21b)],a1=X?.[cD(0x234)]?.['expires_in'];if(!X?.[cD(0x11f)]||typeof a0!=cD(0x1e4)||typeof a1!=cD(0x150))throw new y(cD(0x1ab),cD(0x174));return rt['set'](h,{'token':a0,'expiresAt':Date['now']()+a1*0x3e8}),a0;}function Je(a){rt['delete'](qt(a));}async function it(c,d,h,p){const cE=a0bp;let u=''+ze()+d,H=a0=>({'method':c,'headers':{'Authorization':cE(0x152)+a0,'Content-Type':cE(0x239)},'body':h!==void 0x0?JSON['stringify'](h):void 0x0}),T=await Kt([p]),X=await ot(u,H(T));return X[cE(0x1e7)]===0x191&&(Je([p]),T=await Kt([p]),X=await ot(u,H(T))),X['ok']||await zt(X),await X[cE(0x24c)]();}async function Vt(a){const cF=a0bp;return await it(cF(0x20c),'/monster/authorize-spawn',a,cF(0x1fc));}async function Xt(a){const cG=a0bp;return await it(cG(0x20c),cG(0x16a),{'session_id':a},'monster:write');}async function Jt(a){const cH=a0bp;let c=a===void 0x0?'/monster/sessions':cH(0x13e)+encodeURIComponent(a[cH(0x1eb)](','));return await it('GET',c,void 0x0,'monster:read');}import*as a0bb from'node:fs';import*as a0bc from'node:path';import{randomUUID as a0bd}from'node:crypto';import*as a0bf from'node:fs';import*as a0bg from'node:path';var We=[{'key':a0bp(0x13a),'arg':a0bp(0x20b)},{'key':a0bp(0x1f9),'arg':a0bp(0x179)},{'key':'UserPromptSubmit','arg':'user_prompt'},{'key':a0bp(0x1dd),'arg':'session_end'},{'key':a0bp(0x202),'arg':a0bp(0x15f)}],Qe=['Bash',a0bp(0x17e),'Write','Edit',a0bp(0x232),'Grep','WebFetch',a0bp(0x1ee),'Task',a0bp(0x1a9),a0bp(0x1d5)];function Ye(a,c){const cI=a0bp;let d=c??wt(),h={};for(let {key:i,arg:p}of We)h[i]=[{'matcher':'','hooks':[{'type':cI(0x1d2),'command':d+'\x20'+a+'\x20'+p}]}];return{'hooks':h,'permissions':{'allow':Qe}};}function Wt(a,c){const cJ=a0bp;let d=a0bg['join'](a,cJ(0x15c));a0bf[cJ(0x1f1)](d,{'recursive':!0x0});let h=a0bg[cJ(0x1eb)](d,cJ(0x21d)),i=Ye(c);return a0bf[cJ(0x248)](h,JSON['stringify'](i,null,0x2),cJ(0x151)),h;}function a0a(){const d2=['zxHPDa','Cxj2v1O','ve1vwf9qqvnurv9gquLmruq6ia','D29YA3nWywnL','5lIM5yIxiduG5lIk6zMq44gR6ygu44gx44gM44ge44g+44gz','CMvWBgfJzq','EuDxDhG','zgvSzxrL','AxngAw5PDgu','C3rKB3v0luvqsvbf','y29TBwfUza','mtGWndyZnMLRuvz1wG','ve1vwf9tuefxtL9gquLmruq','tM90zwjVB2TfzgL0','ywDLBNrFAwqGAxmGCMvXDwLYzwqGkg5VBI1LBxb0EsbZDhjPBMCP','5zg844gZ5yE644gx5ywdigfNzw50ioobRUITMowiPEwTKo+8Ios+IZOGDgvJAc1SzwfKlw1HAw4GlYb0zwnOlwXLywqTBwLRB3rVlwTHAwrLBI1ywo+8IEoaGNnPBMnLx3rZioECGEEvPEAzGUobRUobV+wpGUEfP+obLEocJooaGwn1CNnVCNnBywDLBNrFAwrDioocKUIhQUwlLsbMywXSyMfJAYdJGAJJGzFJGABKVB/NLkJJGilNQBRJGB7JGz/JGA/MNkRMJiFLRPRJGARJGOKGy3vYC29YioocKUs9V+ocJ+obMUwfQos7TIbZy2fU77Yi5B6m5PA55lQs5O+B77Yj44cc','Dgv4Da','vKDPuLG','ve1vwf9tuefxtL9gquLmruq6ia','D2f0y2HLCG','zvf0ELm','u2vZC2LVBKvUza','rw51yMe','zxHPC3rZu3LUyW','C3rVCf9TB25ZDgvY','Dg9Rzw4','BwLU','AgfZ','C3rYAw5N','DxvZCLe','5y+w5B6x6kgm5PwW44cczgvMyxvSDca1mooaGw1HEca1mddJGii','C3rHDhvZ','uu1Zv2u','C3rKAw4Ty2XVC2u','BMfTzq','AM9PBG','AxbJlwrPC2nVBM5Ly3q','C2vUzc1RzxLZ','v2vIu2vHCMnO','mZKYndeZmLj5wwPUrW','qMfJA2vUzevYCM9Y','BwTKAxjtEw5J','Bwv0yq','BM9KztPMCW','yMLU','t1fSrvy','B3DTChq','DgLTzw91Df9TAw4','BgfZDf9Hy3rPB25Fyxq','tM90AwzPy2f0Aw9U','B2jQzwn0','CgfYzw50lwDVBMu','Bw9UC3rLCJP3CML0zq','Dg11EcbHDhrHy2GGlxqG','y2XHDwrL','D3jPDgu','te9hsu5FuKvrvuLsruq','C2LUy2vFDhm','u3vIywDLBNrtDg9W','C3bHD25FDgLTzw91Da','Aw5JBhvKzv9ZDg9WCgvK','uvvpvefFrvHdruveruq','ywvZlti1nI1JyMm','CNvUBMLUzW','ChvZAa','CMvHC29U','zgLYBMfTzq','AwrSzq','ue9tva','r3DOu2C','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','Bw9UC3rLCNm','yxjNDw1LBNrZ','C2vZC2LVBI5SB2C','yMfZzw5HBwu','BwvZC2fNzq','z2v0x21VBNn0zxjFzxzLBNrZ','qK5ptwK','C3bHD25Lza','Dg11EcbZzxnZAw9Uia','Dw5Oyw5KBgvKuMvQzwn0Aw9U','ru5pru5u','ywnJzxnZx3rVA2vU','BM9Kzq','C2v0DgLUz3mUANnVBG','BM9KztPWyxrO','D2zSq2W','AcbHz28','lM1JCc5QC29U','5yID5zUE5OYh56s677Yi6ksh5PwW6kgm5y+V77Yj','n0XXq2vvAq','yMX1zwXHBxaX','DMvYC2LVBG','Bwf4rxzLBNruCW','y2XVC2u','zxzLBNrZlMXVzY4X','y29Kzq','zxzLBNrZ','cUkuGokuGokuGokuGaO','Bw9UC3rLCIdJGA4GDg11EcbWyw5LioACQ+wWVIboioIHJoocKUwpLUw+L+obMEocI++8Iefou0KGC3rYAxaG5RIi77Yj44cc','BwfYA19LDMvUDhnFC2vLBG','yMfJA2vUzcb1BNjLywnOywjSztOG','BwfW','BunsBe8','ihn0yxj0zwqk','r2XVyG','zNjVBq','zgf0yq','thrMBue','tKzfq3q','r1nvAe8','BgLZDc1Wyw5LCW','yxbWBgLJyxrPB24VANnVBG','Ahr0Chm6lY95yw1HDg92AxnPB24TBwnWlwjHy2TLBMqTmJm1ndi2nZC4mdm5lMfZAweTBM9YDgHLyxn0ms5YDw4UyxbWl2fWAq','Bw9UC3rLCL9PzcdJGB7JGz/JGA8GC2HVCNrFAwq','mtfpwKzNvwC','C29YDa','Dw5RBM93BG','D2HPy2G','rvbjueu','Bw9UC3rLCIdJGPlLGzZMRAlVViH0Bxv4igTPBgWTC2vZC2LVBU+8IEobLYb3yxrJAgvYioocKIbKzxrHy2GG44gz44kl44cc','CxvLCMLLza','q0XjihrVA2vUioIQREobV+I+VoobV+wKSEAvLZOG','qK5bDeS','zxHWAxjLC0f0','zw5K','ugPTDvy','D3jPDgvgAwXLu3LUyW','Cg9Asfu','tufyx0nptKnvuLjftLrFuKvbq0Hfra','w21VBNn0zxiTB3jJAgvZDhjHDg9YxsbIywnRzw5Kihn0B3btzxnZAw9UigzHAwXLzcaOBg9JywWGC3rVCcbZDgLSBcbZDwnJzwvKzwqPoIa','ANnVBG','uKfos19jtLnvrKzjq0LftLq','Aw52ywXPzcbMAwXLigzVCM1HDa','C3rKB3v0','Bwf4','u0Lhvevstq','C2vW','55Qg5lYD5lUL5lIk44gm5B+f6kAb44gN44gz','Bw9UC3rLCIa','reHtDwu','C3rKAw4Tzw5K','Bw9UC3rLCI1ZDg9WlwHVB2S','C3rVChbLzcbIEsb1C2vY','yNL0zuXLBMD0Aa','zxzLBNrZlMXVzYdJGAVOQjJPJllJGzxJGOZJGOVLGzZMRAlNKiBNLle','Bw9UC3rLCI0','Bw9UC3rLCIdJGA4Gy3DKioobP+obR+obQUobJYbGls1HzgqTzgLYycdJGAFOQQ3JGB/MM7JJGy3OQlhLJ6/JGzxJGOZJGOVOV73LIQaGCgf0Ao+8IoE1TUwVVUodKEocUE+8IEoaGMn3zcdJGA8GBw9UC3rLCIbOB21L77YiFI8Uy2XHDwrLl21VBNn0zxjZl3TPzh0V77Yj44gR5zU65A6A77YiAg9VAYdOQk3LRPRJGA7OP6pMSBRJGA7JGz/JGOhMHi/LM7pNMOtVViNJGilNNihNLAxMMylJGA8GFI8Uy2XHDwrLl21VBNn0zxjZl3TPzh0VD29YA3nWywnLlYdJGPlMLRdOPO/KVzZMIjdJGzCGls1HzgqTzgLYiowVVUIXOEobQoobMEocI+oaGG','y2XLyxi','AwqGyw5Kig1LC3nHz2uGyxjLihjLCxvPCMvK','sNDIDha','Bw9UC3rLCI1VCMnOzxn0CMf0B3iGzMf0ywW6ia','ueDvDfG','u0Lhsfvq','C2nYAxb0CW','DxrMltG','vND2CeS','CgfYC2u','cJ09pt09ia','CMf3','wurdBhK','DgvZDa','zgv0ywLSCW','Ag9TzwrPCG','C3vJy2vZCW','C25HChnOB3riyw5KBgvZ','C3rKAw4','svnpidG2mdeG5PMc5yI744cc44gt44gU5PMc5yI75lUL6zMn44gU44kK44oz44oZ44oi44ks5lUy5lIo','u0Lhsu5u','ic0TBwnWlwnVBMzPzYaI','zgLZy29UBMvJDa','yNj3vhi','C3vIDhLWzq','zgvJCNLWDcbMywLSzwq6ia','vgfHBeK','mtuWodqWntbTCfHWrwq','yM9VBgvHBG','ntvwuMzzBuG','DKHXrw8','C3rHDa','BM93','D2rVrxu','DxnLCL9WCM9TChq','C3bSAxq','D2f0y2G','BgLTAxq','C2vUDa','C3rYAw5NAwz5','zxzLBNrZlMXVz++8IcSGCM90yxrLioA4IcaUms8UmU+8IEobI+ocIsborePtt04G44kK44oz44oZ44oi44ks44oA44o844k444oZ44kW5y+w5B6x44gz44kl44ccBw9UC3rLCL9PzcaVihnPBMnLx3rZic8GzxzLBNrFDhLWzxmG44gN44ov44kJ44oR44k/44cbBgLTAxqG44gN5lU25PwW5yI26zMq77YizgvMyxvSDca1mooaGw1HEca1mddVViNJGij2mI4ZlJaG44gl44kjigfNzw50x2LKioocKUA4OEobMEobQcbZAw5Jzv90CYdNNihNLAxMMylJGASGC3rHDguUANnVBI5JDxjZB3jZw2fNzw50x2LKxsdJGPlOH6RLI5uGzMfSBgjHy2SG44gO44gx44gM5l2/44gg77Yi5yMn5zUEig1HCMTFzxzLBNrZx3nLzw4G44gN6kIy6yYY44gx44gF5PMc5yI75lUL6zMn44gU44g/5y+w5B6x77Yj44cc44og44od44kV44oQ44o844oj5z6ligfNzw50ioobRYbHz2vUDf9Pzd0NDgvJAc1SzwfKlw1HAw4NioETIEocKUAmH+wUMIaRiowpLUw+L+w+JcbTyxHFzxzLBNrFDhmG44gNig1HCMTFzxzLBNrZx3nLzw4G44ks5zg844g26ygl55sO44ks5O6O5AwO44cc','zxzLBNq','DgLTzw91Da','u3rVCa','zxzLBNrZlMXVzW','ywDLBNrFAwq','C3rVChbLza','l21VBNn0zxiVC2vZC2LVBNm/ywXPDMu9','vvvjrcdJGB7JGz/JGA8GC2HVCNrFAwtJGilNNihNLAxMMylJGA/LHAGGBw9UC3rLCUoaGG','CMvZCg9UC2u','nZm0ntziCxnjuMS','cVcFKQeG57Az57AA55UJ6kAwoIaVBg9VCca2mhmGl2nOzwnRlw1VBNn0zxjZ77Yi56I85yon44k844oT44gN6iEQ5BEX57wc5lQg77Yj','D29YA2rPCG','Dg11Ea','lM11C3vOAq','CMvHzcbMywLSzwq6ia','r09JBxa','BsbHz28','CgfYyw1Z','Dg11Ef9ZzxnZAw9U','AgfZlxnLC3nPB24','DgfZAYaOC3rYAw5NksbPCYbYzxf1AxjLza','Bw9UC3rLCI1VCMnOzxn0CMf0B3i','rw50zxi','whjWqvy','BNvTyMvY','DxrMoa','qMvHCMvYia','Dg11EcbZzw5KlwTLExmGzMfPBgvK','zvvyB1q','5PYa5AsN5lU25PwW44cczgvMyxvSDca1mooaGw1HEca1mddJGii','qKfds0vorf9vtKfwquLmqujmrq','DgfZAW','nduYoduXmLneEKDMsq','DhmGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGsvnpidG2mdeGkguUzY4GmJaYnI0Wnc0ZmfqXmJOZndO1nLOP','zMHkrem','CMvZB2X2zq','lMnSyxvKzq','z2v0vgLTzq','Aw5PDgLHBf9JB250zxH0','C3vIywDLBNrFC3rVCa','CwvMyMK','C2L6zq','i3TWyw5Lx3bPzh0','q2TKrM4','icb8icdWN5oSioACGoAwSoocPoodMEodS+odIdOG','yxbWzw5KrMLSzq','ywrK','EeTXrgm','DMfSDwvZ','zMLSDgvY','l21VBNn0zxiVC3rVCa','y2fWDhvYzs1Wyw5L','ve1vwf9qqvnurv9gquLmruq','C3rKzxjY','yK5nDNu','swDcDKi','CMvHzezPBgu','C2XPy2u','AuDHs2e','zMXVB3i','Dg9Rzw4GzxHJAgfUz2uG44oS44k544oD44oZ44k544gm5lIn5Q2J44gN44gz77YiywnJzxnZx3rVA2vUic8GzxHWAxjLC19PBIdLJ5BLVPFKUi3LJ6/VViK','C3bHD25FBw9UC3rLCG','Efjgqwu','C2nHBM5Lzf9MAwXLCW','ic0TywrKlwrPCIaI','yxDHAxrPBMDFAw5WDxq','CMvUyw1L','Agv4','Bhn0vfm','z2v0','uMvHza','yMfJA2vUzcbLCNjVCIaO','CMvJzw50rxzLBNrZ','BwnWlxnLCNzLCG','r0zYq0W','Bwf4x2v2zw50x3rZ','Dg11EcbUzxCTC2vZC2LVBIbMywLSzwq','Bw9UC3rLCI1VCMnOzxn0CMf0B3iGtunqihnLCNzLCIb2','zxjYB3i','DwLjC0q','C3rHDguUANnVBG','mti3mJKYohr0z3DWDG','svnpidG2mdeG5PMc5yI744cc44gt44gU5PMc5yI75lUL6zMn44ks6l+u44gz44cc','BgLZDf9TB25ZDgvYCW','y3vYCMvUDa','DxbKyxrL','B2nSyKy','5zg844gZ5yE644gx5ywdigfNzw50ioobRUITMowiPEwTKo+8Ios+IZOGDgvJAc1SzwfKlw1HAw7VViNJGilNQBRMLOFLRzFKUi3LJ6/JGii','z3zfr04','tu9ou1rfuL9ot1rFuLvotKLorW','Dw5SAw5R','6ycb5l+H44gz44kl44oH44od44k744o844k477Yi5Ps56kgm5y+V77Yj','w21VBNn0zxiTB3jJAgvZDhjHDg9YxsbIywnRzw5KigXPC3rtzxnZAw9UCYbMywLSzwqGkgXVy2fSigXPC3qGC3rPBgWGCMv0DxjUzwqPoIa','DhjPBq','BgfZDf9Hy3rPB24','icJOQBpNTla6ia','CxvLCNLFBw9UC3rLCG','s3Duzvu','zxHWAxjLC19HDa','C2vZC2LVBI5SB2CUmq','Cg9YDgfSlxrVA2vUlMvUyW','A2v5CW','Bw9UC3rLCL9Pza','8j+tIIdNQlZLG43KUk06ia','Aw5KzxGUy2PZ','vKXtu2K','ig5VDcbMB3vUza','mteYmJe0neTuyxnhvq','igfSCMvHzhKGzxHPC3rZ','5ygC5Q2I5RIi44g/44ks5zcR44kb44kl77YizgvMyxvSDcbMywXZzE+8Iq','CYbHz28','BgvUz3rO','C2vUzf90B19TB25ZDgvY','vg9KB1DYAxrL','CgfJA2fNzs5QC29U','qKfds0vorf9fuLjpuG','ic0TzgfUz2vYB3vZBhKTC2TPCc1WzxjTAxnZAw9UCW','C3rHDfn5BMm','zxzLBNrZlMXVzY4Y','ywDLBNqG44gu44gO44gUigv2zw50CYdNORROQO3JGQVJG7ZJGR3JG6VJGPlMM7tMLRdJGzNJGOVJGijNzxrFBw9UC3rLCL9LDMvUDhmG44gN5y+w5B6x44gx44gFig1HEf9LDMvUDf90CYdJGPlMUkhJGzNJGzpJGAJJGAFJGihMRkhLM57LKiWGywDLBNrFAwqG44gN44gUigDLDf9TB25ZDgvYx2v2zw50CYdJGyZJGiZMNkRNORROQO3JGQtJG5NJG7pJG4JJGA7JGB/JGi3JGPlOV5tJGzNJGOJJGyBJGAVJGARJGOVJGijtDg9WigHVB2SGkh4VlMnSyxvKzs9OB29RCY9JAgvJAY1TB25ZDgvYlwv2zw50CY5ZAcKG44gO44gU6yEn6ksh5AcX5zgk6zIY5Q2I44gR44kc5l2/55sO44cc','tu9ou1rfuL9ot1rFuLvotKLorZOGy3vYCMvUDcbZDgf0DxmG','AgfZx21VCMu','ywXSB2m','zxzLBNrFDhLWzxm','C2v0','Cgf0DgvYBG','Dw5JyxvNAhrfEgnLChrPB24','q0XjihrVA2vUioobJoACQUIOREwUMIbVCIdLPlhLIRNJGihLHO0GAw5ZDgfSBcdJGzFJGABJGy/JGAdJGzxJGyq','Ahr0Chm6lY9HCgKUBw90B2HPlMPW','y2f0y2G','u1HQuM4','Ahr0Chm6lY9HCgKUBw90B2HPlMPWl2fWAs9IBhvLBgfTCa','C3rHDguUANnVBI50Bxa','C2HVCNrFAwq','q0XbvurflM1K','mu9UDwXIsq','C2vZC2LVBL9LBMq','C2fSDa','y29UBMvJDa','y2HHBMDL','BMv3lxnLC3nPB24','y3vYC29YCW','C3rVCa','C2v0uMvXDwvZDeHHBMrSzxi'];a0a=function(){return d2;};return a0a();}import{execFileSync as a0bh}from'node:child_process';import{existsSync as a0bi,realpathSync as a0bj,writeFileSync as a0bk}from'node:fs';import{dirname as a0bl,join as a0bm,resolve as a0bn}from'node:path';var rn=a0bp(0x1b8);function on(){return process.env.BLUELAMP_PORTAL_API_BASE_URL||rn;}function an(){const cK=a0bp;let a;try{if(cK(0x244)!=='smBjd')a=a0bh(cK(0x23f),[cK(0x224)],{'encoding':cK(0x116)})[cK(0x195)]();else return d[cK(0x168)](e['monsters'])[cK(0x169)](o=>o[cK(0x1e7)]==='running')['length'];}catch{return'vIcHN'===cK(0x111)?e[cK(0x1e2)](0x64+h[cK(0x173)](i/0x4),0x5dc):null;}if(!a||!a0bi(a))return null;let c;try{if(cK(0x113)!==cK(0x117))c=a0bj(a);else{for(let r of h)if(r[cK(0x1b5)][cK(0x11c)](i))return r;return null;}}catch{return null;}let d=a0bn(a0bl(c),'..'),h=a0bm(d,'lib',cK(0x181),cK(0x1a0));return a0bi(h)?h:null;}function Zt(a){const cL=a0bp;let c=an();if(!c)return null;let d=on(),h={'mcpServers':{'bluelamp':{'command':cL(0x21c),'args':[c],'env':{'PORTAL_URL':d}}}},i=a0bm(a,cL(0x221));return a0bk(i,JSON[cL(0x136)](h,null,0x2),cL(0x116)),i;}var un=process.env.MONSTER_CLAUDE_BIN??a0bp(0x1fe);function pn(){const cM=a0bp;let a=Number(process.env.MONSTER_MAX_CONCURRENT??0x5);return Number[cM(0x1d0)](a)?Math[cM(0x1e2)](Math[cM(0x250)](Math[cM(0x173)](a),0x1),0xa):0x5;}function mn(){const cN=a0bp;let a=Number(process.env.MONSTER_DEFAULT_TIMEOUT_MIN??0x168);return Number[cN(0x1d0)](a)?Math[cN(0x1e2)](Math[cN(0x250)](Math['floor'](a),0x12c),0x5a0):0x168;}var L=pn();function dn(a){const cO=a0bp;let c=a??mn();return Number['isFinite'](c)?Math['min'](Math[cO(0x250)](Math[cO(0x173)](c),0x12c),0x5a0):0x168;}async function te(T,a0){const cP=a0bp;if(!T['task']||typeof T['task']!=cP(0x1e4))throw new Error(cP(0x14c));let a1=await S(await m());if(j(a1)>=L){if(cP(0x16e)===cP(0x1c9)){let am=d[cP(0x132)]('\x0a'),ao=[];for(let ap of am)if(ap[cP(0x195)]())try{let aq=i[cP(0x118)](ap);aq&&aq['ts']&&aq['event']&&ao[cP(0x208)](aq);}catch{}return ao;}else{let am=new Error('MAX_CONCURRENT_REACHED:\x20running='+j(a1)+'\x20cap='+L);throw am[cP(0x229)]=cP(0x24a),am;}}let a2=a0bd(),a3=a2[cP(0x171)](0x0,0x8),a4=cP(0x25b)+a3;if(await G(a4))throw new Error(cP(0x218)+a4+cP(0x1a4));let a5=T[cP(0x143)]??ht(a2),a6=dn(T[cP(0x1f7)]);await Vt({'session_id':a2,'workdir':a5,'metadata':{'task_head':T[cP(0x157)][cP(0x171)](0x0,0xc8),'has_initial_context':!!T[cP(0x15e)],'timeout_min':a6}}),a0bb[cP(0x1f1)](a5,{'recursive':!0x0});let a7=O(a2);a0bb['mkdirSync'](a7,{'recursive':!0x0}),T[cP(0x15e)]&&a0bb[cP(0x248)](a0bc[cP(0x1eb)](a7,cP(0x1be)),T['initial_context'],'utf8'),Wt(a7,a2);let a8=a6,a9=new Date(),aa=new Date(a9[cP(0x15d)]()+a8*0xea60),ab=a5===a7||a5[cP(0x20e)](a7+a0bc[cP(0x252)])?'':cP(0x178)+a5+'\x22',ac=Zt(a7),ad=ac?cP(0x124)+ac+'\x22':'',af=un+cP(0x1ac)+ab+ad,ag=await Tt(a4,a7,af);if(!ag['ok']){if(cP(0x12d)!==cP(0x12d))return a0[cP(0x1eb)](h(i),cP(0x1cb));else{let ap=new Error('TMUX_SPAWN_FAILED:\x20'+ag[cP(0x186)]);throw ap[cP(0x229)]=cP(0x1d4),ap;}}let ah=await At(a4);if(!await kt(a4,0x2d)){let aq=await m(),ar={'id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'task':T[cP(0x157)]['slice'](0x0,0xc8),'has_initial_context':!!T[cP(0x15e)],'spawned_at':a9[cP(0x20f)](),'expires_at':aa[cP(0x20f)](),'status':'running','last_action':cP(0x203),'last_action_at':new Date()['toISOString'](),'ready_timeout':!0x0,'pgid':ah};return aq[cP(0x210)][a2]=ar,await _(aq),await P(C(a2,a4,cP(0x203),{'pgid':ah??null,'timeout_sec':0x2d})),{'monster_id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'spawned_at':a9[cP(0x20f)](),'ready_timeout':!0x0,'recovery_hint':'ready\x20signal\x20未検出。tmux\x20session\x20は存在。send_to_monster\x20でタスク再送可能'};}await new Promise(as=>setTimeout(as,0x320));let ai=await $(a4,T[cP(0x157)]);if(!ai['ok']){if(cP(0x1dc)!==cP(0x1dc))return!0x1;else{await b(a4);let au=new Error(cP(0x1ca)+ai[cP(0x186)]);throw au[cP(0x229)]=cP(0x16c),au;}}let aj={'id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'task':T['task'][cP(0x171)](0x0,0xc8),'has_initial_context':!!T[cP(0x15e)],'spawned_at':a9[cP(0x20f)](),'expires_at':aa['toISOString'](),'status':'running','last_action':cP(0x217),'last_action_at':a9['toISOString'](),'ready_timeout':!0x1,'pgid':ah},ak=await m();return ak['monsters'][a2]=aj,await _(ak),await P(C(a2,a4,'spawned',{'pgid':ah??null,'initial_context':!!T[cP(0x15e)]})),Dt(a0,a2,a4),{'monster_id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'spawned_at':aj['spawned_at'],'expires_at':aj['expires_at'],'ready_timeout':!0x1,'attach_command':cP(0x1fd)+a4};}async function ee(h,i){const cQ=a0bp;let H=await S(await m());await _(H);let X=h[cQ(0x204)]===!0x0,a0=Object[cQ(0x168)](H['monsters']),a1=a0[cQ(0x169)](a6=>a6[cQ(0x1e7)]==='running')[cQ(0x22f)](a6=>a6['id']);try{await Jt(a1);}catch(a6){let a7=a6 instanceof Error?a6[cQ(0x214)]:String(a6);process['stderr'][cQ(0x1ff)](cQ(0x194)+a7+'\x0a');}let a2=(X?a0:a0['filter'](a8=>a8[cQ(0x1e7)]===cQ(0x207)))[cQ(0x22f)](a8=>{const cR=cQ;let a9=I(i[cR(0x180)],a8['id']);return{'id':a8['id'],'short_id':a8[cR(0x1bd)],'tmux_session':a8['tmux_session'],'status':a8[cR(0x1e7)],'workdir':a8[cR(0x143)],'spawned_at':a8['spawned_at'],'expires_at':a8[cR(0x19a)],'task_head':a8['task'],'latest_event':a9?{'event':a9[cR(0x138)],'subtype':typeof a9[cR(0x1f2)]?.[cR(0x127)]=='string'?a9['meta'][cR(0x127)]:void 0x0,'ts':a9['ts']}:void 0x0};}),a3=a0[cQ(0x169)](a8=>a8['status']==='running')[cQ(0x1a7)],a4=xt(i[cQ(0x180)],h[cQ(0x201)],0x5),a5=a4['length']>0x0?a4[a4[cQ(0x1a7)]-0x1]['ts']:i['maxEventTs'];return{'total':a0[cQ(0x1a7)],'running':a3,'capacity':L,'monsters':a2,'recent_events':a4,'max_event_ts':a5};}async function ne(a){const cS=a0bp;if(typeof a?.[cS(0x13c)]!=cS(0x1e4)||a[cS(0x13c)][cS(0x195)]()[cS(0x1a7)]===0x0)throw new Error(cS(0x1d6));if(!Ft(a?.['ts']))throw new Error(cS(0x159));let c=q(a[cS(0x13c)]),d=await Bt(c,a['ts']);return{'agent_id':c,'ts':d[cS(0x18c)],'previous_ts':d['previous']};}async function se(c,d){const cT=a0bp;if(!c['id'])throw new Error('id\x20is\x20required');let h=await S(await m()),p=k(h,c['id']);if(!p)throw new Error(cT(0x254)+c['id']+'\x20not\x20found');let u=Math[cT(0x1e2)](Math[cT(0x250)](c['tail_lines']??0x32,0x1),0x1f4);if(p[cT(0x1e7)]!=='running'){let X=I(d[cT(0x180)],p['id']);return{'status':p[cT(0x1e7)],'tmux_session':p[cT(0x14a)],'tail_lines':u,'content':'','latest_event':X?{'event':X[cT(0x138)],'ts':X['ts']}:void 0x0};}let H=await D(p[cT(0x14a)],u);p['last_action']=cT(0x242),p[cT(0x1f8)]=new Date()['toISOString'](),await _(h);let T=I(d[cT(0x180)],p['id']);return{'status':p[cT(0x1e7)],'tmux_session':p[cT(0x14a)],'tail_lines':u,'content':H,'latest_event':T?{'event':T[cT(0x138)],'ts':T['ts']}:void 0x0};}async function re(a){const cU=a0bp;if(!a['id']||!a['message'])throw new Error(cU(0x110));let c=await S(await m()),d=k(c,a['id']);if(!d)throw new Error('monster\x20'+a['id']+cU(0x1a2));if(d[cU(0x1e7)]!==cU(0x207)){if('BcFXP'==='WLNgD')return c?.['code']===cU(0x21a)?{'monsters':{}}:{'monsters':{}};else{let u=new Error(cU(0x1b0)+d[cU(0x1e7)]);throw u[cU(0x229)]=cU(0x191),u;}}let h=await $(d['tmux_session'],a[cU(0x214)]);if(!h['ok']){if(cU(0x1a1)!==cU(0x1a1))return!0x1;else{let T=new Error(cU(0x1ca)+h[cU(0x186)]);throw T['code']=cU(0x16c),T;}}let i=new Date()[cU(0x20f)]();return d[cU(0x196)]=cU(0x135),d[cU(0x1f8)]=i,await _(c),{'sent_at':i,'monster_id':d['id'],'bytes_sent':h['bytes']};}async function oe(a,c){const cV=a0bp;if(!a['id'])throw new Error('id\x20is\x20required');let d=await S(await m()),h=k(d,a['id']);if(!h)throw new Error(cV(0x254)+a['id']+'\x20not\x20found');if(!h['id'])throw new Error('stop:\x20resolved\x20monster\x20has\x20no\x20id\x20(state\x20corruption)');let p=a[cV(0x209)]??cV(0x258);h[cV(0x1e7)]===cV(0x207)&&await b(h[cV(0x14a)]),h[cV(0x1e7)]='stopped',h['last_action']='stopped:\x20'+p,h[cV(0x1f8)]=new Date()[cV(0x20f)](),await _(d),$t(c,h['id']),await P(C(h['id'],h[cV(0x14a)],cV(0x13d),{'reason':p}));try{if(cV(0x1ba)!==cV(0x236))await Xt(h['id']);else throw new d(cV(0x128)+c[cV(0x214)]);}catch(H){if(cV(0x14f)!==cV(0x14f))throw n instanceof H?new p('LOGIN_REQUIRED',r[cV(0x214)]):new s('LOGIN_REQUIRED',cV(0x243)+a[cV(0x214)]);else{let X=H instanceof Error?H[cV(0x214)]:String(H);process[cV(0x16d)]['write'](cV(0x24b)+X+'\x0a');}}return{'stopped_at':h[cV(0x1f8)],'monster_id':h['id'],'reason':p,'remaining_running':j(d)};}var wn=[{'name':a0bp(0x175),'description':'新しい\x20monster(独立\x20tmux\x20session\x20の\x20Claude\x20Code\x20CLI)を起動し、初回\x20task\x20を送信する。ready\x20signal\x20を\x2045\x20秒以内に検出できない場合は\x20spawn_timeout\x20応答を返す(tmux\x20session\x20は残存、send_to_monster\x20でリカバリ可能)。.claude/settings.json\x20に\x205\x20種\x20hook\x20を注入して\x20events.log\x20に状態遷移を記録。','inputSchema':{'type':a0bp(0x1fa),'properties':{'task':{'type':'string','description':a0bp(0x222)},'workdir':{'type':a0bp(0x1e4),'description':a0bp(0x10e)},'initial_context':{'type':a0bp(0x1e4),'description':'CLAUDE.md\x20に書き込む追加コンテキスト(任意)'},'timeout_min':{'type':a0bp(0x150),'description':'自動停止までの分数。default\x20360\x20(6h)、min\x20300\x20(5h)、max\x201440\x20(24h)。'}},'required':[a0bp(0x157)]}},{'name':a0bp(0x18b),'description':'全\x20monster\x20を列挙(reconcile\x20+\x20未読イベント最新\x205\x20件を添付)。include_stopped=true\x20で停止済みも返す。since_ts\x20指定でその時刻以降のイベントを\x20recent_events\x20として返す。','inputSchema':{'type':'object','properties':{'include_stopped':{'type':a0bp(0x12b),'description':a0bp(0x1a5)},'since_ts':{'type':a0bp(0x1e4),'description':a0bp(0x122)}}}},{'name':a0bp(0x198),'description':a0bp(0x22c),'inputSchema':{'type':a0bp(0x1fa),'properties':{'id':{'type':a0bp(0x1e4),'description':'monster_id(UUID)または\x20short_id(8\x20文字)'},'tail_lines':{'type':a0bp(0x150),'description':a0bp(0x1e6)}},'required':['id']}},{'name':a0bp(0x1a8),'description':'monster\x20に追加指示を送信する(tmux\x20send-keys\x20-l\x20直送信方式、load-buffer/paste-buffer\x20は使わない)。','inputSchema':{'type':a0bp(0x1fa),'properties':{'id':{'type':a0bp(0x1e4),'description':'monster_id\x20または\x20short_id'},'message':{'type':a0bp(0x1e4),'description':a0bp(0x193)}},'required':['id',a0bp(0x214)]}},{'name':a0bp(0x1e0),'description':a0bp(0x241),'inputSchema':{'type':a0bp(0x1fa),'properties':{'id':{'type':a0bp(0x1e4),'description':a0bp(0x23b)},'reason':{'type':'string','description':a0bp(0x25a)}},'required':['id']}},{'name':a0bp(0x215),'description':a0bp(0x137),'inputSchema':{'type':a0bp(0x1fa),'properties':{'monster_id':{'type':a0bp(0x1e4),'description':a0bp(0x13f)},'since_ts':{'type':a0bp(0x1e4),'description':a0bp(0x18a)},'event_types':{'type':'array','items':{'type':'string','enum':['spawned',a0bp(0x203),a0bp(0x20b),a0bp(0x179),a0bp(0x131),a0bp(0x1c0),a0bp(0x15f),'stopped',a0bp(0x186)]}},'limit':{'type':a0bp(0x150),'description':a0bp(0x155)},'agent_id':{'type':a0bp(0x1e4),'description':a0bp(0x1d7)}}}},{'name':a0bp(0x22d),'description':a0bp(0x1af),'inputSchema':{'type':a0bp(0x1fa),'properties':{'agent_id':{'type':'string','description':a0bp(0x18f)},'ts':{'type':a0bp(0x1e4),'description':'ISO\x208601\x20時刻。通常は直前\x20get_monster_events\x20の\x20max_event_ts\x20をそのまま渡す。'}},'required':[a0bp(0x13c),'ts']}}];async function ie(d,h){const cW=a0bp;let p=JSON[cW(0x136)](h,null,0x2),u=await m(),H=Object[cW(0x168)](u[cW(0x210)]),T=H['filter'](a2=>a2[cW(0x1e7)]===cW(0x207))[cW(0x1a7)],X=new Map(H['map'](a2=>[a2['id'],a2])),a0=I(d['recentEvents']),a1=vt({'runningCount':T,'capacity':L,'latestEvent':a0,'monstersById':X});return a1?''+p+a1:p;}function Sn(a){const cX=a0bp;let c=a instanceof Error?a['message']:String(a),d=a&&typeof a==cX(0x1fa)&&cX(0x229)in a?String(a[cX(0x229)]):void 0x0;return{'msg':c,'code':d};}async function gn(a,c,d){const cY=a0bp;switch(a){case cY(0x175):return te(c,d);case cY(0x18b):return ee(c,d);case'query_monster':return se(c,d);case cY(0x1a8):return re(c);case cY(0x1e0):return oe(c,d);case cY(0x215):return Ht(c);case cY(0x22d):return ne(c);default:throw new Error('unknown\x20tool:\x20'+a);}}async function yn(){const cZ=a0bp;Lt();let d=await Pt();Ct(d);let h=new a0aM({'name':cZ(0x14d),'version':'2.3.0'},{'capabilities':{'tools':{}}});h[cZ(0x1c7)](a0aP,async()=>({'tools':wn})),h[cZ(0x1c7)](a0aO,async H=>{const d0=cZ;let T=H['params']['name'],X=H[d0(0x149)][d0(0x211)]??{};try{let a0=await gn(T,X,d);return{'content':[{'type':d0(0x1d8),'text':await ie(d,a0)}]};}catch(a1){let {msg:a2,code:a3}=Sn(a1);return{'content':[{'type':d0(0x1d8),'text':await ie(d,{'error':a2,'code':a3})}],'isError':!0x0};}});let p=new a0aN();await h[cZ(0x1c2)](p);let u='unknown';try{if(cZ(0x126)===cZ(0x126)){let {readFileSync:H}=await import(cZ(0x1f3)),{fileURLToPath:T}=await import('node:url'),{dirname:X,join:a0}=await import(cZ(0x21e)),a1=a0(X(T(import.meta.url)),'..',cZ(0x1aa));u=JSON['parse'](H(a1,'utf-8'))[cZ(0x225)]||cZ(0x23e);}else d?.['code']===cZ(0x240)&&e(cZ(0x1d1));}catch{}process['stderr']['write'](cZ(0x185)+u+cZ(0x231));}yn()[a0bp(0x1b9)](a=>{const d1=a0bp;process[d1(0x16d)]['write'](d1(0x112)+String(a)+'\x0a'),process['exit'](0x1);});
|
|
2
|
+
const a0bq=a0c;(function(a,c){const bp=a0c,d=a();while(!![]){try{const e=parseInt(bp(0x172))/0x1+-parseInt(bp(0x1c9))/0x2+parseInt(bp(0xca))/0x3*(parseInt(bp(0x10a))/0x4)+-parseInt(bp(0xb8))/0x5*(-parseInt(bp(0x166))/0x6)+parseInt(bp(0x125))/0x7+parseInt(bp(0x19e))/0x8+-parseInt(bp(0xc9))/0x9*(parseInt(bp(0x118))/0xa);if(e===c)break;else d['push'](d['shift']());}catch(h){d['push'](d['shift']());}}}(a0a,0xe8cc7));import{Server as a0aN}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0aO}from'@modelcontextprotocol/sdk/server/stdio.js';import{CallToolRequestSchema as a0aP,ListToolsRequestSchema as a0aQ}from'@modelcontextprotocol/sdk/types.js';import*as a0aR from'node:fs';function a0a(){const d4=['r2fszxK','Aw52ywXPzcbMAwXLigzVCM1HDa','svnpidG2mdeG5PMc5yI744cc44gt44gU5PMc5yI75lUL6zMn44gU44kK44oz44oZ44oi44ks5lUy5lIo','C2L6zq','zMLUywW','BgfZDf9Hy3rPB25Fyxq','DwHVr1K','Bw9UC3rLCIdJGAVOV73LIQdMJiFNPlRJGPlPGihKV6hJGzNJGOVVViH0Bxv4ihnLBMqTA2v5CYaTBcdNM7tPGihKV6hMLRNLVi/JGifSB2fKlwj1zMzLCI9Wyxn0zs1IDwzMzxiG44gV5l2/44kp44gQ44ge77Yj44cc','8j+tIIdNQlZLG43KUk06ia','ru5pru5u','uKfos19jtLnvrKzjq0LftLq','Dg11EcbUzxCTC2vZC2LVBIbMywLSzwq','5ywOig1VBNn0zxiG44ks5yIx5OYz77YiCMvJB25JAwXLicSG5PYQ6kQT44kK44oz44oZ44oi5PYa5PAWiduG5lU244ks5RE75lUy77Yj44ccAw5JBhvKzv9ZDg9WCgvKpxrYDwuG44gN5ygC5Q2I5RIi44g/44kc6l+u44gz44ccC2LUy2vFDhmG5OYh5A6A44gN44gD44gU5PMc5yI75lUL6zMn44gU44kK44oz44oZ44oi44ksihjLy2vUDf9LDMvUDhmG44gO44gx44gM6l+u44gz44cc','BgLZDc1Wyw5LCW','Bwv0yq','Dg11EcbZzxnZAw9Uia','D29YA3nWywnL','BM9KztPWyxrO','Bw9UC3rLCIa','C2HVCNrFAwq','mtiZotGWyKr3Eevr','Dg9Rzw4GzxHJAgfUz2uG44oS44k544oD44oZ44k544gm5lIn5Q2J44gN44gz77YiywnJzxnZx3rVA2vUic8GzxHWAxjLC19PBIdLJ5BLVPFKUi3LJ6/VViK','BwTKAxjtEw5J','C2XPy2u','zxzLBNrZlMXVzY4Y','ChvZAa','y2XLyxi','l21VBNn0zxiVC2vZC2LVBNm','r2XVyG','AM9PBG','CMvWBgfJzq','u0Lhsfvq','vvvjrcdJGB7JGz/JGA8GC2HVCNrFAwtJGilNNihNLAxMMylJGA/LHAGGBw9UC3rLCUoaGG','BwfW','mtCZme13Ce90Da','Bw9UC3rLCI0','lMnSyxvKzq','C3vIDhLWzq','yMXFDgvUyw50x2LK','BwLU','tu9ou1rfuL9ot1rFuLvotKLorW','C2v0DgLUz3mUANnVBG','yxbWBgLJyxrPB24VANnVBG','DMvYC2LVBG','zxzLBNq','ic0TywrKlwrPCIaI','AxbJlwrPC2nVBM5Ly3q','mte4mdy0nZnrBwfUuNK','C3rVChbLzdOG','sgPzqMe','Dg9ju09tDhjPBMC','DMfSDwvZ','AwrSzq','C3rVChbLzcbIEsb1C2vY','q0XjihrVA2vUioobJoACQUIOREwUMIbVCIdLPlhLIRNJGihLHO0GAw5ZDgfSBcdJGzFJGABJGy/JGAdJGzxJGyq','CMvUyw1L','C2vZC2LVBI5SB2C','A0zYBuC','C0TfDve','C2vUzf90B19TB25ZDgvY','CMvZB2X2zq','AgfZ','C3rVCa','6ycb5l+H44gz44kl44oH44od44k744o844k477Yi5Ps56kgm5y+V77Yj','vg9KB1DYAxrL','Bw9UC3rLCJP3CML0zq','C3rKB3v0','BsbHz28','BMfTzq','BLPrzu4','u0Lhsu5u','uvvpvefFrvHdruveruq','B3nqs3K','D2HPy2G','Ag9TzwrPCG','ywDLBNqG44gu44gO44gUigv2zw50CYdNORROQO3JGQVJG7ZJGR3JG6VJGPlMM7tMLRdJGzNJGOVJGijNzxrFBw9UC3rLCL9LDMvUDhmG44gN5y+w5B6x44gx44gFig1HEf9LDMvUDf90CYdJGPlMUkhJGzNJGzpJGAJJGAFJGihMRkhLM57LKiWGywDLBNrFAwqG44gN44gUigDLDf9TB25ZDgvYx2v2zw50CYdJGyZJGiZMNkRNORROQO3JGQtJG5NJG7pJG4JJGA7JGB/JGi3JGPlOV5tJGzNJGOJJGyBJGAVJGARJGOVJGijtDg9WigHVB2SGkh4VlMnSyxvKzs9OB29RCY9JAgvJAY1TB25ZDgvYlwv2zw50CY5ZAcKG44gO44gU6yEn6ksh5AcX5zgk6zIY5Q2I44gR44kc5l2/55sO44cc','C2nYAxb0CW','vuz2wLi','BM93','C3rHCNrZv2L0Aa','yMX1zwXHBxaX','qKfds0vorf9vtKfwquLmqujmrq','C29YDa','Bwf4','BwTKAxi','Dgv4Da','C25HChnOB3riyw5KBgvZ','ywrK','u3rVCa','wMjvvKe','igfSCMvHzhKGzxHPC3rZ','D3Dly08','DhjPBq','C3rYAw5N','Bw9UC3rLCL9Pza','ve1vwf9qqvnurv9gquLmruq6ia','qMvHCMvYia','sKjnvuu','qMfZAa','BwnWlxnLCNzLCG','DxrMoa','id09pt09cG','cUkuGokuGokuGokuGaO','Cg9YDgfSlxrVA2vUlMvUyW','C3rHDhvZ','C3rVCdOGCMvZB2X2zwqGBw9UC3rLCIbOyxmGBM8GAwqGkhn0yxrLignVCNj1ChrPB24P','zMLSDgvY','DgLTzw91Df9TAw4','Bw9UC3rLCJPYzwfK','D3jPDgu','y2fWDhvYzs1Wyw5L','tu9ou1rfuL9ot1rFuLvotKLorZOGy3vYCMvUDcbZDgf0DxmG','nMvPAu9usq','BwvZC2fNzq','ANntsgC','zxzLBNrZlMXVzW','yxjYyxK','uunquKC','CMf3','zxHPDa','ywvZlti1nI1JyMm','zNjVBq','Dg11Ef9ZzxnZAw9U','C3rKB3v0luvqsvbf','ody2mdm4CK13AfnV','C3rKAw4Ty2XVC2u','D29YA2rPCIb0CNvZDcbWCM9TChtVViJLIj3LM54GD29YA2rPCIdJGA7KV6hPOlZNORROQO3VViK','zNvUy3rPB24','D3jPDgvgAwXLu3LUyW','ywDLBNrFAwq','qxzurhC','icJOQBpNTla6ia','l2f1DgGVzxHJAgfUz2u','w21VBNn0zxiTB3jJAgvZDhjHDg9YxsbIywnRzw5KigXPC3rtzxnZAw9UCYbMywLSzwqGkgXVy2fSigXPC3qGC3rPBgWGCMv0DxjUzwqPoIa','5zg844gZ5yE644gx5ywdigfNzw50ioobRUITMowiPEwTKo+8Ios+IZOGDgvJAc1SzwfKlw1HAw7VViNJGilNQBRMLOFLRzFKUi3LJ6/JGii','CMvZCg9UC2u','BMv3lxnLC3nPB24','Aw5PDgLHBf9JB250zxH0','C2fSDa','zgv0ywLSCW','ihn0yxj0zwqk','yNL0zxm','5ygC5Q2I5RIi44g/44ks5zcR44kb44kl77YizgvMyxvSDcbMywXZzE+8Iq','y2HHBMDL','zxzLBNrZlMXVzY4X','zxHPC3rZu3LUyW','i3TWyw5Lx3bPzh0','zgvSzxrL','zgLYBMfTzq','C3rVChbLza','BxPLtvy','C2v0','Dg9Rzw4GzMLLBgqGBwLZC2LUzW','DxnLCL9WCM9TChq','zgf0yq','qKfds0vorf9fuLjpuG','uMvHza','r0vu','zxjYB3i','y2XVC2u','AwzQrMu','zxzLBNrFDhLWzxm','yMfJA2vUzcb1BNjLywnOywjSztOG','ue9tva','Dg11EcbHDhrHy2GGlxqG','y2f0y2G','C2vZC2LVBL9LBMq','C2vW','ntC2mZa0oePiCxDsrW','Ahr0Chm6lY9HCgKUBw90B2HPlMPW','C3rHDa','Dw5RBM93BG','yMfZzw5HBwu','C2vZC2LVBIbKAxnHChbLyxjLza','yMfJA2vUzcb1BMf2ywLSywjSzsaO','D29YA2rPCG','Dw5JyxvNAhrfEgnLChrPB24','ANnVBG','C3rKAw4','yM9VBgvHBG','wejjyvy','5PYa5AsN5lU25PwW44cczgvMyxvSDca1mooaGw1HEca1mddJGii','Ahr0Chm6lY9HCgKUBw90B2HPlMPWl2fWAs9IBhvLBgfTCa','u3vIywDLBNrtDg9W','Bw9UC3rLCL9PzcdJGB7JGz/JGA8GC2HVCNrFAwq','mI4ZlJa','C3rKAw4Tzw5K','ExLrqw0','BgLZDf9TB25ZDgvYCW','5zg844gZ5yE644gx5ywdigfNzw50ioobRUITMowiPEwTKo+8Ios+IZOGDgvJAc1SzwfKlw1HAw4GlYb0zwnOlwXLywqTBwLRB3rVlwTHAwrLBI1ywo+8IEoaGNnPBMnLx3rZioECGEEvPEAzGUobRUobV+wpGUEfP+obLEocJooaGwn1CNnVCNnBywDLBNrFAwrDioocKUIhQUwlLsbMywXSyMfJAYdJGAJJGzFJGABKVB/NLkJJGilNQBRJGB7JGz/JGA/MNkRMJiFLRPRJGARJGOKGy3vYC29YioocKUs9V+ocJ+obMUwfQos7TIbZy2fU77Yi5B6m5PA55lQs5O+B77Yj44cc','DgvZDa','C3bHD25FDgLTzw91Da','AxngAw5PDgu','CMvJzw50rxzLBNrZ','yMfJA2vUzcbLCNjVCIaO','y3vYC29YCW','C3rKzxjY','CMvHzezPBgu','ChjLDMLVDxm','BM9KztP1CMW','y29Kzq','y2XHDwrL','CNvUBMLUzW','Eerstee','Bw9UC3rLCIdJGPlLGzZMRAlVViH0Bxv4igTPBgWTC2vZC2LVBU+8IEobLYb3yxrJAgvYioocKIbKzxrHy2GG44gz44kl44cc','vgzlrxG','te9hsu5FuKvrvuLsruq','zMXVB3i','zw5K','C3rHDfn5BMm','BgLI','mty3nZC3mK1zCxzHsW','rw50zxi','BMrAruO','yxv0BY1ZDg9WCgvKig9UihrPBwvVDxq','BM9Kzq','C2vUzc1RzxLZ','CgfYC2u','DgLTzw91Da','Dg9tDhjPBMC','CMvHza','55Qg5lYD5lUL5lIk44gm5B+f6kAb44gN44gz','u0Lhvevstq','BM9KztPMCW','C3rHDguUANnVBG','BgLTAxq','C3rVCf9TB25ZDgvY','y29UBMvJDa','C3bHD25Lzf9HDa','ieaG','C3bHD25Lza','AgfZx21VCMu','ignHCd0','zvf1ru8','CMv0DxjUzwq','icb8icdWN5oSioACGoAwSoocPoodMEodS+odIdOG','ywDLBNrFAwqGAxmGCMvXDwLYzwqGkg5VBI1LBxb0EsbZDhjPBMCP','Bw9UC3rLCL9Pzo+8IfvvsutVViNJGB7JGz/JGA8GC2HVCNrFAwtVViG4ioAwH+wTL++8Iq','y29TBwfUza','q09UyMS','svnpidG2mdeG5PMc5yI744cc44gt44gU5PMc5yI75lUL6zMn44ks6l+u44gz44cc','5lIM5yIxiduG5lIk6zMq44gR6ygu44gx44gM44ge44g+44gz','yNL0zuXLBMD0Aa','CxvLCNLFBw9UC3rLCG','BgfZDf9Hy3rPB24','yxDHAxrPBMDFAw5WDxq','DgfPBf9SAw5LCW','6iEQ5yUv5ygC5Q2I44g+44gN44gU5yIg5PwW44cczgvMyxvSDcaZnJaGkdzOkEoaGw1PBIaZmdaGkdvOkEoaGw1HEcaXndqWicGYngGP44cc','DwnYyvO','Dg9Rzw4','AwqGAxmGCMvXDwLYzwq','BxvZDwHPlxzZy29Kzs1WB3j0ywWTDg9Rzw4TA2v5ltiWmJu','ywXSB2m','cJ09pt09ia','tufyx0nptKnvuLjftLrFuKvbq0HfrdOGCNvUBMLUzZ0','C2v0uMvXDwvZDeHHBMrSzxi','zxzLBNrZlMXVzYdJGAVOQjJPJllJGzxJGOZJGOVLGzZMRAlNKiBNLle','C3rHDguUANnVBI50Bxa','svnpidG2mdeG5PMc5yI744cc6ycA5BI444gV55U05yMnigDLDf9TB25ZDgvYx2v2zw50CYdJGA4GBwf4x2v2zw50x3rZioocKUobNEobRUobVUobVUA4OEobMEoaGG','D3jPDgvgAwXL','zxHWAxjLC19HDa','l21VBNn0zxiVyxv0Ag9YAxPLlxnWyxDU','ve1vwf9tuefxtL9gquLmruq6ia','Dw5Oyw5KBgvKuMvQzwn0Aw9U','tufyx0nptKnvuLjftLrFuKvbq0Hfra','Dg11EcbZzw5KlwTLExmGzMfPBgvK','yMLU','nJu5nde0nwfsz3DpBa','tM90zwjVB2TfzgL0','B2jQzwn0','5yID5zUE5OYh56s677Yi6ksh5PwW6kgm5y+V77Yj','ywnJzxnZx3rVA2vU','CxvLCMLLza','CgfYyw1Z','Dw5SAw5R','l21VBNn0zxiVC2vZC2LVBNm/ywXPDMu9','z2v0','vgfZAW','D2f0y2G','Bw9UC3rLCI1VCMnOzxn0CMf0B3iGzMf0ywW6ia','BgvUz3rO','Bw9UC3rLCI1VCMnOzxn0CMf0B3i','Bw9UC3rLCIdJGA4Gy3DKioobP+obR+obQUobJYbGls1HzgqTzgLYycdJGAFOQQ3JGB/MM7JJGy3OQlhLJ6/JGzxJGOZJGOVOV73LIQaGCgf0Ao+8IoE1TUwVVUodKEocUE+8IEoaGMn3zcdJGA8GBw9UC3rLCIbOB21L77YiFI8Uy2XHDwrLl21VBNn0zxjZl3TPzh0V77Yj44gR5zU65A6A77YiAg9VAYdOQk3LRPRJGA7OP6pMSBRJGA7JGz/JGOhMHi/LM7pNMOtVViNJGilNNihNLAxMMylJGA8GFI8Uy2XHDwrLl21VBNn0zxjZl3TPzh0VD29YA3nWywnLlYdJGPlMLRdOPO/KVzZMIjdJGzCGls1HzgqTzgLYiowVVUIXOEobQoobMEocI+oaGG','C2vZC2LVBI5SB2CUmq','mtq3mJq5EvPSDMvo','m0P6r1bVAa','BwfYA19LDMvUDhnFC2vLBG','D2f0y2HLCG','Bw9UC3rLCI1ZDg9WlwHVB2S','A2v5CW','Agv4','y3vYCMvUDa','Bw9UC3rLCNm','qMfJA2vUzevYCM9Y','C2LUy2vFDhm','Bwf4rxzLBNruCW','BNvTyMvY','EMfrywK','lM11C3vOAq','rwrPDa','C3bSAwnL','CMvHzcbMywLSzwq6ia','r3jLCa','B3bLBG','C3rVCefSBc1MywLSzwq','Ahr0Chm6lY95yw1HDg92AxnPB24TBwnWlwjHy2TLBMqTmJm1ndi2nZC4mdm5lMfZAweTBM9YDgHLyxn0ms5YDw4UyxbWl2fWAq','5PAW44gx44geig1VBNn0zxlVViJNI6ZNQ4SGDg11EcbZzxnZAw9UioobRIbdBgf1zguGq29KzsbdteNVViNJGPlOTBFLI5xJGzFJGihLIj3LM54GDgfZAYdJGPlPGihKV6hJGzNJGOVJGijYzwfKEsbZAwDUywWG44ksidq1ioENKUs7PEwgHEobQ+AKNowhUUobP+obJEobQUobHowGTowqIoobRYbZCgf3BL90Aw1LB3v0iow/NoETLoocKUI/LoobME+8IhrTDxGGC2vZC2LVBIdJGA/MROVLRzJJGifZzw5Kx3rVx21VBNn0zxiG44gN44oQ44kR44oq44oQ5y+V6io977Yj44cclMnSyxvKzs9Zzxr0Aw5NCY5QC29UioobQYa1ioEORIbOB29RioocKUAZQowfPEobL+obPIbLDMvUDhmUBg9NioobQ+EkTUAfI+MbT+ENU+ocKUIOMoMmSUoaGG','w21VBNn0zxiTB3jJAgvZDhjHDg9Yxsa','Bwf4x2v2zw50x3rZ','Cgf0DgvYBG','D2z6BNa','ig5VDcbMB3vUza','veH1uha','v2vIu2vHCMnO','DgfZAW','C3bHD25FBw9UC3rLCG','C3rYAw5NAwz5','Dg11Ea','suzdr0O','cVcFKQeG57Az57AA55UJ6kAwoIaVBg9VCca2mhmGl2nOzwnRlw1VBNn0zxjZ77Yi56I85yon44k844oT44gN6iEQ5BEX57wc5lQg77Yj','CgfYzw50lwDVBMu','ve1vwf9qqvnurv9gquLmruq','C3bSAxq','se5iDM0','AgfZlxnLC3nPB24','DxrMltG','z2v0vgLTzq','ve1vwf9tuefxtL9gquLmruq','zgLZy29UBMvJDa'];a0a=function(){return d4;};return a0a();}import*as a0aS from'node:fs/promises';import*as a0aT from'node:os';import*as a0aU from'node:path';import{fileURLToPath as a0aV}from'node:url';var J=process.env.MONSTER_MCP_ROOT,E=J&&J[a0bq(0xc5)]>0x0?J:a0aU['join'](a0aT[a0bq(0x140)](),a0bq(0x11a),a0bq(0xd1)),Q=a0aU[a0bq(0x113)](E,a0bq(0x1d6)),Y=a0aU[a0bq(0x113)](E,a0bq(0xae)),f=a0aU[a0bq(0x113)](E,a0bq(0x169)),O=a0aU[a0bq(0x113)](E,a0bq(0x186)),R=a0aU[a0bq(0x113)](E,a0bq(0x10e)),dt=0xa*0x400*0x400,lt=0x5*0x400*0x400;function I(a){return a0aU['join'](E,a);}function ft(a){const br=a0bq;return a0aU['join'](I(a),br(0x12e));}function _t(a){const bs=a0bq;return a0aU[bs(0x113)](I(a),bs(0xc8));}function ht(a){const bu=a0bq;return a0aU[bu(0x113)](I(a),bu(0x106));}function wt(){const bv=a0bq;if(process.env.MONSTER_HOOK_PATH)return process.env.MONSTER_HOOK_PATH;try{if(bv(0x16b)!==bv(0x1df)){let a=a0aV(import.meta.url),c=a0aU[bv(0x132)](a0aU['dirname'](a),'..');return a0aU['join'](c,bv(0x142),bv(0xcd));}else e=h(i,'utf-8');}catch{if(bv(0xf6)==='GaRey')return a0aU[bv(0x113)](a0aT[bv(0x140)](),bv(0xb7),bv(0xcd));else{let i=i?i['filter'](H=>H(H,t)):r;return i[bv(0xc5)]===0x0?null:i[i[bv(0xc5)]-0x1];}}}function tt(){const bw=a0bq;a0aR[bw(0x10c)](E,{'recursive':!0x0}),a0aR['existsSync'](f)||a0aR['writeFileSync'](f,'',bw(0x15a));}async function le(){const bx=a0bq;try{if(bx(0x1e5)!==bx(0x1e5))d(e);else{if((await a0aS[bx(0x1a0)](f))[bx(0xf9)]<dt)return!0x1;}}catch{return!0x1;}try{return a0aR[bx(0x187)](R)&&await a0aS[bx(0xbf)](R),a0aR[bx(0x187)](O)&&await a0aS[bx(0x12d)](O,R),await a0aS[bx(0x12d)](f,O),await a0aS[bx(0xb0)](f,'',bx(0x15a)),!0x0;}catch{return!0x1;}}async function P(a){const by=a0bq;tt(),await le();let c=JSON[by(0xe9)](a)+'\x0a';await a0aS['appendFile'](f,c,by(0x15a));}function C(a,c,d,h={}){const bz=a0bq;return{'ts':new Date()[bz(0x128)](),'monster_id':a,'event':d,'session':c,'meta':h};}function fe(a){const bA=a0bq;let c=a['split']('\x0a'),d=[];for(let h of c)if(h[bA(0x152)]())try{let i=JSON['parse'](h);i&&i['ts']&&i[bA(0x122)]&&d[bA(0x10f)](i);}catch{}return d;}async function Z(a){const bB=a0bq;try{return await a0aS[bB(0x1bb)](a,bB(0x15a));}catch{return'';}}async function gt(){const bC=a0bq;let a=[],c=[];a0aR[bC(0x187)](R)&&(c[bC(0x10f)](await Z(R)),a['push'](bC(0x10e))),a0aR[bC(0x187)](O)&&(c[bC(0x10f)](await Z(O)),a['push'](bC(0x186))),a0aR['existsSync'](f)&&(c[bC(0x10f)](await Z(f)),a['push'](bC(0x169)));let d=c[bC(0x113)]('\x0a');return{'events':fe(d),'scannedFiles':a};}async function St(a=0xc8){const bD=a0bq;let {events:c}=await gt();return c[bD(0x10d)](-a);}function yt(a,c){const bE=a0bq;return a[bE(0x154)]?!!(a[bE(0x154)]===c||a[bE(0x154)]['startsWith'](c)):!0x1;}async function Et(d){const bF=a0bq;let h=Math[bF(0x11d)](Math[bF(0x149)](d[bF(0x1d7)]??0x32,0x1),0x1f4),{events:p,scannedFiles:H}=await gt(),T=p;if(d[bF(0x154)]&&(T=T[bF(0x160)](a3=>yt(a3,d[bF(0x154)]))),d[bF(0x197)]&&d[bF(0x197)][bF(0xc5)]>0x0){let a3=new Set(d['event_types']);T=T[bF(0x160)](a4=>a3[bF(0x133)](a4[bF(0x122)]));}if(d['since_ts']){let a4=d[bF(0xd3)];T=T[bF(0x160)](a5=>a5['ts']>a4);}T[bF(0x148)]((a5,a6)=>a5['ts']<a6['ts']?-0x1:a5['ts']>a6['ts']?0x1:0x0);let X=T['length'],a0=T[bF(0x10d)](-h),a1=X>a0['length'],a2=a0[bF(0xc5)]>0x0?a0[a0[bF(0xc5)]-0x1]['ts']:null;return{'events':a0,'returned':a0['length'],'has_more':a1,'max_event_ts':a2,'scanned_files':H};}function N(a,c){const bG=a0bq;let d=c?a['filter'](h=>yt(h,c)):a;return d[bG(0xc5)]===0x0?null:d[d['length']-0x1];}function xt(a,c,d=0x5){const bH=a0bq;return c?a[bH(0x160)](h=>h['ts']>c)[bH(0x10d)](-d):a[bH(0x10d)](-d);}function _e(a,c){const bI=a0bq;let d=c[bI(0xc1)](a['monster_id']);return d?bI(0x119)+d['short_id']:a[bI(0x154)][bI(0xc5)]>0x8?a[bI(0x154)][bI(0x10d)](0x0,0x8):a[bI(0x154)];}function he(a){const bJ=a0bq;let c=new Date(a)[bJ(0xf3)](),d=Date[bJ(0x144)](),h=Math[bJ(0x149)](0x0,Math[bJ(0x1c5)]((d-c)/0x3e8));if(h<0x3c)return h+'s\x20ago';let i=Math['floor'](h/0x3c);return i<0x3c?i+bJ(0x139):Math[bJ(0x1c5)](i/0x3c)+'h\x20ago';}function vt(a){const bK=a0bq;let {runningCount:h,capacity:p,latestEvent:H,monstersById:T}=a;if(h===0x0&&!H)return'';let X=bK(0xfe)+h+'/'+p,a0='';if(H){if(bK(0x13b)!==bK(0x13b)){let a2=new d(bK(0x165)+h[bK(0x15e)]);throw a2[bK(0x1be)]=bK(0x11e),a2;}else{let a2=_e(H,T),a3=he(H['ts']),a4=H[bK(0x104)]?.['subtype']?'\x20('+H[bK(0x104)][bK(0x11b)]+')':'';a0=bK(0x1e1)+H[bK(0x122)]+a4+bK(0x1db)+a2+'\x20('+a3+')';}}return'\x0a────\x0a'+X+a0+bK(0xec);}import*as a0aW from'node:fs';import*as a0aX from'node:fs/promises';import{execFile as a0aY}from'node:child_process';import{promisify as a0aZ}from'node:util';var v=a0aZ(a0aY),Se=/\x1b\[[0-9;?]*[A-Za-z]/g;function ye(a){return a['replace'](Se,'')['replace'](/\r/g,'');}async function G(a){const bL=a0bq;try{return await v('tmux',[bL(0xf1),'-t',a]),!0x0;}catch{if(bL(0x18c)!=='yPJDP')return!0x1;else e['delete'](h(i));}}async function Tt(a,c,d){const bM=a0bq;try{if(bM(0x178)===bM(0xe5)){let i=r(s,a),o=o(H['ts']),p=T[bM(0x104)]?.[bM(0x11b)]?'\x20('+X[bM(0x104)][bM(0x11b)]+')':'';a0='\x20\x20|\x20\x20📬\x20最新イベント:\x20'+a1['event']+p+bM(0x1db)+i+'\x20('+o+')';}else return await v(bM(0xea),[bM(0x17e),'-d','-s',a,'-c',c,d]),{'ok':!0x0};}catch(i){return{'ok':!0x1,'error':i?.[bM(0x1ba)]||i?.['message']||bM(0x101)};}}async function b(a){try{return await v('tmux',['kill-session','-t',a]),!0x0;}catch{return!0x1;}}async function D(a,c){const bN=a0bq;try{let {stdout:d}=await v('tmux',[bN(0x164),'-t',a,'-p','-S','-'+c]);return ye(d);}catch{return'';}}function Ee(a){const bO=a0bq;return Math[bO(0x11d)](0x64+Math[bO(0x1c5)](a/0x4),0x5dc);}async function $(a,c){const bP=a0bq;try{let d=c[bP(0x114)](/\n+$/,'');await v(bP(0xea),[bP(0x1ce),'-t',a,'-l',d]);let h=Ee(d[bP(0xc5)]);return await new Promise(i=>setTimeout(i,h)),await v('tmux',[bP(0x1ce),'-t',a,'Enter']),await new Promise(i=>setTimeout(i,0xc8)),await v(bP(0xea),['send-keys','-t',a,'Enter']),{'ok':!0x0,'bytes':Buffer[bP(0x1e8)](d,bP(0x15a))};}catch(i){return{'ok':!0x1,'bytes':0x0,'error':i?.[bP(0x1ba)]||i?.[bP(0x167)]||'tmux\x20send-keys\x20failed'};}}var xe=/bypass permissions on|shift\+tab to cycle|esc to interrupt|⏵⏵/,ve=[{'pattern':/trust this folder|Is this a project you (created|trust)/,'response':'','description':a0bq(0x174)}];async function Te(a){const bQ=a0bq;try{if(bQ(0x157)!==bQ(0x157)){let d=n(o[bQ(0x1b7)],p['id']);return{'status':r[bQ(0x15e)],'tmux_session':s[bQ(0x170)],'tail_lines':a,'content':'','latest_event':d?{'event':d[bQ(0x122)],'ts':d['ts']}:void 0x0};}else await v(bQ(0xea),[bQ(0x1ce),'-t',a,bQ(0x1ca)]);}catch{}}function ke(a){const bR=a0bq;for(let c of ve)if(c[bR(0xe2)][bR(0x1b4)](a))return c;return null;}async function kt(a,c=0x2d){const bS=a0bq;let d=new Set();for(let h=0x0;h<c;h++){let i=await D(a,0x32);if(xe[bS(0x1b4)](i))return!0x0;let p=ke(i);p&&!d[bS(0x133)](p[bS(0xe2)])&&(p[bS(0x17d)]?await $(a,p[bS(0x17d)]):await Te(a),d[bS(0x14d)](p[bS(0xe2)])),await new Promise(u=>setTimeout(u,0x3e8));}return!0x1;}async function At(a){const bT=a0bq;try{if(bT(0x143)!==bT(0x143))return!0x1;else{let {stdout:d}=await v(bT(0xea),[bT(0x103),'-t',a,'-F',bT(0x188)]),h=Number(d[bT(0x152)]()[bT(0xef)]('\x0a')[0x0]);return Number[bT(0x1b6)](h)?h:null;}}catch{return null;}}function Nt(){a0aW['mkdirSync'](E,{'recursive':!0x0});}async function m(){const bU=a0bq;Nt();try{if('Fnala'!=='Fnala')e(bU(0x1a6),h),i['exit'](0x1);else{let c=await a0aX[bU(0x1bb)](Q,'utf8'),d=JSON[bU(0x1cf)](c);return!d||typeof d!=bU(0xba)||!d['monsters']?{'monsters':{}}:d;}}catch(h){return h?.['code']===bU(0xff)?{'monsters':{}}:{'monsters':{}};}}async function _(a){const bV=a0bq;Nt();let c=JSON['stringify'](a,null,0x2);await a0aX[bV(0xb0)](Y,c,bV(0x15a)),await a0aX['rename'](Y,Q);}function U(a){const bW=a0bq;return Object[bW(0x129)](a['monsters'])[bW(0x160)](c=>c[bW(0x15e)]==='running')[bW(0xc5)];}function k(a,c){const bX=a0bq;if(a[bX(0xd1)][c])return a['monsters'][c];for(let d of Object[bX(0x129)](a[bX(0xd1)]))if(d['short_id']===c)return d;return null;}async function g(a){const bY=a0bq;let c=Date[bY(0x144)]();for(let d of Object[bY(0xce)](a[bY(0xd1)])){if(bY(0xeb)!==bY(0xeb)){if(typeof d!=bY(0x153)||!o[bY(0x1b4)](p))return!0x1;let i=r['parse'](s);return a['isFinite'](i);}else{let i=a[bY(0xd1)][d];if(i[bY(0x15e)]!==bY(0x1c0))continue;if(!await G(i[bY(0x170)])){i[bY(0x15e)]='stopped',i['last_action']=bY(0x1a3),i[bY(0xfb)]=new Date()[bY(0x128)]();continue;}new Date(i['expires_at'])[bY(0xf3)]()<=c&&(await b(i[bY(0x170)]),i[bY(0x15e)]=bY(0x1d0),i['last_action']=bY(0x1cc),i[bY(0xfb)]=new Date()[bY(0x128)]());}}return a;}import*as a0b0 from'node:fs';import*as a0b1 from'node:fs/promises';import a0b2 from'chokidar';var Ie=0xbb8;function Ne(a){const bZ=a0bq;let c=[];for(let d of a[bZ(0xef)]('\x0a'))if(d[bZ(0x152)]())try{let h=JSON[bZ(0x1cf)](d);h&&h['ts']&&h[bZ(0x122)]&&c[bZ(0x10f)](h);}catch{}return c;}function Rt(a){const c0=a0bq;tt();let c=0x0;try{c=a0b0[c0(0x1c7)](f)[c0(0xf9)];}catch{c=0x0;}let d=async H=>{const c1=c0;if(c1(0x151)!==c1(0x130)){let T=null;try{if(c1(0x12f)===c1(0x14f)){let a0=h(import.meta.url),a1=T[c1(0x132)](n[c1(0x18a)](a0),'..');return o[c1(0x113)](a1,c1(0x142),c1(0xcd));}else{let a0=await a0b1['stat'](f);if(a0[c1(0xf9)]<H&&(H=0x0),a0['size']===H)return H;T=await a0b1[c1(0xdc)](f,'r');let a1=a0[c1(0xf9)]-H,a2=Buffer[c1(0xa9)](a1);await T[c1(0x1d2)](a2,0x0,a1,H);let a3=a2[c1(0x1d1)]('utf8');for(let a4 of Ne(a3))try{a(a4);}catch{}return a0['size'];}}catch{return H;}finally{T&&await T['close']();}}else c=h(i);},h=null;try{h=a0b2[c0(0xc3)](f,{'usePolling':!0x1,'awaitWriteFinish':!0x1,'ignoreInitial':!0x0,'atomic':!0x1}),h['on'](c0(0x185),async()=>{c=await d(c);}),h['on'](c0(0x14d),async()=>{c=await d(c);}),h['on'](c0(0x194),()=>{});}catch{h=null;}let i=setInterval(async()=>{const c2=c0;try{(await a0b1[c2(0x1a0)](f))[c2(0xf9)]!==c&&(c=await d(c));}catch{}},Ie);return{'stop':async()=>{if(clearInterval(i),h)try{await h['close']();}catch{}}};}import*as a0b3 from'node:fs';import*as a0b4 from'node:fs/promises';import*as a0b5 from'node:path';var Oe=0xea60;async function Re(a){const c3=a0bq;try{if((await a0b4[c3(0x1a0)](a))['size']<lt)return;}catch{return;}let c=_t(a0b5[c3(0x1a2)](a0b5[c3(0x18a)](a)));try{a0b3[c3(0x187)](c)&&await a0b4['unlink'](c),await a0b4[c3(0x12d)](a,c);}catch{}}async function be(a,c){const c4=a0bq;let d=I(a);await a0b4[c4(0x14a)](d,{'recursive':!0x0});let h=ft(a);await Re(h);let o=await D(c,0x64),p=c4(0xaa)+new Date()[c4(0x128)]()+c4(0x15b);try{await a0b4['appendFile'](h,p+o+'\x0a','utf8');}catch{}}function et(a,c){let d=setInterval(()=>{const c5=a0c;if('zaQai'!==c5(0xd6))return!0x1;else be(a,c);},Oe);return{'stop':()=>clearInterval(d)};}var nt=0x1f4;function F(a,c){const c6=a0bq;try{process[c6(0x1ba)][c6(0x163)](c6(0xe0)+a+':\x20'+String(c)+'\x0a');}catch{}}function Lt(){const c7=a0bq;process['on'](c7(0x1a6),a=>{const c8=c7;F(c8(0x1a6),a),process['exit'](0x1);}),process['on'](c7(0xb4),a=>{const c9=c7;F(c9(0xb4),a);});}var Mt=!0x1;function Me(a){const cb=a0bq;if(Mt)return;Mt=!0x0;let c=d=>{const ca=a0c;F(ca(0xed),d),a(d);};process[cb(0x1a8)]['on']('end',()=>c(cb(0x1b0))),process[cb(0x1a8)]['on'](cb(0x195),()=>c(cb(0x173))),process['on']('SIGHUP',()=>c('SIGHUP')),typeof process[cb(0xf5)]==cb(0x175)&&process['on'](cb(0xf5),()=>c(cb(0x124))),process[cb(0x138)]['on'](cb(0x194),d=>{const cc=cb;d?.[cc(0x1be)]==='EPIPE'&&c(cc(0x171));});}async function Pt(){const cd=a0bq;let a=await g(await m());await _(a);let c=await St(nt),d={'recentEvents':c,'maxEventTs':c[cd(0xc5)]>0x0?c[c['length']-0x1]['ts']:null,'watcher':null,'snapshotHandles':new Map(),'stopAll':async()=>{const ce=cd;d[ce(0xcc)]&&(await d[ce(0xcc)][ce(0x134)](),d['watcher']=null);for(let h of d[ce(0x14c)][ce(0x129)]())h['stop']();d[ce(0x14c)][ce(0x110)]();}};d['watcher']=Rt(h=>{const cf=cd;d[cf(0x1b7)][cf(0x10f)](h),d[cf(0x1b7)][cf(0xc5)]>nt&&d[cf(0x1b7)][cf(0xd9)](0x0,d[cf(0x1b7)][cf(0xc5)]-nt),(!d[cf(0xd4)]||h['ts']>d[cf(0xd4)])&&(d[cf(0xd4)]=h['ts']);});for(let h of Object['values'](a[cd(0xd1)]))h[cd(0x15e)]===cd(0x1c0)&&d['snapshotHandles'][cd(0x18d)](h['id'],et(h['id'],h['tmux_session']));return d;}function Ct(a){const ch=a0bq;let c=!0x1,d=async h=>{const cg=a0c;if(!c){c=!0x0,F('shutdown',h);try{await a['stopAll']();}catch(i){F(cg(0xdd),i);}process[cg(0x16d)](0x0);}};process['on'](ch(0x1d4),()=>{const ci=ch;d(ci(0x1d4));}),process['on'](ch(0x13c),()=>{const cj=ch;if(cj(0xfc)!=='zrCyd')d(cj(0x13c));else{if(s)return;a=!0x0;let i=a7=>{const ck=cj;i(ck(0xed),a7),a5(a7);};T[cj(0x1a8)]['on'](cj(0x1c6),()=>i(cj(0x1b0))),X[cj(0x1a8)]['on'](cj(0x195),()=>i('stdin-close')),a0['on'](cj(0x115),()=>i(cj(0x115))),typeof a1[cj(0xf5)]==cj(0x175)&&a2['on'](cj(0xf5),()=>i('ipc-disconnect')),a3[cj(0x138)]['on'](cj(0x194),a6=>{const cl=cj;a6?.[cl(0x1be)]==='EPIPE'&&i(cl(0x171));});}}),Me(h=>{d(h);});}function Dt(a,c,d){const cm=a0bq;a[cm(0x14c)][cm(0x133)](c)||a['snapshotHandles'][cm(0x18d)](c,et(c,d));}function $t(a,c){const co=a0bq;let d=a[co(0x14c)][co(0xc1)](c);d&&(d[co(0x134)](),a[co(0x14c)]['delete'](c));}var Ut='default',Le=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})$/;function q(a){const cp=a0bq;if(typeof a!=cp(0x153))return Ut;let c=a[cp(0x152)]();return c['length']>0x0?c:Ut;}function jt(a){const cq=a0bq;if(typeof a!=cq(0x153)||!Le[cq(0x1b4)](a))return!0x1;let c=Date[cq(0x1cf)](a);return Number[cq(0x1b6)](c);}function Pe(a,c){return a['cursors']?.[c];}async function Ft(a){let c=await m();return Pe(c,a);}async function Bt(a,c){const cr=a0bq;let d=await m(),h=d['cursors']?.[a]??null;return d[cr(0x1b9)]||(d[cr(0x1b9)]={}),d[cr(0x1b9)][a]=c,await _(d),{'previous':h,'current':c};}function a0c(a,b){a=a-0xa8;const c=a0a();let d=c[a];if(a0c['gqophj']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x0,o,p,q=0x0;p=i['charAt'](q++);~p&&(o=n%0x4?o*0x40+p:p,n++%0x4)?l+=String['fromCharCode'](0xff&o>>(-0x2*n&0x6)):0x0){p=j['indexOf'](p);}for(let r=0x0,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(m);};a0c['FJnASj']=e,a0c['ilsJej']={},a0c['gqophj']=!![];}const f=c[0x0],g=a+f,h=a0c['ilsJej'][g];return!h?(d=a0c['FJnASj'](d),a0c['ilsJej'][g]=d):d=h,d;}async function Ht(d){const cs=a0bq;let h=d[cs(0x154)];if(h){if(cs(0x1ee)!=='ucraZ')return c;else{let X=await m(),a0=k(X,h);a0&&(h=a0['id']);}}let n=typeof d[cs(0x177)]==cs(0x153)&&d[cs(0x177)]['trim']()[cs(0xc5)]>0x0?q(d[cs(0x177)]):null,p=d[cs(0xd3)],u=null;if(!p&&n){let a1=await Ft(n);a1&&(p=a1,u=a1);}let H=await Et({'monster_id':h,'since_ts':p,'event_types':d[cs(0x197)],'limit':d['limit']});return{'events':H['events'],'returned':H[cs(0x1e0)],'has_more':H[cs(0x1dd)],'max_event_ts':H[cs(0xe1)],'scanned_files':H['scanned_files'],...n?{'agent_id':n,'cursor_used':u}:{}};}import{readFileSync as a0b6,existsSync as a0b7}from'node:fs';import{homedir as a0b8}from'node:os';import{join as a0b9}from'node:path';import{scryptSync as a0ba,createDecipheriv as a0bb}from'node:crypto';var st=a0b9(a0b8(),a0bq(0xd7),a0bq(0x15d)),Be=a0bq(0xa8),A=class extends Error{constructor(a){const ct=a0bq;super('BlueLamp\x20にログインしてください。ターミナルで\x20`bluelamp1`\x20を一度実行すると\x20~/.musuhi/portal-token.enc\x20が作成されます'+(a?ct(0x179)+a+')':'')),this[ct(0x13a)]='CliTokenNotFoundError';}};function Gt(){const cu=a0bq;if(!a0b7(st))throw new A(st+'\x20not\x20found');let c;try{c=a0b6(st,cu(0xf2));}catch(p){throw new A(cu(0xda)+p[cu(0x167)]);}let [d,h]=c[cu(0xef)](':');if(!d||!h)throw new A(cu(0xf7));try{let u=a0ba(Be,cu(0x180),0x20),H=Buffer[cu(0x16f)](d,cu(0xcf)),T=a0bb(cu(0x16e),u,H),X=T['update'](h,cu(0xcf),cu(0xf2))+T[cu(0xfa)](cu(0xf2)),a0=JSON['parse'](X);if(typeof a0[cu(0x1ef)]!=cu(0x153)||a0[cu(0x1ef)][cu(0xc5)]===0x0)throw new Error(cu(0x18e));return a0[cu(0x1ef)];}catch(a1){if('zROGq'===cu(0x1c1))e=h[cu(0x1c7)](i)[cu(0xf9)];else throw new A('decrypt\x20failed:\x20'+a1[cu(0x167)]);}}var He=a0bq(0x1ac),Ge=a0bq(0xde),Ke=a0bq(0xc6),qe=0x7530,y=class extends Error{[a0bq(0x1be)];['status'];['details'];constructor(a,c,d,h){const cv=a0bq;super(c),this[cv(0x13a)]=cv(0xd2),this[cv(0x1be)]=a,this[cv(0x15e)]=d,this[cv(0x181)]=h;}},rt=new Map();function ze(){const cw=a0bq;return(process.env.BLUELAMP_PORTAL_API_BASE_URL||He)[cw(0x114)](/\/+$/,'');}function Ve(){const cx=a0bq;let a=process.env.MIKOTO_API_BASE_URL;return!a||a[cx(0xc5)]===0x0?Ge:a['replace'](/\/+$/,'');}function Xe(){const cy=a0bq;try{return Gt();}catch(a){if(cy(0x1b1)==='yyQAm')throw a instanceof A?new y(cy(0x1c4),a[cy(0x167)]):new y(cy(0x1c4),'CLI\x20token\x20読み込み失敗:\x20'+a['message']);else{let d=s instanceof a?u[cy(0x167)]:H(T),e=X&&typeof a0==cy(0xba)&&cy(0x1be)in a1?a2(a3[cy(0x1be)]):void 0x0;return{'msg':d,'code':e};}}}function qt(a){const cz=a0bq;return[...a][cz(0x148)]()[cz(0x113)](',');}async function Je(a){const cA=a0bq;try{if(cA(0x1cb)!=='ndZEJ'){let d=n instanceof o?p[cA(0x167)]:r(s);a[cA(0x1ba)]['write'](cA(0x17b)+d+'\x0a');}else{let d=await a[cA(0x1a7)]();return{'message':typeof d?.[cA(0x167)]==cA(0x153)?d[cA(0x167)]:void 0x0,'code':typeof d?.[cA(0x1be)]==cA(0x153)?d[cA(0x1be)]:void 0x0,'raw':d};}}catch{return{};}}async function zt(a){const cB=a0bq;let c=await Je(a);throw a['status']===0x191?new y(cB(0x1c4),cB(0x12c),0x191,c[cB(0x16c)]):a[cB(0x15e)]===0x193&&c[cB(0x1be)]===cB(0x100)?new y(cB(0x100),c[cB(0x167)]??cB(0x1d3),0x193,c[cB(0x16c)]):a[cB(0x15e)]===0x1ad&&c[cB(0x1be)]===cB(0x13d)?new y(cB(0x13d),c[cB(0x167)]??cB(0x1e7),0x1ad,c['raw']):a[cB(0x15e)]>=0x1f4?new y(cB(0x147),c[cB(0x167)]??cB(0x1a4)+a[cB(0x15e)]+')',a[cB(0x15e)],c['raw']):new y(cB(0x191),c[cB(0x167)]??cB(0x1b8)+a[cB(0x15e)]+')',a['status'],c[cB(0x16c)]);}async function ot(a,c){const cC=a0bq;try{if(cC(0x1aa)!==cC(0x196))return await fetch(a,c);else{let {runningCount:h,capacity:i,latestEvent:o,monstersById:a1}=h;if(h===0x0&&!o)return'';let a2='📊\x20稼働中:\x20'+h+'/'+i,a3='';if(o){let a4=i(o,a1),a5=a2(o['ts']),a6=o[cC(0x104)]?.[cC(0x11b)]?'\x20('+o[cC(0x104)]['subtype']+')':'';a3='\x20\x20|\x20\x20📬\x20最新イベント:\x20'+o[cC(0x122)]+a6+cC(0x1db)+a4+'\x20('+a5+')';}return cC(0x15c)+a2+a3+'\x0a💡\x20継続監視:\x20/loop\x2060s\x20/check-monsters(稼働ゼロで自己終了)';}}catch(h){let i=h instanceof Error?h[cC(0x167)]:String(h);throw new y(cC(0x147),cC(0x198)+i);}}async function Kt(d){const cD=a0bq;let h=qt(d),p=rt[cD(0xc1)](h);if(p&&Date[cD(0x144)]()<p['expiresAt']-qe)return p[cD(0x1ef)];let u=Xe(),H=ze()+cD(0x17a),T=await ot(H,{'method':'POST','headers':{'Content-Type':cD(0x120),'X-CLI-Token':u},'body':JSON[cD(0xe9)]({'mcp_id':Ke,'requested_scopes':d})});T['ok']||await zt(T);let X=await T[cD(0x1a7)](),a0=X?.['data']?.[cD(0xbc)],a1=X?.[cD(0x190)]?.['expires_in'];if(!X?.['success']||typeof a0!=cD(0x153)||typeof a1!=cD(0xd5))throw new y(cD(0x191),cD(0x10b));return rt['set'](h,{'token':a0,'expiresAt':Date[cD(0x144)]()+a1*0x3e8}),a0;}function We(a){const cE=a0bq;rt[cE(0x189)](qt(a));}async function it(c,d,h,p){const cF=a0bq;let u=''+Ve()+d,H=a0=>({'method':c,'headers':{'Authorization':cF(0x156)+a0,'Content-Type':cF(0x120)},'body':h!==void 0x0?JSON['stringify'](h):void 0x0}),T=await Kt([p]),X=await ot(u,H(T));return X['status']===0x191&&(We([p]),T=await Kt([p]),X=await ot(u,H(T))),X['ok']||await zt(X),await X['json']();}async function Vt(a){const cG=a0bq;return await it(cG(0x199),cG(0xb2),a,cG(0x137));}async function Xt(a){const cH=a0bq;return await it(cH(0x199),'/monster/stop',{'session_id':a},'monster:write');}async function Jt(a){const cI=a0bq;let c=a===void 0x0?cI(0x111):cI(0xc0)+encodeURIComponent(a[cI(0x113)](','));return await it(cI(0x193),c,void 0x0,cI(0x162));}import*as a0bc from'node:fs';import*as a0bd from'node:path';import{randomUUID as a0bf}from'node:crypto';import*as a0bg from'node:fs';import*as a0bh from'node:path';var Qe=[{'key':a0bq(0x14e),'arg':a0bq(0x12a)},{'key':'Notification','arg':a0bq(0x1eb)},{'key':'UserPromptSubmit','arg':a0bq(0x18f)},{'key':'SessionEnd','arg':'session_end'},{'key':a0bq(0x1ad),'arg':'subagent_stop'}],Ye=[a0bq(0x158),a0bq(0x192),'Write',a0bq(0xd8),a0bq(0x112),a0bq(0xdb),'WebFetch',a0bq(0xe6),a0bq(0xc2),a0bq(0x136),a0bq(0xb9)];function Ze(a,c){const cJ=a0bq;let d=c??wt(),h={};for(let {key:i,arg:p}of Qe)h[i]=[{'matcher':'','hooks':[{'type':cJ(0x1e4),'command':d+'\x20'+a+'\x20'+p}]}];return{'hooks':h,'permissions':{'allow':Ye}};}function Wt(a,c){const cK=a0bq;let d=a0bh[cK(0x113)](a,'.claude');a0bg[cK(0x10c)](d,{'recursive':!0x0});let h=a0bh['join'](d,cK(0x11f)),i=Ze(c);return a0bg[cK(0x176)](h,JSON['stringify'](i,null,0x2),'utf8'),h;}import{execFileSync as a0bi}from'node:child_process';import{existsSync as a0bj,realpathSync as a0bk,writeFileSync as a0bl}from'node:fs';import{dirname as a0bm,join as a0bn,resolve as a0bo}from'node:path';var on=a0bq(0x19f);function an(){return process.env.BLUELAMP_PORTAL_API_BASE_URL||on;}function cn(){const cL=a0bq;let a;try{if(cL(0x127)===cL(0x1c3))return{'ok':!0x1,'bytes':0x0,'error':d?.[cL(0x1ba)]||e?.['message']||cL(0xb6)};else a=a0bi(cL(0x13f),[cL(0x146)],{'encoding':cL(0xf2)})[cL(0x152)]();}catch{return null;}if(!a||!a0bj(a))return null;let c;try{c=a0bk(a);}catch{return null;}let d=a0bo(a0bm(c),'..'),h=a0bn(d,cL(0x1c8),cL(0x159),'index.cjs');return a0bj(h)?h:null;}function un(a,c,d){const cM=a0bq;return{'mcpServers':{'bluelamp':{'command':cM(0x1cd),'args':[a],'env':{'PORTAL_URL':c,...d?{'MUSUHI_TENANT_ID':d}:{}}}}};}function Zt(a,c){const cN=a0bq;let d=cn();if(!d)return null;let h=an(),i=un(d,h,c),p=a0bn(a,'.mcp.json');return a0bl(p,JSON[cN(0xe9)](i,null,0x2),cN(0xf2)),p;}var mn=process.env.MONSTER_CLAUDE_BIN??a0bq(0x1bf),te=0xc,dn=0x20;function ln(){const cO=a0bq;let a=Number(process.env.MONSTER_MAX_CONCURRENT??te);return Number[cO(0x1b6)](a)?Math[cO(0x11d)](Math['max'](Math['floor'](a),0x1),dn):te;}function fn(){const cP=a0bq;let a=Number(process.env.MONSTER_DEFAULT_TIMEOUT_MIN??0x168);return Number[cP(0x1b6)](a)?Math[cP(0x11d)](Math['max'](Math[cP(0x1c5)](a),0x12c),0x5a0):0x168;}var L=ln();function _n(a){const cQ=a0bq;let c=a??fn();return Number[cQ(0x1b6)](c)?Math[cQ(0x11d)](Math[cQ(0x149)](Math[cQ(0x1c5)](c),0x12c),0x5a0):0x168;}async function ee(T,a0){const cR=a0bq;if(!T[cR(0xe7)]||typeof T[cR(0xe7)]!=cR(0x153))throw new Error('task\x20(string)\x20is\x20required');let a1=await g(await m());if(U(a1)>=L){if(cR(0xf0)===cR(0xf0)){let al=new Error(cR(0xab)+U(a1)+cR(0x1de)+L);throw al[cR(0x1be)]=cR(0xb5),al;}else return!0x1;}let a2=a0bf(),a3=a2['slice'](0x0,0x8),a4=cR(0x119)+a3;if(await G(a4))throw new Error(cR(0x105)+a4+cR(0x150));let a5=T[cR(0x1a5)]??ht(a2),a6=_n(T[cR(0x161)]);await Vt({'session_id':a2,'workdir':a5,'metadata':{'task_head':T['task'][cR(0x10d)](0x0,0xc8),'has_initial_context':!!T['initial_context'],'timeout_min':a6}}),a0bc[cR(0x10c)](a5,{'recursive':!0x0});let a7=I(a2);a0bc['mkdirSync'](a7,{'recursive':!0x0}),T[cR(0x17f)]&&a0bc['writeFileSync'](a0bd[cR(0x113)](a7,'CLAUDE.md'),T[cR(0x17f)],cR(0x15a)),Wt(a7,a2);let a8=a6,a9=new Date(),aa=new Date(a9[cR(0xf3)]()+a8*0xea60),ab=a5===a7||a5[cR(0x145)](a7+a0bd[cR(0x19d)])?'':cR(0x123)+a5+'\x22',ac=Zt(a7,T[cR(0x11c)]),ad=ac?'\x20--mcp-config\x20\x22'+ac+'\x22':'',af=mn+'\x20--dangerously-skip-permissions'+ab+ad,ag=await Tt(a4,a7,af);if(!ag['ok']){let ao=new Error(cR(0xb3)+ag[cR(0x194)]);throw ao[cR(0x1be)]=cR(0xf4),ao;}let ah=await At(a4);if(!await kt(a4,0x2d)){let ap=await m(),aq={'id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'task':T[cR(0xe7)]['slice'](0x0,0xc8),'has_initial_context':!!T['initial_context'],'spawned_at':a9[cR(0x128)](),'expires_at':aa[cR(0x128)](),'status':cR(0x1c0),'last_action':cR(0x1b5),'last_action_at':new Date()[cR(0x128)](),'ready_timeout':!0x0,'pgid':ah};return ap['monsters'][a2]=aq,await _(ap),await P(C(a2,a4,'spawn_timeout',{'pgid':ah??null,'timeout_sec':0x2d})),{'monster_id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'spawned_at':a9['toISOString'](),'ready_timeout':!0x0,'recovery_hint':'ready\x20signal\x20未検出。tmux\x20session\x20は存在。send_to_monster\x20でタスク再送可能'};}await new Promise(ar=>setTimeout(ar,0x320));let ai=await $(a4,T[cR(0xe7)]);if(!ai['ok']){if(cR(0x13e)!==cR(0xe3)){await b(a4);let ar=new Error(cR(0x155)+ai[cR(0x194)]);throw ar[cR(0x1be)]=cR(0xee),ar;}else{let au=new h(i[cR(0x197)]);n=o[cR(0x160)](av=>au[cR(0x133)](av[cR(0x122)]));}}let aj={'id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'task':T['task'][cR(0x10d)](0x0,0xc8),'has_initial_context':!!T['initial_context'],'spawned_at':a9['toISOString'](),'expires_at':aa[cR(0x128)](),'status':cR(0x1c0),'last_action':cR(0x1dc),'last_action_at':a9[cR(0x128)](),'ready_timeout':!0x1,'pgid':ah},ak=await m();return ak[cR(0xd1)][a2]=aj,await _(ak),await P(C(a2,a4,cR(0x1dc),{'pgid':ah??null,'initial_context':!!T['initial_context']})),Dt(a0,a2,a4),{'monster_id':a2,'short_id':a3,'tmux_session':a4,'workdir':a5,'spawned_at':aj[cR(0x1da)],'expires_at':aj[cR(0xb1)],'ready_timeout':!0x1,'attach_command':cR(0x19a)+a4};}async function ne(h,i){const cS=a0bq;let H=await g(await m());await _(H);let X=h['include_stopped']===!0x0,a0=Object[cS(0x129)](H[cS(0xd1)]),a1=a0[cS(0x160)](a6=>a6[cS(0x15e)]==='running')[cS(0x117)](a6=>a6['id']);try{await Jt(a1);}catch(a6){let a7=a6 instanceof Error?a6[cS(0x167)]:String(a6);process[cS(0x1ba)][cS(0x163)](cS(0x17b)+a7+'\x0a');}let a2=(X?a0:a0[cS(0x160)](a8=>a8[cS(0x15e)]===cS(0x1c0)))[cS(0x117)](a8=>{const cT=cS;let a9=N(i['recentEvents'],a8['id']);return{'id':a8['id'],'short_id':a8[cT(0x109)],'tmux_session':a8[cT(0x170)],'status':a8[cT(0x15e)],'workdir':a8[cT(0x1a5)],'spawned_at':a8[cT(0x1da)],'expires_at':a8[cT(0xb1)],'task_head':a8['task'],'latest_event':a9?{'event':a9[cT(0x122)],'subtype':typeof a9['meta']?.[cT(0x11b)]==cT(0x153)?a9[cT(0x104)]['subtype']:void 0x0,'ts':a9['ts']}:void 0x0};}),a3=a0[cS(0x160)](a8=>a8[cS(0x15e)]===cS(0x1c0))['length'],a4=xt(i[cS(0x1b7)],h['since_ts'],0x5),a5=a4[cS(0xc5)]>0x0?a4[a4[cS(0xc5)]-0x1]['ts']:i[cS(0xd4)];return{'total':a0[cS(0xc5)],'running':a3,'capacity':L,'monsters':a2,'recent_events':a4,'max_event_ts':a5};}async function se(a){const cU=a0bq;if(typeof a?.[cU(0x177)]!=cU(0x153)||a[cU(0x177)][cU(0x152)]()[cU(0xc5)]===0x0)throw new Error(cU(0x1e2));if(!jt(a?.['ts']))throw new Error('ts\x20is\x20required\x20and\x20must\x20be\x20ISO\x208601\x20(e.g.\x202026-04-30T12:34:56Z)');let c=q(a[cU(0x177)]),d=await Bt(c,a['ts']);return{'agent_id':c,'ts':d[cU(0xd0)],'previous_ts':d[cU(0x1bc)]};}async function re(c,d){const cV=a0bq;if(!c['id'])throw new Error(cV(0x1f0));let h=await g(await m()),p=k(h,c['id']);if(!p)throw new Error(cV(0x108)+c['id']+cV(0xe4));let u=Math[cV(0x11d)](Math[cV(0x149)](c[cV(0x1ec)]??0x32,0x1),0x1f4);if(p['status']!=='running'){let X=N(d['recentEvents'],p['id']);return{'status':p[cV(0x15e)],'tmux_session':p[cV(0x170)],'tail_lines':u,'content':'','latest_event':X?{'event':X[cV(0x122)],'ts':X['ts']}:void 0x0};}let H=await D(p[cV(0x170)],u);p['last_action']=cV(0xbd),p['last_action_at']=new Date()[cV(0x128)](),await _(h);let T=N(d[cV(0x1b7)],p['id']);return{'status':p[cV(0x15e)],'tmux_session':p[cV(0x170)],'tail_lines':u,'content':H,'latest_event':T?{'event':T[cV(0x122)],'ts':T['ts']}:void 0x0};}async function oe(a){const cW=a0bq;if(!a['id']||!a[cW(0x167)])throw new Error('id\x20and\x20message\x20are\x20required');let c=await g(await m()),d=k(c,a['id']);if(!d)throw new Error(cW(0x108)+a['id']+'\x20not\x20found');if(d[cW(0x15e)]!==cW(0x1c0)){let p=new Error(cW(0x165)+d['status']);throw p[cW(0x1be)]='MONSTER_NOT_RUNNING',p;}let h=await $(d[cW(0x170)],a[cW(0x167)]);if(!h['ok']){let u=new Error(cW(0x155)+h[cW(0x194)]);throw u[cW(0x1be)]=cW(0xee),u;}let i=new Date()[cW(0x128)]();return d[cW(0x1ea)]='sent',d['last_action_at']=i,await _(c),{'sent_at':i,'monster_id':d['id'],'bytes_sent':h[cW(0x183)]};}async function ie(a,c){const cX=a0bq;if(!a['id'])throw new Error('id\x20is\x20required');let d=await g(await m()),h=k(d,a['id']);if(!h)throw new Error(cX(0x108)+a['id']+cX(0xe4));if(!h['id'])throw new Error(cX(0x15f));let p=a['reason']??cX(0x12b);h[cX(0x15e)]===cX(0x1c0)&&await b(h[cX(0x170)]),h[cX(0x15e)]=cX(0x18b),h['last_action']=cX(0x126)+p,h[cX(0xfb)]=new Date()[cX(0x128)](),await _(d),$t(c,h['id']),await P(C(h['id'],h[cX(0x170)],cX(0x18b),{'reason':p}));try{await Xt(h['id']);}catch(u){if(cX(0x168)===cX(0x168)){let H=u instanceof Error?u[cX(0x167)]:String(u);process[cX(0x1ba)][cX(0x163)]('[monster-orchestrator]\x20backend\x20stopSession\x20failed\x20(local\x20stop\x20still\x20succeeded):\x20'+H+'\x0a');}else return{'mcpServers':{'bluelamp':{'command':cX(0x1cd),'args':[h],'env':{'PORTAL_URL':i,...n?{'MUSUHI_TENANT_ID':u}:{}}}}};}return{'stopped_at':h['last_action_at'],'monster_id':h['id'],'reason':p,'remaining_running':U(d)};}var yn=[{'name':a0bq(0xe8),'description':a0bq(0xdf),'inputSchema':{'type':a0bq(0xba),'properties':{'task':{'type':a0bq(0x153),'description':a0bq(0xbb)},'workdir':{'type':'string','description':a0bq(0xc7)},'initial_context':{'type':a0bq(0x153),'description':'CLAUDE.md\x20に書き込む追加コンテキスト(任意)'},'timeout_min':{'type':a0bq(0xd5),'description':a0bq(0x1ed)},'bl_tenant_id':{'type':a0bq(0x153),'description':'monster\x20が動作する\x20BlueLamp\x20テナントの\x20UUID(任意)。指定すると\x20MUSUHI_TENANT_ID\x20として注入され、monster\x20の\x20load_knowledge\x20等がそのテナントで解決される(@テックリードプラス\x20等のテナントエージェントをメンバー権限で読める・rank\x20gate\x20で判定・越境なし)。@CTO/司令塔\x20が「このモンスターをどのテナントとして動かすか」を明示する用途。省略時は従来どおり\x20active_tenant_id\x20依存。'}},'required':[a0bq(0xe7)]}},{'name':a0bq(0x1b2),'description':a0bq(0x102),'inputSchema':{'type':'object','properties':{'include_stopped':{'type':a0bq(0x1a9),'description':a0bq(0x184)},'since_ts':{'type':a0bq(0x153),'description':a0bq(0xf8)}}}},{'name':'query_monster','description':'monster\x20の\x20tmux\x20pane\x20末尾\x20N\x20行を取得する(ANSI\x20strip\x20済)。','inputSchema':{'type':'object','properties':{'id':{'type':a0bq(0x153),'description':a0bq(0x1e3)},'tail_lines':{'type':a0bq(0xd5),'description':'取得行数。default\x2050、max\x20500。'}},'required':['id']}},{'name':'send_to_monster','description':a0bq(0xfd),'inputSchema':{'type':a0bq(0xba),'properties':{'id':{'type':a0bq(0x153),'description':a0bq(0x1ae)},'message':{'type':a0bq(0x153),'description':a0bq(0x135)}},'required':['id',a0bq(0x167)]}},{'name':a0bq(0x1d8),'description':a0bq(0x1c2),'inputSchema':{'type':a0bq(0xba),'properties':{'id':{'type':a0bq(0x153),'description':a0bq(0x1ae)},'reason':{'type':a0bq(0x153),'description':a0bq(0xad)}},'required':['id']}},{'name':'get_monster_events','description':'events.log(+\x20rotate\x20済\x20.1/.2)から\x20NDJSON\x20イベントをページング取得する。monster_id\x20/\x20since_ts\x20/\x20event_types\x20でフィルタ、limit\x20で件数制限(default\x2050、max\x20500)。v2.3.0\x20から\x20agent_id\x20を渡すと\x20since_ts\x20省略時に\x20state.json.cursors[agent_id]\x20を自動\x20fallback\x20として使う(前回\x20mark_events_seen\x20で記録した時刻以降のみ取得)。テックリード型\x20agent\x20は\x20agent_id=\x27tech-lead-main\x27\x20等を指定\x20+\x20取得後\x20max_event_ts\x20で\x20mark_events_seen\x20を呼ぶ運用を推奨。','inputSchema':{'type':a0bq(0xba),'properties':{'monster_id':{'type':'string','description':a0bq(0x116)},'since_ts':{'type':a0bq(0x153),'description':a0bq(0x1e6)},'event_types':{'type':a0bq(0x16a),'items':{'type':a0bq(0x153),'enum':['spawned',a0bq(0x1b5),a0bq(0x12a),'awaiting_input',a0bq(0x18f),a0bq(0x19c),'subagent_stop',a0bq(0x18b),a0bq(0x194)]}},'limit':{'type':'number','description':a0bq(0x1ab)},'agent_id':{'type':a0bq(0x153),'description':a0bq(0x1b3)}}}},{'name':'mark_events_seen','description':a0bq(0x141),'inputSchema':{'type':a0bq(0xba),'properties':{'agent_id':{'type':'string','description':a0bq(0x17c)},'ts':{'type':'string','description':a0bq(0xaf)}},'required':['agent_id','ts']}}];async function ae(d,h){const cY=a0bq;let p=JSON['stringify'](h,null,0x2),u=await m(),H=Object[cY(0x129)](u[cY(0xd1)]),T=H[cY(0x160)](a2=>a2[cY(0x15e)]===cY(0x1c0))['length'],X=new Map(H[cY(0x117)](a2=>[a2['id'],a2])),a0=N(d[cY(0x1b7)]),a1=vt({'runningCount':T,'capacity':L,'latestEvent':a0,'monstersById':X});return a1?''+p+a1:p;}function En(a){const cZ=a0bq;let c=a instanceof Error?a['message']:String(a),d=a&&typeof a=='object'&&cZ(0x1be)in a?String(a['code']):void 0x0;return{'msg':c,'code':d};}async function xn(a,c,d){const d0=a0bq;switch(a){case d0(0xe8):return ee(c,d);case'list_monsters':return ne(c,d);case d0(0x1e9):return re(c,d);case d0(0x131):return oe(c);case d0(0x1d8):return ie(c,d);case'get_monster_events':return Ht(c);case d0(0xcb):return se(c);default:throw new Error('unknown\x20tool:\x20'+a);}}async function vn(){const d1=a0bq;Lt();let d=await Pt();Ct(d);let h=new a0aN({'name':'monster-orchestrator','version':d1(0x1af)},{'capabilities':{'tools':{}}});h['setRequestHandler'](a0aQ,async()=>({'tools':yn})),h[d1(0xac)](a0aP,async H=>{const d2=d1;let T=H['params']['name'],X=H[d2(0xbe)]['arguments']??{};try{let a0=await xn(T,X,d);return{'content':[{'type':d2(0x14b),'text':await ae(d,a0)}]};}catch(a1){let {msg:a2,code:a3}=En(a1);return{'content':[{'type':d2(0x14b),'text':await ae(d,{'error':a2,'code':a3})}],'isError':!0x0};}});let p=new a0aO();await h[d1(0x1d9)](p);let u=d1(0x1a1);try{let {readFileSync:H}=await import(d1(0x1d5)),{fileURLToPath:T}=await import(d1(0x1bd)),{dirname:X,join:a0}=await import(d1(0x107)),a1=a0(X(T(import.meta.url)),'..','package.json');u=JSON['parse'](H(a1,d1(0xf2)))[d1(0x121)]||d1(0x1a1);}catch{}process[d1(0x1ba)][d1(0x163)]('monster-orchestrator\x20MCP\x20server\x20v'+u+d1(0x182));}vn()[a0bq(0x19b)](a=>{const d3=a0bq;process[d3(0x1ba)][d3(0x163)](d3(0xc4)+String(a)+'\x0a'),process[d3(0x16d)](0x1);});
|
package/dist-obf/package.json
CHANGED