bluelamp 2.0.10 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/README.md +12 -25
  2. package/bin/bluelamp +368 -0
  3. package/bin/bluelamp-base +368 -0
  4. package/bin/bluelamp10 +368 -0
  5. package/bin/bluelamp100 +368 -0
  6. package/bin/bluelamp11 +368 -0
  7. package/bin/bluelamp12 +368 -0
  8. package/bin/bluelamp13 +368 -0
  9. package/bin/bluelamp14 +368 -0
  10. package/bin/bluelamp15 +368 -0
  11. package/bin/bluelamp16 +368 -0
  12. package/bin/bluelamp17 +368 -0
  13. package/bin/bluelamp18 +368 -0
  14. package/bin/bluelamp19 +368 -0
  15. package/bin/bluelamp2 +368 -0
  16. package/bin/bluelamp20 +368 -0
  17. package/bin/bluelamp21 +368 -0
  18. package/bin/bluelamp22 +368 -0
  19. package/bin/bluelamp23 +368 -0
  20. package/bin/bluelamp24 +368 -0
  21. package/bin/bluelamp25 +368 -0
  22. package/bin/bluelamp26 +368 -0
  23. package/bin/bluelamp27 +368 -0
  24. package/bin/bluelamp28 +368 -0
  25. package/bin/bluelamp29 +368 -0
  26. package/bin/bluelamp3 +368 -0
  27. package/bin/bluelamp30 +368 -0
  28. package/bin/bluelamp31 +368 -0
  29. package/bin/bluelamp32 +368 -0
  30. package/bin/bluelamp33 +368 -0
  31. package/bin/bluelamp34 +368 -0
  32. package/bin/bluelamp35 +368 -0
  33. package/bin/bluelamp36 +368 -0
  34. package/bin/bluelamp37 +368 -0
  35. package/bin/bluelamp38 +368 -0
  36. package/bin/bluelamp39 +368 -0
  37. package/bin/bluelamp4 +368 -0
  38. package/bin/bluelamp40 +368 -0
  39. package/bin/bluelamp41 +368 -0
  40. package/bin/bluelamp42 +368 -0
  41. package/bin/bluelamp43 +368 -0
  42. package/bin/bluelamp44 +368 -0
  43. package/bin/bluelamp45 +368 -0
  44. package/bin/bluelamp46 +368 -0
  45. package/bin/bluelamp47 +368 -0
  46. package/bin/bluelamp48 +368 -0
  47. package/bin/bluelamp49 +368 -0
  48. package/bin/bluelamp5 +368 -0
  49. package/bin/bluelamp50 +368 -0
  50. package/bin/bluelamp51 +368 -0
  51. package/bin/bluelamp52 +368 -0
  52. package/bin/bluelamp53 +368 -0
  53. package/bin/bluelamp54 +368 -0
  54. package/bin/bluelamp55 +368 -0
  55. package/bin/bluelamp56 +368 -0
  56. package/bin/bluelamp57 +368 -0
  57. package/bin/bluelamp58 +368 -0
  58. package/bin/bluelamp59 +368 -0
  59. package/bin/bluelamp6 +368 -0
  60. package/bin/bluelamp60 +368 -0
  61. package/bin/bluelamp61 +368 -0
  62. package/bin/bluelamp62 +368 -0
  63. package/bin/bluelamp63 +368 -0
  64. package/bin/bluelamp64 +368 -0
  65. package/bin/bluelamp65 +368 -0
  66. package/bin/bluelamp66 +368 -0
  67. package/bin/bluelamp67 +368 -0
  68. package/bin/bluelamp68 +368 -0
  69. package/bin/bluelamp69 +368 -0
  70. package/bin/bluelamp7 +368 -0
  71. package/bin/bluelamp70 +368 -0
  72. package/bin/bluelamp71 +368 -0
  73. package/bin/bluelamp72 +368 -0
  74. package/bin/bluelamp73 +368 -0
  75. package/bin/bluelamp74 +368 -0
  76. package/bin/bluelamp75 +368 -0
  77. package/bin/bluelamp76 +368 -0
  78. package/bin/bluelamp77 +368 -0
  79. package/bin/bluelamp78 +368 -0
  80. package/bin/bluelamp79 +368 -0
  81. package/bin/bluelamp8 +368 -0
  82. package/bin/bluelamp80 +368 -0
  83. package/bin/bluelamp81 +368 -0
  84. package/bin/bluelamp82 +368 -0
  85. package/bin/bluelamp83 +368 -0
  86. package/bin/bluelamp84 +368 -0
  87. package/bin/bluelamp85 +368 -0
  88. package/bin/bluelamp86 +368 -0
  89. package/bin/bluelamp87 +368 -0
  90. package/bin/bluelamp88 +368 -0
  91. package/bin/bluelamp89 +368 -0
  92. package/bin/bluelamp9 +368 -0
  93. package/bin/bluelamp90 +368 -0
  94. package/bin/bluelamp91 +368 -0
  95. package/bin/bluelamp92 +368 -0
  96. package/bin/bluelamp93 +368 -0
  97. package/bin/bluelamp94 +368 -0
  98. package/bin/bluelamp95 +368 -0
  99. package/bin/bluelamp96 +368 -0
  100. package/bin/bluelamp97 +368 -0
  101. package/bin/bluelamp98 +368 -0
  102. package/bin/bluelamp99 +368 -0
  103. package/lib/mcp-server/dist/bluelamp-system.js +32 -0
  104. package/lib/mcp-server/dist/crypto-utils.js +27 -0
  105. package/lib/mcp-server/dist/database-version.js +33 -0
  106. package/lib/mcp-server/dist/index.js +62 -0
  107. package/lib/mcp-server/dist/plugins/base-plugin.js +24 -0
  108. package/lib/mcp-server/dist/plugins/plugin-manager.js +31 -0
  109. package/lib/mcp-server/dist/plugins/services/leonardo-plugin.js +95 -0
  110. package/lib/mcp-server/dist/plugins/services/leonardo-prompt-parser.js +36 -0
  111. package/lib/mcp-server/dist/plugins/services/portal-api-client.js +22 -0
  112. package/lib/mcp-server/dist/plugins/services/portal-plugin.js +52 -0
  113. package/lib/mcp-server/dist/secure-mcp-server.js +76 -0
  114. package/lib/mcp-server/dist/security/ApiKeyManager.js +24 -0
  115. package/lib/mcp-server/dist/security/InteractiveLogin.js +32 -0
  116. package/lib/mcp-server/dist/security/PortalAuthClient.js +1 -0
  117. package/lib/mcp-server/dist/security/SimpleAuthManager.js +1 -0
  118. package/lib/mcp-server/dist/security/TokenManager.js +25 -0
  119. package/lib/mcp-server/package.json +21 -0
  120. package/package.json +118 -34
  121. package/INSTALLATION_GUIDE.md +0 -109
  122. package/bin/blcf +0 -2
  123. package/bin/blcf2 +0 -28
  124. package/bin/blcf3 +0 -2
  125. package/bin/blcf4 +0 -2
  126. package/knowledge-injection/hooks/inject-encrypted.sh +0 -321
  127. package/lib/agents//343/203/225/343/202/231/343/203/253/343/203/274/343/203/251/343/203/263/343/203/225/343/202/232.md +0 -106
  128. package/lib/mcp-server/dist_optimized/bluelamp-system.d.ts +0 -29
  129. package/lib/mcp-server/dist_optimized/bluelamp-system.d.ts.map +0 -1
  130. package/lib/mcp-server/dist_optimized/bluelamp-system.js +0 -1
  131. package/lib/mcp-server/dist_optimized/bluelamp-system.js.bak +0 -340
  132. package/lib/mcp-server/dist_optimized/bluelamp-system.js.map +0 -1
  133. package/lib/mcp-server/dist_optimized/crypto-utils.d.ts +0 -33
  134. package/lib/mcp-server/dist_optimized/crypto-utils.d.ts.map +0 -1
  135. package/lib/mcp-server/dist_optimized/crypto-utils.js +0 -1
  136. package/lib/mcp-server/dist_optimized/crypto-utils.js.map +0 -1
  137. package/lib/mcp-server/dist_optimized/database-version.d.ts +0 -72
  138. package/lib/mcp-server/dist_optimized/database-version.d.ts.map +0 -1
  139. package/lib/mcp-server/dist_optimized/database-version.js +0 -2
  140. package/lib/mcp-server/dist_optimized/database-version.js.bak +0 -374
  141. package/lib/mcp-server/dist_optimized/database-version.js.map +0 -1
  142. package/lib/mcp-server/dist_optimized/index.d.ts +0 -3
  143. package/lib/mcp-server/dist_optimized/index.d.ts.map +0 -1
  144. package/lib/mcp-server/dist_optimized/index.js +0 -2
  145. package/lib/mcp-server/dist_optimized/index.js.map +0 -1
  146. package/lib/mcp-server/dist_optimized/secure-mcp-server.d.ts +0 -64
  147. package/lib/mcp-server/dist_optimized/secure-mcp-server.d.ts.map +0 -1
  148. package/lib/mcp-server/dist_optimized/secure-mcp-server.js +0 -1
  149. package/lib/mcp-server/dist_optimized/secure-mcp-server.js.bak +0 -1
  150. package/lib/mcp-server/dist_optimized/secure-mcp-server.js.bak2 +0 -1
  151. package/lib/mcp-server/dist_optimized/secure-mcp-server.js.map +0 -1
  152. package/lib/mcp-server/dist_optimized/security/InteractiveLogin.d.ts +0 -47
  153. package/lib/mcp-server/dist_optimized/security/InteractiveLogin.d.ts.map +0 -1
  154. package/lib/mcp-server/dist_optimized/security/InteractiveLogin.js +0 -1
  155. package/lib/mcp-server/dist_optimized/security/InteractiveLogin.js.map +0 -1
  156. package/lib/mcp-server/dist_optimized/security/PortalAuthClient.d.ts +0 -65
  157. package/lib/mcp-server/dist_optimized/security/PortalAuthClient.d.ts.map +0 -1
  158. package/lib/mcp-server/dist_optimized/security/PortalAuthClient.js +0 -1
  159. package/lib/mcp-server/dist_optimized/security/PortalAuthClient.js.map +0 -1
  160. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.backup +0 -294
  161. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.d.ts +0 -71
  162. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.d.ts.map +0 -1
  163. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.js +0 -1
  164. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.js.backup +0 -25
  165. package/lib/mcp-server/dist_optimized/security/SimpleAuthManager.js.map +0 -1
  166. package/lib/mcp-server/dist_optimized/security/TokenManager.d.ts +0 -61
  167. package/lib/mcp-server/dist_optimized/security/TokenManager.d.ts.map +0 -1
  168. package/lib/mcp-server/dist_optimized/security/TokenManager.js +0 -1
  169. package/lib/mcp-server/dist_optimized/security/TokenManager.js.map +0 -1
  170. package/scripts/setup-agents.js +0 -9
@@ -0,0 +1 @@
1
+ 'use strict';const a0_0x41a675=a0_0x887c;(function(_0x5cfb67,_0x54b84e){const _0x1f2e81=a0_0x887c,_0x45da65=_0x5cfb67();while(!![]){try{const _0x21862b=-parseInt(_0x1f2e81(0xd8))/0x1+parseInt(_0x1f2e81(0x1a5))/0x2+parseInt(_0x1f2e81(0xc3))/0x3+-parseInt(_0x1f2e81(0x18b))/0x4*(-parseInt(_0x1f2e81(0x14f))/0x5)+parseInt(_0x1f2e81(0x13a))/0x6+parseInt(_0x1f2e81(0x198))/0x7+parseInt(_0x1f2e81(0x95))/0x8*(-parseInt(_0x1f2e81(0x188))/0x9);if(_0x21862b===_0x54b84e)break;else _0x45da65['push'](_0x45da65['shift']());}catch(_0x2d3869){_0x45da65['push'](_0x45da65['shift']());}}}(a0_0x2e48,0xda534));var a0_0x1c9cd0=this&&this[a0_0x41a675(0x190)]||(Object['create']?function(_0x47ca47,_0x4d2d66,_0x1ecfe9,_0x2f6af5){const _0x11375a=a0_0x41a675,_0x55388e={};_0x55388e[_0x11375a(0x173)]=function(_0x57fb09,_0x5794cb){return _0x57fb09===_0x5794cb;},_0x55388e[_0x11375a(0xb9)]=function(_0xb64430,_0x269bb5){return _0xb64430 in _0x269bb5;},_0x55388e[_0x11375a(0x104)]=_0x11375a(0xa1);const _0x22bc30=_0x55388e;if(_0x22bc30[_0x11375a(0x173)](_0x2f6af5,undefined))_0x2f6af5=_0x1ecfe9;var _0x3ed601=Object[_0x11375a(0xe2)](_0x4d2d66,_0x1ecfe9);if(!_0x3ed601||(_0x22bc30['xCLvI'](_0x22bc30[_0x11375a(0x104)],_0x3ed601)?!_0x4d2d66[_0x11375a(0x17f)]:_0x3ed601[_0x11375a(0xb1)]||_0x3ed601[_0x11375a(0x182)])){const _0x11e15b={};_0x11e15b[_0x11375a(0x156)]=!![],_0x11e15b['get']=function(){return _0x4d2d66[_0x1ecfe9];},_0x3ed601=_0x11e15b;}Object[_0x11375a(0x125)](_0x47ca47,_0x2f6af5,_0x3ed601);}:function(_0x5c3f8e,_0x3e0c5e,_0x45abc4,_0x3210d0){const _0xc9ab4f=a0_0x41a675,_0x31b828={};_0x31b828[_0xc9ab4f(0xc8)]=function(_0x16467d,_0x3dcb46){return _0x16467d===_0x3dcb46;};const _0x389e82=_0x31b828;if(_0x389e82[_0xc9ab4f(0xc8)](_0x3210d0,undefined))_0x3210d0=_0x45abc4;_0x5c3f8e[_0x3210d0]=_0x3e0c5e[_0x45abc4];}),a0_0x50092e=this&&this[a0_0x41a675(0x1b1)]||(Object[a0_0x41a675(0x109)]?function(_0x1674b7,_0x502c17){const _0xba36c5=a0_0x41a675,_0x31433e={};_0x31433e[_0xba36c5(0x18d)]=_0xba36c5(0xab);const _0x32fbbb=_0x31433e,_0x38fde4={};_0x38fde4[_0xba36c5(0x156)]=!![],_0x38fde4[_0xba36c5(0x11f)]=_0x502c17,Object[_0xba36c5(0x125)](_0x1674b7,_0x32fbbb[_0xba36c5(0x18d)],_0x38fde4);}:function(_0x47344,_0x3f4b44){const _0x2db16b=a0_0x41a675,_0x833981={};_0x833981[_0x2db16b(0x172)]=_0x2db16b(0xab);const _0x5617b8=_0x833981;_0x47344[_0x5617b8[_0x2db16b(0x172)]]=_0x3f4b44;}),a0_0x4b5778=this&&this[a0_0x41a675(0xe9)]||(function(){const _0x209301=a0_0x41a675,_0x85f09={'ViqpE':'log','ifFBk':'warn','XiKyR':_0x209301(0x17a),'JQhkq':'error','wDKQF':function(_0x5a06d5,_0x1b7701){return _0x5a06d5!==_0x1b7701;},'ihLAg':_0x209301(0x16e),'gkdmw':function(_0x4814f9,_0x294bf3){return _0x4814f9===_0x294bf3;},'uJvvS':_0x209301(0xaf),'NIcnx':_0x209301(0xce),'bwTtc':_0x209301(0x18a),'lBFru':'XMVRd','espoW':_0x209301(0x99),'bJauR':function(_0x484e62,_0xdb0d0b){return _0x484e62<_0xdb0d0b;},'LtKQN':function(_0x348113,_0x31c819){return _0x348113!==_0x31c819;},'zrsIT':_0x209301(0xab),'kUNNn':function(_0x211198,_0x4dbd62,_0x343d7f,_0x2ac328){return _0x211198(_0x4dbd62,_0x343d7f,_0x2ac328);},'FOKXr':_0x209301(0x159),'EoESX':_0x209301(0x96),'vgVAT':function(_0x1c90a8,_0x5abd1b){return _0x1c90a8+_0x5abd1b;},'zueUN':_0x209301(0x154),'lspVc':_0x209301(0xf3),'VZFRo':_0x209301(0x176),'zbZdd':function(_0x50d9de,_0x504721){return _0x50d9de(_0x504721);},'xOFtr':_0x209301(0x16d),'mcpmL':_0x209301(0x189),'QuKeH':function(_0x471d0c){return _0x471d0c();},'iQwgQ':function(_0x50972b,_0x3fd679,_0x2fbd65){return _0x50972b(_0x3fd679,_0x2fbd65);},'WsSld':_0x209301(0x18f),'nYOrd':_0x209301(0x143),'XzmhR':_0x209301(0x187),'qzgvd':function(_0x4ba460){return _0x4ba460();},'sPRvg':function(_0x5d4876,_0x382db9){return _0x5d4876+_0x382db9;},'BxemG':'{}.constructor(\x22return\x20this\x22)(\x20)','PDrbU':function(_0x5191d2){return _0x5191d2();},'uDYjO':_0x209301(0x117),'ELVaY':_0x209301(0x163),'UDlMC':_0x209301(0x111),'sRDgi':_0x209301(0x97),'ALxxy':_0x209301(0xbb),'TljlF':function(_0x3b527e,_0x5efd82){return _0x3b527e!=_0x5efd82;},'fdKYK':function(_0x2e8acf,_0x75942){return _0x2e8acf<_0x75942;},'iosuM':function(_0x380e0d){return _0x380e0d();}},_0x1aa755=(function(){const _0x25ea77=_0x209301,_0x3f6dc5={'VBXzz':function(_0x58fe7f,_0x37ac56){const _0x4ab6e1=a0_0x887c;return _0x85f09[_0x4ab6e1(0x119)](_0x58fe7f,_0x37ac56);},'cAKCK':_0x85f09[_0x25ea77(0x14a)],'itEIL':_0x85f09[_0x25ea77(0x102)]};if(_0x85f09['bwTtc']!==_0x85f09[_0x25ea77(0x167)]){let _0x26d76a=!![];return function(_0x4dd58d,_0x32a9d4){const _0xc3e516=_0x25ea77,_0x13d4a0={'yyHAR':function(_0x209934,_0x233833){return _0x209934(_0x233833);},'MSGSi':_0xc3e516(0xfb),'LGPlt':function(_0x2b3db2){return _0x2b3db2();},'FdslP':_0x85f09[_0xc3e516(0x10a)],'yaALa':_0x85f09[_0xc3e516(0x1af)],'EQQZB':_0x85f09[_0xc3e516(0x129)],'qcjfG':_0x85f09[_0xc3e516(0x15b)],'VpfHl':_0xc3e516(0x9a),'ApOnI':_0xc3e516(0x111),'RihYC':function(_0x57970a,_0x281bdb){return _0x57970a<_0x281bdb;}};if(_0x85f09[_0xc3e516(0xef)](_0xc3e516(0x16e),_0x85f09['ihLAg'])){if(_0x1f66fa){const _0x406e25=_0x58579d[_0xc3e516(0xf4)](_0x3fac4c,arguments);return _0x9cd97=null,_0x406e25;}}else{const _0x18bdbd=_0x26d76a?function(){const _0x4c4fa0=_0xc3e516;if(_0x32a9d4){if(_0x3f6dc5[_0x4c4fa0(0x193)](_0x3f6dc5['cAKCK'],_0x3f6dc5[_0x4c4fa0(0x108)])){let _0xa66907;try{const _0x32e1bb=sJTdmB[_0x4c4fa0(0xff)](_0x164c8b,sJTdmB[_0x4c4fa0(0x15f)]+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0xa66907=sJTdmB[_0x4c4fa0(0x13e)](_0x32e1bb);}catch(_0x50d431){_0xa66907=_0x37b957;}const _0x222af1=_0xa66907['console']=_0xa66907[_0x4c4fa0(0xa0)]||{},_0xf0eabd=[sJTdmB[_0x4c4fa0(0x1a0)],sJTdmB[_0x4c4fa0(0x184)],sJTdmB[_0x4c4fa0(0xc1)],sJTdmB[_0x4c4fa0(0xe1)],sJTdmB[_0x4c4fa0(0x1a8)],_0x4c4fa0(0x163),sJTdmB[_0x4c4fa0(0x152)]];for(let _0x32e133=0x0;sJTdmB[_0x4c4fa0(0xee)](_0x32e133,_0xf0eabd[_0x4c4fa0(0x12f)]);_0x32e133++){const _0x2ab552=_0x2f503c[_0x4c4fa0(0x170)]['prototype'][_0x4c4fa0(0x1b0)](_0x493738),_0x4c5642=_0xf0eabd[_0x32e133],_0x5c5bd0=_0x222af1[_0x4c5642]||_0x2ab552;_0x2ab552[_0x4c4fa0(0x17d)]=_0xb3c329[_0x4c4fa0(0x1b0)](_0x10de10),_0x2ab552[_0x4c4fa0(0x94)]=_0x5c5bd0[_0x4c4fa0(0x94)][_0x4c4fa0(0x1b0)](_0x5c5bd0),_0x222af1[_0x4c5642]=_0x2ab552;}}else{const _0x4ecaed=_0x32a9d4[_0x4c4fa0(0xf4)](_0x4dd58d,arguments);return _0x32a9d4=null,_0x4ecaed;}}}:function(){};return _0x26d76a=![],_0x18bdbd;}};}else{const _0x10b385={};_0x10b385['enumerable']=!![],_0x10b385[_0x25ea77(0xa1)]=function(){return _0x3cb805[_0x56a9bf];},_0x4b0184=_0x10b385;}}()),_0x21c032=_0x1aa755(this,function(){const _0x469872=_0x209301;return _0x21c032[_0x469872(0x94)]()[_0x469872(0x19e)](_0x85f09[_0x469872(0x1a9)])[_0x469872(0x94)]()[_0x469872(0x170)](_0x21c032)[_0x469872(0x19e)](_0x469872(0x99));});_0x21c032();const _0x370278=(function(){let _0x54cd4f=!![];return function(_0x570389,_0x16cdaf){const _0x57d68f=_0x54cd4f?function(){const _0x9ea4e=a0_0x887c;if(_0x16cdaf){const _0x2104ce=_0x16cdaf[_0x9ea4e(0xf4)](_0x570389,arguments);return _0x16cdaf=null,_0x2104ce;}}:function(){};return _0x54cd4f=![],_0x57d68f;};}());(function(){const _0x279d9d=_0x209301,_0x53eb7d={'Iyqxu':function(_0x21a284,_0x47f471){return _0x21a284!=_0x47f471;},'Epkcb':function(_0x2bae69,_0x566600){return _0x2bae69(_0x566600);},'XsSBx':function(_0x78be44,_0x1033cb){const _0x42f791=a0_0x887c;return _0x85f09[_0x42f791(0x136)](_0x78be44,_0x1033cb);},'XqtOU':function(_0x390dde,_0x3e7139){const _0x28fed7=a0_0x887c;return _0x85f09[_0x28fed7(0xbf)](_0x390dde,_0x3e7139);},'qyweF':_0x85f09[_0x279d9d(0xe8)],'LksEt':function(_0x3a14d2,_0x1bd960,_0x4534e9,_0x5c42a6){const _0x515458=_0x279d9d;return _0x85f09[_0x515458(0x10c)](_0x3a14d2,_0x1bd960,_0x4534e9,_0x5c42a6);},'BlMxY':_0x279d9d(0x10b),'mlzPS':_0x279d9d(0xd5),'JMHmR':_0x85f09[_0x279d9d(0x194)],'udFgX':_0x85f09[_0x279d9d(0x14b)],'HltJI':function(_0x532415,_0x3836fb){const _0x1724bc=_0x279d9d;return _0x85f09[_0x1724bc(0x186)](_0x532415,_0x3836fb);},'eAMfW':_0x85f09[_0x279d9d(0x123)],'OLXMX':_0x85f09[_0x279d9d(0x9b)],'XaRXZ':_0x85f09[_0x279d9d(0x13c)],'nTjLB':function(_0x4a9ed1,_0x358d82){const _0x22989b=_0x279d9d;return _0x85f09[_0x22989b(0x139)](_0x4a9ed1,_0x358d82);},'GdzSr':_0x85f09[_0x279d9d(0xf9)],'NwFEu':_0x85f09[_0x279d9d(0xb7)],'jQyIM':function(_0x592aad){const _0x246d94=_0x279d9d;return _0x85f09[_0x246d94(0x113)](_0x592aad);}};_0x85f09[_0x279d9d(0x16f)](_0x370278,this,function(){const _0xa9666f=_0x279d9d;if(_0x53eb7d[_0xa9666f(0xd2)]===_0xa9666f(0x10b)){const _0x59a6a1=new RegExp(_0x53eb7d[_0xa9666f(0x164)]),_0x4f387c=new RegExp(_0x53eb7d[_0xa9666f(0x1aa)],'i'),_0x4313f2=a0_0x1cb949(_0x53eb7d[_0xa9666f(0xd4)]);if(!_0x59a6a1[_0xa9666f(0x181)](_0x53eb7d['HltJI'](_0x4313f2,_0x53eb7d[_0xa9666f(0x92)]))||!_0x4f387c['test'](_0x53eb7d[_0xa9666f(0x166)](_0x4313f2,_0x53eb7d[_0xa9666f(0xcf)]))){if(_0x53eb7d[_0xa9666f(0x177)](_0xa9666f(0x162),_0x53eb7d[_0xa9666f(0xe5)]))_0x53eb7d[_0xa9666f(0x1a7)](_0x4313f2,'0');else{const _0x43d5ac=_0x3ccf75?function(){if(_0xeb4016){const _0x12a79d=_0x1b00e6['apply'](_0x5c95fa,arguments);return _0x34cc7a=null,_0x12a79d;}}:function(){};return _0x3c9dd9=![],_0x43d5ac;}}else{if(_0x53eb7d[_0xa9666f(0x177)](_0x53eb7d[_0xa9666f(0xa5)],_0x53eb7d[_0xa9666f(0xdc)]))_0x53eb7d[_0xa9666f(0x13f)](a0_0x1cb949);else{if(_0xa87ea8&&_0x3029e5[_0xa9666f(0x17f)])return _0x43b9d3;var _0xa8e019={};if(_0x53eb7d[_0xa9666f(0xf1)](_0x53ff98,null)){for(var _0x19827d=_0x53eb7d[_0xa9666f(0x16a)](_0x12e99c,_0x12204f),_0xe19a9b=0x0;_0x53eb7d[_0xa9666f(0x12c)](_0xe19a9b,_0x19827d[_0xa9666f(0x12f)]);_0xe19a9b++)if(_0x53eb7d[_0xa9666f(0x177)](_0x19827d[_0xe19a9b],_0x53eb7d['qyweF']))_0x53eb7d[_0xa9666f(0x10f)](_0x522952,_0xa8e019,_0x5d53ad,_0x19827d[_0xe19a9b]);}return _0x2f3ce4(_0xa8e019,_0x3d42af),_0xa8e019;}}}else _0xc11948[_0x53eb7d[_0xa9666f(0x19c)]]=_0x5f35b4;})();}());const _0xff6e84=(function(){const _0x174771=_0x209301,_0x2ea9ab={'XHhrZ':function(_0x76630,_0x33151a){return _0x85f09['gkdmw'](_0x76630,_0x33151a);},'pFEvj':_0x85f09[_0x174771(0xa4)]};if(_0x85f09[_0x174771(0x101)]!==_0x85f09[_0x174771(0xbc)]){let _0xddd12d=!![];return function(_0x342bea,_0x215559){const _0x3afff4=_0x174771,_0x163070={'bSQBg':function(_0x2144b1,_0x5d7289){const _0x5f0cb9=a0_0x887c;return _0x2ea9ab[_0x5f0cb9(0x9e)](_0x2144b1,_0x5d7289);}};if(_0x2ea9ab[_0x3afff4(0x168)]!==_0x3afff4(0xec)){const _0x3989a4=_0xddd12d?function(){const _0x173ddd=_0x3afff4;if(_0x215559){const _0x5903bd=_0x215559[_0x173ddd(0xf4)](_0x342bea,arguments);return _0x215559=null,_0x5903bd;}}:function(){};return _0xddd12d=![],_0x3989a4;}else{if(_0x163070['bSQBg'](_0x1760ff,_0x58f242))_0xe63885=_0x548a35;_0x43808e[_0x4fb105]=_0x42144a[_0x2110a3];}};}else return![];}()),_0x10d908=_0x85f09[_0x209301(0x16f)](_0xff6e84,this,function(){const _0x1a0914=_0x209301;let _0x3372ea;try{const _0x280fb2=Function(_0x85f09[_0x1a0914(0x186)](_0x85f09[_0x1a0914(0x153)](_0x1a0914(0xfb),_0x85f09[_0x1a0914(0xa8)]),');'));_0x3372ea=_0x85f09[_0x1a0914(0x10d)](_0x280fb2);}catch(_0x3c9a1e){_0x85f09[_0x1a0914(0xed)]===_0x85f09[_0x1a0914(0xed)]?_0x3372ea=window:bREipr[_0x1a0914(0x165)](_0x5a4e37);}const _0x3369a3=_0x3372ea[_0x1a0914(0xa0)]=_0x3372ea[_0x1a0914(0xa0)]||{},_0xc2823c=[_0x1a0914(0x118),_0x85f09[_0x1a0914(0x1af)],_0x85f09[_0x1a0914(0x129)],'error',_0x1a0914(0x9a),_0x85f09[_0x1a0914(0x158)],_0x85f09['UDlMC']];for(let _0xa39b3=0x0;_0x85f09[_0x1a0914(0x136)](_0xa39b3,_0xc2823c['length']);_0xa39b3++){const _0x2b7b86=_0xff6e84[_0x1a0914(0x170)][_0x1a0914(0x106)]['bind'](_0xff6e84),_0x2482ee=_0xc2823c[_0xa39b3],_0x199a2b=_0x3369a3[_0x2482ee]||_0x2b7b86;_0x2b7b86[_0x1a0914(0x17d)]=_0xff6e84['bind'](_0xff6e84),_0x2b7b86[_0x1a0914(0x94)]=_0x199a2b[_0x1a0914(0x94)][_0x1a0914(0x1b0)](_0x199a2b),_0x3369a3[_0x2482ee]=_0x2b7b86;}});_0x85f09[_0x209301(0xb5)](_0x10d908);var _0x4fd306=function(_0x3890c7){const _0x1e3220=_0x209301;return _0x4fd306=Object[_0x1e3220(0x179)]||function(_0x33f9b1){const _0x3bda69=_0x1e3220;var _0x5adaf0=[];for(var _0x36001f in _0x33f9b1)if(Object['prototype'][_0x3bda69(0xad)][_0x3bda69(0xde)](_0x33f9b1,_0x36001f))_0x5adaf0[_0x5adaf0[_0x3bda69(0x12f)]]=_0x36001f;return _0x5adaf0;},_0x85f09[_0x1e3220(0x139)](_0x4fd306,_0x3890c7);};return function(_0x12a720){const _0x1f0aca=_0x209301;if(_0x85f09[_0x1f0aca(0xef)](_0x85f09[_0x1f0aca(0xc2)],_0x85f09[_0x1f0aca(0xc2)]))return _0x17d8d4;else{const _0x162f8a=_0x85f09[_0x1f0aca(0xa6)][_0x1f0aca(0x185)]('|');let _0x176e19=0x0;while(!![]){switch(_0x162f8a[_0x176e19++]){case'0':if(_0x85f09[_0x1f0aca(0x180)](_0x12a720,null)){for(var _0x3ee38e=_0x85f09[_0x1f0aca(0x139)](_0x4fd306,_0x12a720),_0x143a39=0x0;_0x85f09[_0x1f0aca(0x18c)](_0x143a39,_0x3ee38e[_0x1f0aca(0x12f)]);_0x143a39++)if(_0x85f09[_0x1f0aca(0xef)](_0x3ee38e[_0x143a39],'default'))_0x85f09[_0x1f0aca(0x10c)](a0_0x1c9cd0,_0x1ff34f,_0x12a720,_0x3ee38e[_0x143a39]);}continue;case'1':_0x85f09[_0x1f0aca(0x16f)](a0_0x50092e,_0x1ff34f,_0x12a720);continue;case'2':if(_0x12a720&&_0x12a720[_0x1f0aca(0x17f)])return _0x12a720;continue;case'3':var _0x1ff34f={};continue;case'4':return _0x1ff34f;}break;}}};}());const a0_0x89c95e={};function a0_0x887c(_0xf3b253,_0x1a0bf7){const _0x2b7418=a0_0x2e48();return a0_0x887c=function(_0x33c4dc,_0x422ccc){_0x33c4dc=_0x33c4dc-0x92;let _0x10c982=_0x2b7418[_0x33c4dc];if(a0_0x887c['AUsOxf']===undefined){var _0x47d233=function(_0x540a59){const _0x229d28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e48eb='',_0x887cff='',_0x223a64=_0x2e48eb+_0x47d233;for(let _0x434dcf=0x0,_0x5cc715,_0x414341,_0x85bc46=0x0;_0x414341=_0x540a59['charAt'](_0x85bc46++);~_0x414341&&(_0x5cc715=_0x434dcf%0x4?_0x5cc715*0x40+_0x414341:_0x414341,_0x434dcf++%0x4)?_0x2e48eb+=_0x223a64['charCodeAt'](_0x85bc46+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x5cc715>>(-0x2*_0x434dcf&0x6)):_0x434dcf:0x0){_0x414341=_0x229d28['indexOf'](_0x414341);}for(let _0x3c2bf2=0x0,_0x2f84c4=_0x2e48eb['length'];_0x3c2bf2<_0x2f84c4;_0x3c2bf2++){_0x887cff+='%'+('00'+_0x2e48eb['charCodeAt'](_0x3c2bf2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x887cff);};a0_0x887c['NVDAdO']=_0x47d233,_0xf3b253=arguments,a0_0x887c['AUsOxf']=!![];}const _0x204e6b=_0x2b7418[0x0],_0x11e6e6=_0x33c4dc+_0x204e6b,_0x3b0839=_0xf3b253[_0x11e6e6];if(!_0x3b0839){const _0x5417a0=function(_0xd87031){this['SiBAPJ']=_0xd87031,this['INKDCl']=[0x1,0x0,0x0],this['jSAVex']=function(){return'newState';},this['HKNXpC']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['bCuiIn']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5417a0['prototype']['KLFpRy']=function(){const _0x3b37bc=new RegExp(this['HKNXpC']+this['bCuiIn']),_0x5350a7=_0x3b37bc['test'](this['jSAVex']['toString']())?--this['INKDCl'][0x1]:--this['INKDCl'][0x0];return this['wwLnhs'](_0x5350a7);},_0x5417a0['prototype']['wwLnhs']=function(_0x4ad486){if(!Boolean(~_0x4ad486))return _0x4ad486;return this['dHnJeh'](this['SiBAPJ']);},_0x5417a0['prototype']['dHnJeh']=function(_0xa07968){for(let _0x5f1047=0x0,_0x19bf0d=this['INKDCl']['length'];_0x5f1047<_0x19bf0d;_0x5f1047++){this['INKDCl']['push'](Math['round'](Math['random']())),_0x19bf0d=this['INKDCl']['length'];}return _0xa07968(this['INKDCl'][0x0]);},new _0x5417a0(a0_0x887c)['KLFpRy'](),_0x10c982=a0_0x887c['NVDAdO'](_0x10c982),_0xf3b253[_0x11e6e6]=_0x10c982;}else _0x10c982=_0x3b0839;return _0x10c982;},a0_0x887c(_0xf3b253,_0x1a0bf7);}a0_0x89c95e[a0_0x41a675(0x11f)]=!![],Object[a0_0x41a675(0x125)](exports,a0_0x41a675(0x17f),a0_0x89c95e),exports[a0_0x41a675(0xe6)]=void 0x0;const a0_0x34af2=a0_0x4b5778(require('fs')),a0_0x4e8834=a0_0x4b5778(require(a0_0x41a675(0x1a2))),a0_0x514875=a0_0x4b5778(require(a0_0x41a675(0xcc))),a0_0x28b1ba=a0_0x4b5778(require('os'));class a0_0x3f4f8e{static[a0_0x41a675(0x130)](_0x139d7f){const _0x25eecc=a0_0x41a675,_0x89bbae={'paCIG':function(_0x516158,_0xed4a82){return _0x516158(_0xed4a82);},'cZHIL':function(_0x26a99a,_0x2c5db1){return _0x26a99a+_0x2c5db1;},'ceORl':_0x25eecc(0xa2),'WlTvq':_0x25eecc(0xbe),'mKMEC':function(_0x4a36a1,_0x3c7168){return _0x4a36a1!==_0x3c7168;},'LZeui':'bpHaU','Dyvro':'aQeBg','NzNoc':_0x25eecc(0xe0),'QojcW':_0x25eecc(0xb3)};try{if(_0x89bbae[_0x25eecc(0x183)](_0x89bbae['LZeui'],_0x89bbae['LZeui']))RpLAbT[_0x25eecc(0xc7)](_0x3a36d0,'0');else{const _0x25478d=this[_0x25eecc(0x122)](),_0x5dbf1b=this[_0x25eecc(0x1ae)](_0x139d7f),_0x3520ff=a0_0x4e8834['dirname'](_0x25478d);if(!a0_0x34af2[_0x25eecc(0x19a)](_0x3520ff)){if(_0x89bbae[_0x25eecc(0x142)]!==_0x89bbae[_0x25eecc(0x135)]){const _0x452c6d={};_0x452c6d[_0x25eecc(0x9c)]=!![],a0_0x34af2[_0x25eecc(0x145)](_0x3520ff,_0x452c6d);}else(function(){return![];}[_0x25eecc(0x170)](RpLAbT[_0x25eecc(0x199)](RpLAbT[_0x25eecc(0xfe)],RpLAbT[_0x25eecc(0x161)]))[_0x25eecc(0xf4)](_0x25eecc(0xc0)));}return a0_0x34af2[_0x25eecc(0xd1)](_0x25478d,_0x5dbf1b),!![];}}catch(_0x2ab821){if(_0x89bbae[_0x25eecc(0x183)](_0x89bbae[_0x25eecc(0xe4)],_0x89bbae[_0x25eecc(0xe4)]))RpLAbT['paCIG'](_0xeeef36,0x0);else return![];}}static[a0_0x41a675(0x18e)](){const _0x5105fb=a0_0x41a675,_0xacab7f={};_0xacab7f[_0x5105fb(0x157)]=_0x5105fb(0xbd),_0xacab7f[_0x5105fb(0x15e)]='Agczd';const _0x48794a=_0xacab7f;try{const _0x51a3fa=this[_0x5105fb(0x122)]();if(!a0_0x34af2[_0x5105fb(0x19a)](_0x51a3fa))return null;const _0x1287b9=a0_0x34af2[_0x5105fb(0xdb)](_0x51a3fa,_0x48794a['AozzD']),_0x4fb360=this['decryptApiKey'](_0x1287b9);return _0x4fb360;}catch(_0x31ceaa){if(_0x5105fb(0xd3)!==_0x48794a[_0x5105fb(0x15e)])_0x5435e2=_0x1b8cc7;else return null;}}static[a0_0x41a675(0x122)](){const _0x122e34=a0_0x41a675,_0x39e8c0={'eLKOA':_0x122e34(0xf6),'NvYIq':_0x122e34(0x16c),'NBcSj':_0x122e34(0x107),'okXDr':_0x122e34(0x1a3),'qEhNn':_0x122e34(0x155),'EXCdQ':_0x122e34(0x105),'QOLHW':_0x122e34(0x112),'UQJym':_0x122e34(0x126),'znRHi':_0x122e34(0x195),'uFGYD':_0x122e34(0x116),'QqmhR':'client.conf.tmp','IznLg':_0x122e34(0xcd),'bZeeF':_0x122e34(0xb6),'COXrG':function(_0x1247da,_0x49f098){return _0x1247da%_0x49f098;},'EWfRp':function(_0x569c66,_0x52156f,_0x1afde5){return _0x569c66(_0x52156f,_0x1afde5);}},_0x5ecaa6=a0_0x28b1ba[_0x122e34(0xc6)](),_0x3d9947=[a0_0x4e8834['join'](_0x5ecaa6,_0x39e8c0[_0x122e34(0xa7)],_0x39e8c0[_0x122e34(0x13d)],_0x39e8c0[_0x122e34(0x178)]),a0_0x4e8834[_0x122e34(0xb2)](_0x5ecaa6,_0x39e8c0[_0x122e34(0xe3)],_0x39e8c0[_0x122e34(0xc5)],_0x39e8c0[_0x122e34(0x11c)]),a0_0x4e8834['join'](_0x5ecaa6,'.cache',_0x39e8c0[_0x122e34(0x93)],_0x39e8c0[_0x122e34(0x132)]),a0_0x4e8834[_0x122e34(0xb2)](_0x5ecaa6,_0x122e34(0xcb),_0x39e8c0[_0x122e34(0x174)],_0x39e8c0[_0x122e34(0x138)]),a0_0x4e8834[_0x122e34(0xb2)](_0x5ecaa6,_0x122e34(0x124),_0x122e34(0x120),_0x39e8c0[_0x122e34(0xfd)])],_0x4e26ac=new Date()[_0x122e34(0x115)]()[_0x122e34(0x185)]('T')[0x0],_0x3ad8df=a0_0x514875[_0x122e34(0x192)](_0x39e8c0[_0x122e34(0xda)])[_0x122e34(0x19d)](_0x4e26ac)[_0x122e34(0xb4)](_0x39e8c0[_0x122e34(0x141)]),_0x556253=_0x39e8c0[_0x122e34(0xfa)](_0x39e8c0[_0x122e34(0xd7)](parseInt,_0x3ad8df['substring'](0x0,0x2),0x10),_0x3d9947[_0x122e34(0x12f)]);return _0x3d9947[_0x556253];}static[a0_0x41a675(0x1ae)](_0x189223){const _0x55d265=a0_0x41a675,_0x44a4ae={};_0x44a4ae['CGdtm']=_0x55d265(0x17c),_0x44a4ae['XtQoC']=_0x55d265(0xa9),_0x44a4ae[_0x55d265(0x10e)]=_0x55d265(0xb6),_0x44a4ae[_0x55d265(0x160)]=_0x55d265(0x140),_0x44a4ae['cWDTJ']=function(_0x31132d,_0x57a41e){return _0x31132d+_0x57a41e;};const _0x4c77a6=_0x44a4ae,_0x51b128=this[_0x55d265(0x1ac)](),_0x24a865=a0_0x514875['createHash'](_0x4c77a6[_0x55d265(0x17b)])[_0x55d265(0x19d)](_0x51b128)['digest'](),_0x2c3e2f=a0_0x514875[_0x55d265(0x11a)](0x10),_0x209c9a=a0_0x514875[_0x55d265(0x15a)](_0x4c77a6[_0x55d265(0xa3)],_0x24a865,_0x2c3e2f);let _0x3f50bf=_0x209c9a[_0x55d265(0x19d)](_0x189223,_0x55d265(0xbd),_0x55d265(0xb6));_0x3f50bf+=_0x209c9a['final'](_0x4c77a6['DKeUs']);const _0x36d2b7={'timestamp':Date['now'](),'session_id':a0_0x514875[_0x55d265(0x11a)](0x10)['toString']('hex'),'cache_version':_0x4c77a6[_0x55d265(0x160)],'data_':_0x3f50bf,'iv_':_0x2c3e2f[_0x55d265(0x94)](_0x4c77a6['DKeUs']),'checksum':a0_0x514875[_0x55d265(0x11a)](0x8)['toString'](_0x55d265(0xb6))};return _0x4c77a6[_0x55d265(0xdd)](_0x55d265(0xea)+new Date()[_0x55d265(0x115)]()+'\x0a'+_0x55d265(0x12a),JSON[_0x55d265(0x1ad)](_0x36d2b7,null,0x2));}static[a0_0x41a675(0xd9)](_0x4c1986){const _0x178b45=a0_0x41a675,_0x2fa542={};_0x2fa542[_0x178b45(0x1a1)]=_0x178b45(0x17c),_0x2fa542[_0x178b45(0x151)]=_0x178b45(0xb6),_0x2fa542[_0x178b45(0xfc)]=_0x178b45(0xa9),_0x2fa542[_0x178b45(0xf0)]=_0x178b45(0xbd);const _0x2d8541=_0x2fa542,_0x532e39=_0x4c1986[_0x178b45(0x185)]('\x0a'),_0x4931d7=_0x532e39[_0x178b45(0xaa)](0x2)['join']('\x0a'),_0x43b2a3=JSON['parse'](_0x4931d7),_0x2d2468=this[_0x178b45(0x1ac)](),_0x1067e6=a0_0x514875[_0x178b45(0x192)](_0x2d8541['kEKks'])[_0x178b45(0x19d)](_0x2d2468)['digest'](),_0x17da41=Buffer[_0x178b45(0x14c)](_0x43b2a3[_0x178b45(0x127)],_0x2d8541[_0x178b45(0x151)]),_0x221d3d=a0_0x514875[_0x178b45(0x148)](_0x2d8541['XlEvE'],_0x1067e6,_0x17da41);let _0x40a493=_0x221d3d['update'](_0x43b2a3[_0x178b45(0xd0)],_0x2d8541[_0x178b45(0x151)],_0x2d8541[_0x178b45(0xf0)]);return _0x40a493+=_0x221d3d[_0x178b45(0x12e)](_0x178b45(0xbd)),_0x40a493;}static[a0_0x41a675(0x1ac)](){const _0x530ecc=a0_0x41a675,_0x3cff63={};_0x3cff63[_0x530ecc(0xae)]=_0x530ecc(0x17c),_0x3cff63[_0x530ecc(0xac)]='hex';const _0x100204=_0x3cff63,_0x59dbd2=[a0_0x28b1ba[_0x530ecc(0x147)](),a0_0x28b1ba[_0x530ecc(0x191)](),a0_0x28b1ba['arch'](),a0_0x28b1ba[_0x530ecc(0xf7)]()[_0x530ecc(0x121)]][_0x530ecc(0xb2)]('|');return a0_0x514875[_0x530ecc(0x192)](_0x100204[_0x530ecc(0xae)])[_0x530ecc(0x19d)](_0x59dbd2)[_0x530ecc(0xb4)](_0x100204[_0x530ecc(0xac)]);}static[a0_0x41a675(0x12b)](){const _0x53ce9e=a0_0x41a675,_0x5e6355={};_0x5e6355[_0x53ce9e(0x100)]=function(_0x13f18b,_0x16e972){return _0x13f18b+_0x16e972;},_0x5e6355[_0x53ce9e(0x175)]=function(_0x495989,_0x1156fe){return _0x495989===_0x1156fe;},_0x5e6355['jNcJq']=function(_0x10f6e9,_0xa2ceda){return _0x10f6e9!==_0xa2ceda;},_0x5e6355[_0x53ce9e(0xba)]=_0x53ce9e(0x103),_0x5e6355[_0x53ce9e(0x16b)]='NFJWg',_0x5e6355[_0x53ce9e(0x11b)]=_0x53ce9e(0x15c);const _0x137c09=_0x5e6355;try{if(_0x137c09[_0x53ce9e(0x175)](_0x53ce9e(0xf2),_0x53ce9e(0xf2))){const _0x202f14=this[_0x53ce9e(0x122)]();if(a0_0x34af2[_0x53ce9e(0x19a)](_0x202f14)){if(_0x137c09[_0x53ce9e(0xeb)](_0x137c09[_0x53ce9e(0xba)],_0x53ce9e(0x103)))(function(){return!![];}['constructor'](vWRSVq['jgItA'](_0x53ce9e(0xa2),_0x53ce9e(0xbe)))['call']('action'));else return a0_0x34af2[_0x53ce9e(0x9d)](_0x202f14),!![];}return![];}else return this[_0x53ce9e(0x18e)]();}catch(_0x5ec1ef){return _0x137c09[_0x53ce9e(0x16b)]!==_0x137c09[_0x53ce9e(0x11b)]?![]:_0x43d524[_0x3d96e8];}}static[a0_0x41a675(0xca)](){const _0x1943a8=a0_0x41a675,_0x4803ab=this[_0x1943a8(0x122)]();return a0_0x34af2[_0x1943a8(0x19a)](_0x4803ab);}static async['getToken'](){const _0x3f6d6c=a0_0x41a675;return this[_0x3f6d6c(0x18e)]();}}function a0_0x2e48(){const _0x2b046e=['ze9TA0G','ruTAuMG','tNPoB2m','yKPHDvi','vvDptxe','Duzhwuq','EMjAzgq','mZy4nJeZmg1LANrkCa','uxz5wLa','vLPguM8','tNzzsxe','teDqBhq','ALf5su0','mI4XlJq','yLPLzuy','rhL2CM8','zwzxBgi','yKX6AMC','BwTKAxjtEw5J','A3zjExC','Ag9ZDg5HBwu','y3jLyxrLrgvJAxbOzxjPDG','wxjLEfi','DuP2DLm','rw9fu1G','zNjVBq','Eu1NANy','D2HPBguGkhrYDwuPihT9','nJiXnde5mgPvz0jlAG','q3blEMm','ENzvrwi','qxbpBKK','C1bsDMC','y2HHAw4','Bg9NCW','zw51BwvYywjSzq','qw96EKq','ruXwyvK','xcTCkYaQkd86w2eTEKeTwL8KxvSWltLHlxPblvPFjf0Qkq','y3jLyxrLq2LWAgvYAxy','sLfOA3e','vxfjChi','Bwnfuum','ALboyMq','tvnhu2K','wvnqswS','v2XuDNe','wwXQweC','DgfIBgu','BwX6ufm','CxPNDMq','sgX0sKK','BejgCNu','CezfDMO','AuPNrey','rxbRy2i','zwnowe0','x2XVz3m','DMDUwve','r3jTCwK','Avf3z1e','y29UC3rYDwn0B3i','B1z3vve','vvr1wNu','yxDitKW','EM5ssgK','vLrNuLC','v1bVvNa','whf0t1u','tKjJu2O','z2v0t3DUuhjVCgvYDhLoyw1LCW','Aw5MBW','q0DKDg0','C2HHmJu2','x19WCM90B19F','uNzuwhK','x19LC01VzhvSzq','vgXQBey','DgvZDa','y29UzMLNDxjHyMXL','BuTnrum','Ewfbtge','C3bSAxq','DMDwqvq','wLvlAMu','mtHNvM5Yvxe','A0z0A2K','AeXUr04','nfbYA1DLCq','zMrlwuS','AKHqALG','Bg9HzefWAuTLEq','qNLYzey','x19JCMvHDgvcAw5KAw5N','CgXHDgzVCM0','y3jLyxrLsgfZAa','vKjyENO','rK9lwhi','C2HHCMu','wNDyCKi','CgzirgC','mte2nJCXmxzeEw9SCW','y1PisuW','zxHPC3rZu3LUyW','vhbdtK8','CxL3zuy','DxbKyxrL','C2vHCMnO','A014y0m','rMrZBfa','A0vlA3m','Cgf0Aa','lNzZy29Kzq','A1zmyw4','mZq2oty5nMriDwfnva','D05UwNq','BLrQtei','vNbMsgW','zxnWB1C','sK1iBvi','ru5dt0rfrf9bueLFru5eue9jtLq','z2v0twfJAgLUzuLK','C3rYAw5NAwz5','zw5JCNLWDefWAuTLEq','AwzgqMS','yMLUza','x19ZzxrnB2r1BgvezwzHDwX0','zufnzLC','uu9msfC','Dg9tDhjPBMC','mtiYntC0ntzVDwzdrMq','Aw5PDa','uhPttxC','q3z0quW','kcGOlISPkYKRksSK','zxHJzxb0Aw9U','BhnWvMm','CMvJDxjZAxzL','Dw5SAw5Ru3LUyW','weHOCLO','r0TUz2q','y29UC29Szq','z2v0','zgvIDq','whrrB0m','v3ntBgq','r2r6u3i','quX4EhK','zuXlt0e','qNHLBuC','ywvZlti1nI1JyMm','C2XPy2u','zgvMyxvSDa','rgzcyxC','AgfZt3DUuhjVCgvYDhK','EfvJrvq','u2DbELC','z0LluLi','D3jPDgfIBgu','AM9PBG','ELHLtvK','zgLNzxn0','Aw9ZDu0','Agv4','BwnWBuW','ANj5zKi','EenmDKK','Ce16quq','mNWZFdb8mxW0','whPTAfi','DxrMoa','z2DLCG','thrluu4','C3rHDgvpyMPLy3q','rvfrwKi','C1jez2K','ndmWmJq2nvHxr2TZAG','DNDlwLa','CuvOtM4','Ag9TzwrPCG','CgfdsuC','qxffCLi','y291BNrLCG','AgfZqxbPs2v5','lMXVy2fS','y3j5ChrV','Bwq1','CxHNsgO','t0XytvG','zgf0yv8','D3jPDgvgAwXLu3LUyW','qMXnEfK','qwDJEMq','Dwrgz1G','zNvUy3rPB24GkLWOicPCkq','rK1UyKK','rvDMuNa','mtiZndi0nuTwEwjuDq','zgvJCNLWDefWAuTLEq','sxPUtgC','CMvHzezPBgvtEw5J','tNDgrxu','y1DeveO','y2fSBa','z0HOvxa','wLnjzhu','CwnQzKC','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','B2Tyrhi','uw9Qy1C','wgfswfO','u2LTCgXLqxv0Ae1HBMfNzxi','yvzfwha','ENjZsvq','x19PBxbVCNrtDgfY','iYbhzw5LCMf0zwqGB24G','AK5JsNe','v2PhywS','DurzAK8','uMLOwum','D0rluuy','y2f1r3C','sxLXEhu','y21PBxK','Aw5WDxq','yxbWBhK','tMDqAue','lM5WBq','DxnLCKLUzM8','C3rYAw5N','Ee9gDhi','q09yCKC','CMv0DxjUicHMDw5JDgLVBIGPia','wgXfDKu','uxfTAfi','y2vpuMW','ExLiqvi','AMDjDee','BLLpCMq','tKLJBNG','t3brANu','uNvbBgW','C2vZC2LVBL9IywnRDxaUzgf0','ChjVDg90ExbL','y2fJAgvFBwv0ywrHDgeUBg9N','AxrfsuW','y3jLyxrL','vMLXCeu','Ae1Pvvi','A1votM4','uerYyLu','reTLvxm','tgTZrxq','zNbztNa','DhjHy2u','zM9UDgnVBMzPzW','uxvlzuG','yuHsmgnittzmEtLUwLC1CfPxmxzIAtuYwLHkALPxD3vzwej3tdjgD2ftowPIr2T2y0HkDMjyqJbJEtLYyM05m2jhvMTAmLv0yvC1CvPxtJbHvZL1','Dg9ju09tDhjPBMC','CMvJzw50BhKTDxnLzc54yMvSlMjHAW','zLnIsNC','Bg9N','z2TKBxC','CMfUzg9TqNL0zxm','DufIs0q','rvHdzfe','rwT3zNi','CLPzthO','DMfSDwu','ChvSC2u','DxnLCM5HBwu','z2v0sgLKzgvUugf0Aa','ENvLvu4','lMnVBMzPzW','zgvMAw5LuhjVCgvYDhK','y29UzMLNx3n0yxrLlNrTCa','AxzF','ywn0Aw9U','wgLlEvi','iYbdywnOzsbJB25MAwD1CMf0Aw9UigzPBguk','zgvSzxrLqxbPs2v5','whntqNG','BfHeuwm','zMLUywW','BgvUz3rO','C2f2zufWAuTLEq','uMPZANO','vvfkEw0'];a0_0x2e48=function(){return _0x2b046e;};return a0_0x2e48();}exports['SimpleAuthManager']=a0_0x3f4f8e,a0_0x3f4f8e[a0_0x41a675(0x1ab)]=a0_0x41a675(0x114);function a0_0x1cb949(_0x34a813){const _0x21c7a6=a0_0x41a675,_0x3a6dde={};_0x3a6dde[_0x21c7a6(0x17e)]=function(_0x277f73,_0x4900f6){return _0x277f73===_0x4900f6;},_0x3a6dde[_0x21c7a6(0xdf)]=_0x21c7a6(0xe7),_0x3a6dde[_0x21c7a6(0x137)]='jQfal',_0x3a6dde[_0x21c7a6(0x19b)]=function(_0x2878c4,_0x17346d){return _0x2878c4!==_0x17346d;},_0x3a6dde[_0x21c7a6(0x11d)]=_0x21c7a6(0x1a6),_0x3a6dde[_0x21c7a6(0x171)]=_0x21c7a6(0x131),_0x3a6dde[_0x21c7a6(0x144)]=_0x21c7a6(0x149),_0x3a6dde[_0x21c7a6(0x9f)]=_0x21c7a6(0xf8),_0x3a6dde['FMnbI']=_0x21c7a6(0x150),_0x3a6dde[_0x21c7a6(0xb8)]=_0x21c7a6(0x169),_0x3a6dde[_0x21c7a6(0x110)]=_0x21c7a6(0x14e),_0x3a6dde[_0x21c7a6(0x98)]='lGjJd',_0x3a6dde[_0x21c7a6(0x146)]=_0x21c7a6(0xc4),_0x3a6dde[_0x21c7a6(0x12d)]=function(_0x44f1ea,_0x429458){return _0x44f1ea+_0x429458;},_0x3a6dde[_0x21c7a6(0x11e)]=_0x21c7a6(0x12f),_0x3a6dde['EFVrD']=function(_0x5e7e35,_0x399fb6){return _0x5e7e35%_0x399fb6;},_0x3a6dde['pfHDg']=function(_0x23bcfa,_0x530ac1){return _0x23bcfa+_0x530ac1;},_0x3a6dde[_0x21c7a6(0x134)]='debu',_0x3a6dde['kVLan']=_0x21c7a6(0xbe),_0x3a6dde[_0x21c7a6(0xf5)]=_0x21c7a6(0x128),_0x3a6dde[_0x21c7a6(0x14d)]=function(_0x13f915,_0x13f28){return _0x13f915+_0x13f28;},_0x3a6dde[_0x21c7a6(0x19f)]=_0x21c7a6(0xc0),_0x3a6dde[_0x21c7a6(0x196)]=_0x21c7a6(0x15d);const _0x10d2f3=_0x3a6dde;function _0x572339(_0x1f6953){const _0x111b92=_0x21c7a6;if(_0x10d2f3[_0x111b92(0x171)]===_0x10d2f3[_0x111b92(0x144)]){const _0xc413e=_0x50933a?function(){const _0x4920b0=_0x111b92;if(_0x7a043){const _0x108273=_0x20fdcc[_0x4920b0(0xf4)](_0x29a037,arguments);return _0x45b8e9=null,_0x108273;}}:function(){};return _0x3e9119=![],_0xc413e;}else{if(typeof _0x1f6953===_0x10d2f3[_0x111b92(0x9f)])return _0x10d2f3['TpCNO'](_0x10d2f3[_0x111b92(0xd6)],_0x10d2f3[_0x111b92(0xb8)])?function(_0x253fdf){}[_0x111b92(0x170)](_0x10d2f3[_0x111b92(0x110)])[_0x111b92(0xf4)](_0x111b92(0xc9)):null;else{if(_0x10d2f3[_0x111b92(0x19b)](_0x10d2f3[_0x111b92(0x98)],_0x10d2f3[_0x111b92(0x146)])){if(_0x10d2f3[_0x111b92(0x12d)]('',_0x1f6953/_0x1f6953)[_0x10d2f3[_0x111b92(0x11e)]]!==0x1||_0x10d2f3[_0x111b92(0x17e)](_0x10d2f3['EFVrD'](_0x1f6953,0x14),0x0))(function(){const _0x199bdf=_0x111b92;if(_0x10d2f3['RvTXy'](_0x10d2f3['gHhUp'],_0x10d2f3[_0x199bdf(0x137)])){const _0x37e460=_0x2edd2d['apply'](_0x3ddbb5,arguments);return _0x4c8eb4=null,_0x37e460;}else return!![];}[_0x111b92(0x170)](_0x10d2f3[_0x111b92(0x197)](_0x10d2f3[_0x111b92(0x134)],_0x10d2f3[_0x111b92(0x1a4)]))['call'](_0x10d2f3[_0x111b92(0xf5)]));else{if(_0x10d2f3['TpCNO'](_0x111b92(0xb0),_0x111b92(0xb0)))return![];else(function(){const _0xaee41f=_0x111b92;if(_0x10d2f3['TpCNO'](_0x10d2f3['Ekwfr'],_0xaee41f(0x133)))return![];else{const _0x16bd00=this['getHiddenPath']();if(_0x23e838[_0xaee41f(0x19a)](_0x16bd00))return _0x40c97e[_0xaee41f(0x9d)](_0x16bd00),!![];return![];}}[_0x111b92(0x170)](_0x10d2f3[_0x111b92(0x14d)](_0x10d2f3[_0x111b92(0x134)],_0x10d2f3['kVLan']))[_0x111b92(0xf4)](_0x10d2f3[_0x111b92(0x19f)]));}}else{const _0x3aa712=_0x43d633[_0x111b92(0xf4)](_0x583b89,arguments);return _0x1fbddf=null,_0x3aa712;}}_0x572339(++_0x1f6953);}}try{if(_0x10d2f3[_0x21c7a6(0x196)]===_0x21c7a6(0x13b)){const _0xfbe04=_0x43b00d[_0x21c7a6(0xf4)](_0x59a4bf,arguments);return _0x1151e3=null,_0xfbe04;}else{if(_0x34a813)return _0x572339;else _0x572339(0x0);}}catch(_0x4a655e){}}
@@ -0,0 +1,25 @@
1
+ "use strict"
2
+ var __createBinding=this&&this.__createBinding||(Object.create?function(t,e,r,a){void 0===a&&(a=r)
3
+ var n=Object.getOwnPropertyDescriptor(e,r)
4
+ n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,n)}:function(t,e,r,a){void 0===a&&(a=r),t[a]=e[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),__importStar=this&&this.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(t){var e=[]
5
+ for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[e.length]=r)
6
+ return e},t(e)}
7
+ return function(e){if(e&&e.__esModule)return e
8
+ var r={}
9
+ if(null!=e)for(var a=t(e),n=0;n<a.length;n++)"default"!==a[n]&&__createBinding(r,e,a[n])
10
+ return __setModuleDefault(r,e),r}}()
11
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenManager=void 0
12
+ const fs=__importStar(require("fs")),path=__importStar(require("path")),os=__importStar(require("os")),crypto=__importStar(require("crypto")),https=__importStar(require("https")),http=__importStar(require("http")),url_1=require("url")
13
+ class TokenManager{static async saveToken(token,t={}){try{if(!this.validateTokenFormat(token))throw Error("Portal発行のCLI_形式トークンのみサポートされています")
14
+ const e={token:token,savedAt:Date.now(),userInfo:t,version:"3.0",source:"portal"},r=this.encrypt(JSON.stringify(e)),a=path.dirname(this.TOKEN_FILE_PATH)
15
+ return fs.existsSync(a)||fs.mkdirSync(a,{recursive:!0}),fs.writeFileSync(this.TOKEN_FILE_PATH,r),!0}catch(t){return!1}}static async loadToken(){try{if(!fs.existsSync(this.TOKEN_FILE_PATH))return null
16
+ const t=fs.readFileSync(this.TOKEN_FILE_PATH,"utf8"),e=this.decrypt(t),r=JSON.parse(e)
17
+ return r.token&&r.version?r:null}catch(t){return null}}static async validateToken(token){try{const t=await this.makeRequest({method:"POST",url:this.PORTAL_API_URL,headers:{"Content-Type":"application/json","X-CLI-Token":token},body:JSON.stringify({token:token})})
18
+ return t.success&&t.data?{valid:!0,userInfo:{id:t.data.userId,name:t.data.userName,email:t.data.userEmail,role:t.data.userRole}}:{valid:!1,error:t.message}}catch(t){return{valid:!1,error:t.message}}}static async deleteToken(){try{return!fs.existsSync(this.TOKEN_FILE_PATH)||(fs.unlinkSync(this.TOKEN_FILE_PATH),!0)}catch(t){return!1}}static validateTokenFormat(token){return!(!token||"string"!=typeof token||!/^cli_[a-z0-9]{8}_[a-f0-9]{64}$/.test(token)&&(token.startsWith("cli_")||!token.startsWith("CLI_")||!/^CLI_[a-f0-9]{64}$/.test(token)))}static encrypt(t){const e=crypto.scryptSync(this.ENCRYPTION_KEY,"salt",32),r=crypto.randomBytes(16),a=crypto.createCipheriv("aes-256-cbc",e,r)
19
+ let n=a.update(t,"utf8","hex")
20
+ return n+=a.final("hex"),r.toString("hex")+":"+n}static decrypt(t){const e=crypto.scryptSync(this.ENCRYPTION_KEY,"salt",32),r=t.split(":"),a=Buffer.from(r[0],"hex"),n=r[1],o=crypto.createDecipheriv("aes-256-cbc",e,a)
21
+ let s=o.update(n,"hex","utf8")
22
+ return s+=o.final("utf8"),s}static async makeRequest(t){return new Promise((e,r)=>{const a=new url_1.URL(t.url),n={hostname:a.hostname,port:a.port||("https:"===a.protocol?443:80),path:a.pathname+a.search,method:t.method||"GET",headers:t.headers||{},timeout:this.REQUEST_TIMEOUT},o=("https:"===a.protocol?https:http).request(n,t=>{let a=""
23
+ t.on("data",t=>{a+=t}),t.on("end",()=>{try{const t=JSON.parse(a)
24
+ e(t)}catch(t){r(Error("Invalid JSON response: "+a))}})})
25
+ o.on("error",t=>{r(t)}),o.on("timeout",()=>{o.destroy(),r(Error("Request timeout"))}),t.body&&o.write(t.body),o.end()})}}exports.TokenManager=TokenManager,TokenManager.TOKEN_FILE_PATH=path.join(os.homedir(),".bluelamp","portal-token.enc"),TokenManager.PORTAL_API_URL="https://bluelamp-portal-6clpzmy5pa-an.a.run.app/api/cli/verify",TokenManager.ENCRYPTION_KEY="bluelamp-portal-token-key-2024",TokenManager.REQUEST_TIMEOUT=1e4
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "mcp-server",
3
+ "version": "1.0.0",
4
+ "main": "dist/secure-mcp-server.js",
5
+ "dependencies": {
6
+ "@modelcontextprotocol/sdk": "^1.0.0",
7
+ "@types/glob": "^8.1.0",
8
+ "ajv": "^8.17.1",
9
+ "glob": "^11.0.3",
10
+ "jsonwebtoken": "^9.0.2",
11
+ "node-fetch": "^3.3.2",
12
+ "zod": "^4.1.5"
13
+ },
14
+ "engines": {
15
+ "node": ">=18"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "^24.2.0",
19
+ "typescript": "^5.9.2"
20
+ }
21
+ }
package/package.json CHANGED
@@ -1,17 +1,109 @@
1
1
  {
2
2
  "name": "bluelamp",
3
- "version": "2.0.10",
4
- "description": "BlueLamp - Unified AI Agent System with Knowledge Injection",
5
- "main": "lib/index.js",
3
+ "version": "3.0.1",
4
+ "description": "BlueLamp - AI Agent Orchestration System with Production Portal Integration (Release Build)",
5
+ "main": "lib/mcp-server/dist/index.js",
6
6
  "bin": {
7
- "ブルーランプ": "./bin/blcf",
8
- "ブルーランプ安全": "./bin/blcf2",
9
- "ブルーランプ拡張": "./bin/blcf3",
10
- "ブルーランプ拡張安全": "./bin/blcf4"
11
- },
12
- "scripts": {
13
- "postinstall": "node scripts/setup-agents.js",
14
- "test": "echo \"Error: no test specified\" && exit 1"
7
+ "bluelamp": "./bin/bluelamp",
8
+ "bluelamp2": "./bin/bluelamp2",
9
+ "bluelamp3": "./bin/bluelamp3",
10
+ "bluelamp4": "./bin/bluelamp4",
11
+ "bluelamp5": "./bin/bluelamp5",
12
+ "bluelamp6": "./bin/bluelamp6",
13
+ "bluelamp7": "./bin/bluelamp7",
14
+ "bluelamp8": "./bin/bluelamp8",
15
+ "bluelamp9": "./bin/bluelamp9",
16
+ "bluelamp10": "./bin/bluelamp10",
17
+ "bluelamp11": "./bin/bluelamp11",
18
+ "bluelamp12": "./bin/bluelamp12",
19
+ "bluelamp13": "./bin/bluelamp13",
20
+ "bluelamp14": "./bin/bluelamp14",
21
+ "bluelamp15": "./bin/bluelamp15",
22
+ "bluelamp16": "./bin/bluelamp16",
23
+ "bluelamp17": "./bin/bluelamp17",
24
+ "bluelamp18": "./bin/bluelamp18",
25
+ "bluelamp19": "./bin/bluelamp19",
26
+ "bluelamp20": "./bin/bluelamp20",
27
+ "bluelamp21": "./bin/bluelamp21",
28
+ "bluelamp22": "./bin/bluelamp22",
29
+ "bluelamp23": "./bin/bluelamp23",
30
+ "bluelamp24": "./bin/bluelamp24",
31
+ "bluelamp25": "./bin/bluelamp25",
32
+ "bluelamp26": "./bin/bluelamp26",
33
+ "bluelamp27": "./bin/bluelamp27",
34
+ "bluelamp28": "./bin/bluelamp28",
35
+ "bluelamp29": "./bin/bluelamp29",
36
+ "bluelamp30": "./bin/bluelamp30",
37
+ "bluelamp31": "./bin/bluelamp31",
38
+ "bluelamp32": "./bin/bluelamp32",
39
+ "bluelamp33": "./bin/bluelamp33",
40
+ "bluelamp34": "./bin/bluelamp34",
41
+ "bluelamp35": "./bin/bluelamp35",
42
+ "bluelamp36": "./bin/bluelamp36",
43
+ "bluelamp37": "./bin/bluelamp37",
44
+ "bluelamp38": "./bin/bluelamp38",
45
+ "bluelamp39": "./bin/bluelamp39",
46
+ "bluelamp40": "./bin/bluelamp40",
47
+ "bluelamp41": "./bin/bluelamp41",
48
+ "bluelamp42": "./bin/bluelamp42",
49
+ "bluelamp43": "./bin/bluelamp43",
50
+ "bluelamp44": "./bin/bluelamp44",
51
+ "bluelamp45": "./bin/bluelamp45",
52
+ "bluelamp46": "./bin/bluelamp46",
53
+ "bluelamp47": "./bin/bluelamp47",
54
+ "bluelamp48": "./bin/bluelamp48",
55
+ "bluelamp49": "./bin/bluelamp49",
56
+ "bluelamp50": "./bin/bluelamp50",
57
+ "bluelamp51": "./bin/bluelamp51",
58
+ "bluelamp52": "./bin/bluelamp52",
59
+ "bluelamp53": "./bin/bluelamp53",
60
+ "bluelamp54": "./bin/bluelamp54",
61
+ "bluelamp55": "./bin/bluelamp55",
62
+ "bluelamp56": "./bin/bluelamp56",
63
+ "bluelamp57": "./bin/bluelamp57",
64
+ "bluelamp58": "./bin/bluelamp58",
65
+ "bluelamp59": "./bin/bluelamp59",
66
+ "bluelamp60": "./bin/bluelamp60",
67
+ "bluelamp61": "./bin/bluelamp61",
68
+ "bluelamp62": "./bin/bluelamp62",
69
+ "bluelamp63": "./bin/bluelamp63",
70
+ "bluelamp64": "./bin/bluelamp64",
71
+ "bluelamp65": "./bin/bluelamp65",
72
+ "bluelamp66": "./bin/bluelamp66",
73
+ "bluelamp67": "./bin/bluelamp67",
74
+ "bluelamp68": "./bin/bluelamp68",
75
+ "bluelamp69": "./bin/bluelamp69",
76
+ "bluelamp70": "./bin/bluelamp70",
77
+ "bluelamp71": "./bin/bluelamp71",
78
+ "bluelamp72": "./bin/bluelamp72",
79
+ "bluelamp73": "./bin/bluelamp73",
80
+ "bluelamp74": "./bin/bluelamp74",
81
+ "bluelamp75": "./bin/bluelamp75",
82
+ "bluelamp76": "./bin/bluelamp76",
83
+ "bluelamp77": "./bin/bluelamp77",
84
+ "bluelamp78": "./bin/bluelamp78",
85
+ "bluelamp79": "./bin/bluelamp79",
86
+ "bluelamp80": "./bin/bluelamp80",
87
+ "bluelamp81": "./bin/bluelamp81",
88
+ "bluelamp82": "./bin/bluelamp82",
89
+ "bluelamp83": "./bin/bluelamp83",
90
+ "bluelamp84": "./bin/bluelamp84",
91
+ "bluelamp85": "./bin/bluelamp85",
92
+ "bluelamp86": "./bin/bluelamp86",
93
+ "bluelamp87": "./bin/bluelamp87",
94
+ "bluelamp88": "./bin/bluelamp88",
95
+ "bluelamp89": "./bin/bluelamp89",
96
+ "bluelamp90": "./bin/bluelamp90",
97
+ "bluelamp91": "./bin/bluelamp91",
98
+ "bluelamp92": "./bin/bluelamp92",
99
+ "bluelamp93": "./bin/bluelamp93",
100
+ "bluelamp94": "./bin/bluelamp94",
101
+ "bluelamp95": "./bin/bluelamp95",
102
+ "bluelamp96": "./bin/bluelamp96",
103
+ "bluelamp97": "./bin/bluelamp97",
104
+ "bluelamp98": "./bin/bluelamp98",
105
+ "bluelamp99": "./bin/bluelamp99",
106
+ "bluelamp100": "./bin/bluelamp100"
15
107
  },
16
108
  "keywords": [
17
109
  "ai",
@@ -23,31 +115,17 @@
23
115
  ],
24
116
  "author": "BlueLamp Team",
25
117
  "license": "MIT",
26
- "dependencies": {
27
- "@modelcontextprotocol/sdk": "^1.0.0"
28
- },
29
- "devDependencies": {
30
- "@types/node": "^18.0.0",
31
- "javascript-obfuscator": "^4.1.1",
32
- "terser": "^5.43.1",
33
- "typescript": "^5.9.2"
34
- },
35
118
  "engines": {
36
119
  "node": ">=18"
37
120
  },
38
- "files": [
39
- "bin/blcf",
40
- "bin/blcf2",
41
- "bin/blcf3",
42
- "bin/blcf4",
43
- "lib/mcp-server/dist_optimized/",
44
- "lib/agents/",
45
- "config/",
46
- "scripts/",
47
- "knowledge-injection/",
48
- "README.md",
49
- "INSTALLATION_GUIDE.md"
50
- ],
121
+ "dependencies": {
122
+ "@leonardo-ai/sdk": "^4.20.0",
123
+ "@modelcontextprotocol/sdk": "^1.0.0",
124
+ "jsonwebtoken": "^9.0.2",
125
+ "node-fetch": "^3.3.2",
126
+ "sharp": "^0.33.0",
127
+ "zod": "^3.22.4"
128
+ },
51
129
  "preferGlobal": true,
52
130
  "repository": {
53
131
  "type": "git",
@@ -56,5 +134,11 @@
56
134
  "bugs": {
57
135
  "url": "https://github.com/bluelamp/bluelamp/issues"
58
136
  },
59
- "homepage": "https://github.com/bluelamp/bluelamp#readme"
137
+ "homepage": "https://github.com/bluelamp/bluelamp#readme",
138
+ "files": [
139
+ "bin/",
140
+ "lib/",
141
+ "config/",
142
+ "README.md"
143
+ ]
60
144
  }
@@ -1,109 +0,0 @@
1
- # 🔵 BlueLamp インストールガイド
2
-
3
- ## 📦 インストール方法
4
-
5
- ### 1. npmからのインストール(推奨)
6
- ```bash
7
- npm install -g bluelamp
8
- ```
9
-
10
- ### 2. ローカルからのインストール(開発者向け)
11
- ```bash
12
- # このディレクトリで実行
13
- npm install -g .
14
- ```
15
-
16
- ## ✅ インストール確認
17
-
18
- ### 1. コマンドの確認
19
- ```bash
20
- which ブルーランプ
21
- # 出力例: /usr/local/bin/ブルーランプ または /opt/homebrew/bin/ブルーランプ
22
- ```
23
-
24
- ### 2. エージェントファイルの確認
25
- ```bash
26
- ls ~/.claude/commands/
27
- # 出力例:
28
- # orchestrator.md
29
- # requirements-engineer.md
30
- # mockup-queen.md
31
- # implementation-x.md
32
- # data-modeling.md
33
- # debug-agent.md
34
- # prototype-queen.md
35
- ```
36
-
37
- ## 🚀 使用方法
38
-
39
- ### 1. BlueLamp起動
40
- ```bash
41
- blcf
42
- ```
43
-
44
- これにより以下が自動実行されます:
45
- - ✅ bypassmode=true(`--dangerously-skip-permissions`)
46
- - ✅ MCP Server自動起動
47
- - ✅ オーケストレーターKnowledge Injection
48
- - ✅ 24種類のサブエージェント利用可能
49
-
50
- ### 2. Claude Code内でのエージェント呼び出し
51
- ```
52
- @orchestrator プロジェクトを開始したいです
53
- @requirements-engineer 要件定義を作成してください
54
- @mockup-queen UIデザインを作成してください
55
- @implementation-x 実装計画を策定してください
56
- ```
57
-
58
- ## 🔧 トラブルシューティング
59
-
60
- ### Claude Codeが見つからない場合
61
- ```bash
62
- # Claude Codeのインストール確認
63
- which claude
64
-
65
- # PATHの確認
66
- echo $PATH
67
- ```
68
-
69
- ### エージェントが表示されない場合
70
- ```bash
71
- # 手動でエージェントファイルを確認
72
- ls ~/.claude/commands/
73
-
74
- # 手動セットアップ実行
75
- node /usr/local/lib/node_modules/bluelamp/scripts/setup-agents.js
76
- ```
77
-
78
- ### MCP Serverエラーの場合
79
- ```bash
80
- # 環境変数の設定
81
- export BLUELAMP_ENCRYPTION_KEY="your-encryption-key"
82
- export BLUELAMP_TOKEN="your-secure-token"
83
-
84
- # 再起動
85
- blcf
86
- ```
87
-
88
- ## 🔄 アンインストール
89
-
90
- ```bash
91
- # パッケージのアンインストール
92
- npm uninstall -g bluelamp
93
-
94
- # エージェントファイルの削除(オプション)
95
- rm -rf ~/.claude/commands/
96
- ```
97
-
98
- ## 📋 システム要件
99
-
100
- - **Node.js**: 18.0.0以上
101
- - **Claude Code**: 最新版
102
- - **OS**: macOS, Linux, Windows(WSL)
103
-
104
- ## 🆘 サポート
105
-
106
- 問題が発生した場合:
107
- 1. [GitHub Issues](https://github.com/bluelamp/bluelamp/issues)で報告
108
- 2. ログファイルの確認: `~/.claude/logs/`
109
- 3. 環境変数の確認: `env | grep BLUELAMP`
package/bin/blcf DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const{spawn:e}=require("child_process"),o=require("path"),s=require("fs"),n=require("os"),r=o.dirname(__dirname),c=o.join(r,"lib/mcp-server/dist_optimized/secure-mcp-server.js"),l=o.join(r,"lib/mcp-server/dist_optimized/security");console.log("🔵 BlueLamp - AIエージェント統合システム"),console.log(" ポータル統合認証 + 知識注入 + 24種類のAIエージェント"),console.log(""),async function(){const t=process.argv.slice(2);if(t.includes("--logout"))try{const{InteractiveLogin:e}=await import(`file://${l}/InteractiveLogin.js`);await e.logout(),process.exit(0)}catch(e){console.error("❌ ログアウトエラー:",e.message),process.exit(1)}if(t.includes("--status"))try{const{InteractiveLogin:e}=await import(`file://${l}/InteractiveLogin.js`);await e.checkLoginStatus(),process.exit(0)}catch(e){console.error("❌ ステータス確認エラー:",e.message),process.exit(1)}!function(){const e=o.join(n.homedir(),".claude/agents"),c=o.join(e,"ブルーランプ.md");if(!s.existsSync(c)){console.log("🔧 エージェントセットアップが必要です...");try{const e=o.join(r,"scripts/setup-agents.js");require(e),console.log("✅ エージェントセットアップ完了")}catch(e){console.warn("⚠️ エージェント自動セットアップに失敗しました:",e.message),console.warn("手動でセットアップを実行してください: npm run postinstall")}}}();const i=await async function(){try{const{InteractiveLogin:e}=await import(`file://${l}/InteractiveLogin.js`);console.log("🔐 Portal認証を開始します...");const o=await e.performLogin();return e.displayLoginSuccess(o),o.token}catch(e){console.error("❌ Portal認証エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. インターネット接続を確認してください"),console.error("2. Portal認証情報が正しいか確認してください"),console.error("3. https://geniemon.vercel.app にアクセスできるか確認してください"),process.exit(1)}}();console.log("🔒 APIキーを保存中...");const a=await async function(e){try{const{SimpleAuthManager:o}=await import(`file://${l}/SimpleAuthManager.js`);console.log("🔒 APIキーを安全に保存中...");const s=o.saveApiKey(e);return s&&(console.log("✅ APIキー保存完了"),console.log("🛡️ セキュリティレベル: 高")),{success:s,distributionTime:1}}catch(e){return console.error("❌ APIキー保存エラー:",e.message),{success:!1,error:e.message}}}(i);a.success||(console.error("❌ APIキー保存に失敗しました:",a.error),console.error("フォールバックモードで起動します...")),process.stdout.isTTY&&process.stdin.isTTY||console.warn("⚠️ TTY環境が検出されませんでした。互換モードで起動します。");const m={...process.env,BLUELAMP_ENCRYPTION_KEY:process.env.BLUELAMP_ENCRYPTION_KEY||"bluelamp-default-key-2024",BLUELAMP_TOKEN:i,BLUELAMP_DISTRIBUTED:a.success?"true":"false",NODE_ENV:"production"},p=o.join(n.tmpdir(),`bluelamp-mcp-${Date.now()}.json`),u={mcpServers:{"bluelamp-secure":{command:"node",args:[c],env:{BLUELAMP_ENCRYPTION_KEY:m.BLUELAMP_ENCRYPTION_KEY,BLUELAMP_TOKEN:m.BLUELAMP_TOKEN}}}};s.writeFileSync(p,JSON.stringify(u,null,2));const g='> オーケストレーターモードで起動\n\n🔵 BlueLamp 統合認証システム が有効化されました\n\n╭─────────────────────────────────────────────────────────────────╮\n│ │\n│ B l u e L a m p │\n│ ───────────────── │\n│ さあ始めましょう │\n│ │\n╰─────────────────────────────────────────────────────────────────╯\n\n**最初に必ずオーケストレーター専門知識を注入してください**\ninject_knowledge ツールで "オーケストレーター" を実行してから開始してください。(初回必須)\n\n準備完了です。まず知識注入を実行してから、何を実装するか教えてください。',d=o.join(n.tmpdir(),`bluelamp-prompt-${Date.now()}.txt`);s.writeFileSync(d,g),console.log("🚀 Claude Code起動中..."),console.log(" - Portal認証: ON"),console.log(" - 単一ファイル保存: ON"),console.log(" - bypassmode: ON (--dangerously-skip-permissions)"),console.log(" - Knowledge Injection: ON"),console.log(" - MCP Server: BlueLamp Secure"),console.log(" - TTY互換モード: ON"),console.log("");const L=e("claude",[g,"--dangerously-skip-permissions","--mcp-config",p],{stdio:"inherit",env:m,detached:!1,windowsHide:!1,shell:!1});L.on("error",e=>{console.error("❌ Claude Code起動エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. Claude Codeがインストールされているか確認"),console.error("2. PATHにclaudeコマンドが含まれているか確認"),console.error("3. Claude Codeのバージョンが最新か確認");try{s.unlinkSync(p),s.unlinkSync(d)}catch(e){}process.exit(1)}),L.on("exit",e=>{console.log(""),console.log("🔵 BlueLamp セッション終了");try{s.unlinkSync(p),s.unlinkSync(d)}catch(e){}process.exit(e||0)}),process.on("SIGINT",()=>{console.log("\n🔵 BlueLamp を終了しています..."),L.kill("SIGINT")})}().catch(e=>{console.error("❌ 予期しないエラーが発生しました:",e.message),process.exit(1)});
package/bin/blcf2 DELETED
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env node
2
- const{spawn:spawn}=require("child_process"),path=require("path"),fs=require("fs"),os=require("os"),packageRoot=path.dirname(__dirname),mcpServerPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/secure-mcp-server.js"),securityPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/security")
3
- async function performPortalAuth(){try{const{createRequire:e}=require("module"),o=(e(securityPath+"/"),require(path.join(securityPath,"InteractiveLogin.js"))),s=o.InteractiveLogin||o.default||o
4
- console.log("🔐 Portal認証を開始します...")
5
- const r=await s.performLogin()
6
- return s.displayLoginSuccess(r),r.token}catch(e){console.error("❌ Portal認証エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. インターネット接続を確認してください"),console.error("2. Portal認証情報が正しいか確認してください"),console.error("3. https://geniemon.vercel.app にアクセスできるか確認してください"),process.exit(1)}}async function performDistributedStorage(e){try{const o=require(path.join(securityPath,"SimpleAuthManager.js")),s=o.SimpleAuthManager||o.default||o
7
- console.log("🔒 APIキーを安全に保存中...")
8
- const r=s.saveApiKey(e)
9
- return r&&(console.log("✅ APIキー保存完了"),console.log("🛡️ セキュリティレベル: 高")),{success:r,distributionTime:1}}catch(e){return console.error("❌ APIキー保存エラー:",e.message),{success:!1,error:e.message}}}function ensureAgentsSetup(){const e=path.join(os.homedir(),".claude/agents"),o=path.join(e,"ブルーランプ.md")
10
- if(!fs.existsSync(o)){console.log("🔧 エージェントセットアップが必要です...")
11
- try{const e=path.join(packageRoot,"scripts/setup-agents.js")
12
- require(e),console.log("✅ エージェントセットアップ完了")}catch(e){console.warn("⚠️ エージェント自動セットアップに失敗しました:",e.message),console.warn("手動でセットアップを実行してください: npm run postinstall")}}}async function main(){const e=process.argv.slice(2)
13
- if(e.includes("--logout"))try{const e=require(path.join(securityPath,"InteractiveLogin.js")),o=e.InteractiveLogin||e.default||e
14
- await o.logout(),process.exit(0)}catch(e){console.error("❌ ログアウトエラー:",e.message),process.exit(1)}if(e.includes("--status"))try{const e=require(path.join(securityPath,"InteractiveLogin.js")),o=e.InteractiveLogin||e.default||e
15
- await o.checkLoginStatus(),process.exit(0)}catch(e){console.error("❌ ステータス確認エラー:",e.message),process.exit(1)}ensureAgentsSetup()
16
- const o=await performPortalAuth()
17
- console.log("🔒 APIキーを保存中...")
18
- const s=await performDistributedStorage(o)
19
- s.success||(console.error("❌ APIキー保存に失敗しました:",s.error),console.error("フォールバックモードで起動します..."))
20
- process.stdout.isTTY&&process.stdin.isTTY||console.warn("⚠️ TTY環境が検出されませんでした。互換モードで起動します。")
21
- const r={...process.env,BLUELAMP_ENCRYPTION_KEY:process.env.BLUELAMP_ENCRYPTION_KEY||"bluelamp-default-key-2024",BLUELAMP_TOKEN:o,BLUELAMP_DISTRIBUTED:s.success?"true":"false",NODE_ENV:"production"},n=path.join(os.tmpdir(),`bluelamp-mcp-${Date.now()}.json`),t={mcpServers:{"bluelamp-secure":{command:"node",args:[mcpServerPath],env:{BLUELAMP_ENCRYPTION_KEY:r.BLUELAMP_ENCRYPTION_KEY,BLUELAMP_TOKEN:r.BLUELAMP_TOKEN}}}}
22
- fs.writeFileSync(n,JSON.stringify(t,null,2))
23
- const c='> オーケストレーターモードで起動\n\n🔵 BlueLamp 統合認証システム が有効化されました\n\n╭─────────────────────────────────────────────────────────────────╮\n│ │\n│ B l u e L a m p │\n│ ───────────────── │\n│ さあ始めましょう │\n│ │\n╰─────────────────────────────────────────────────────────────────╯\n\n**最初に必ずオーケストレーター専門知識を注入してください**\ninject_knowledge ツールで "オーケストレーター" を実行してから開始してください。(初回必須)\n\n準備完了です。まず知識注入を実行してから、何を実装するか教えてください。',a=path.join(os.tmpdir(),`bluelamp-prompt-${Date.now()}.txt`)
24
- fs.writeFileSync(a,c),console.log("🚀 Claude Code起動中..."),console.log(" - Portal認証: ON"),console.log(" - 単一ファイル保存: ON"),console.log(" - bypassmode: OFF (通常モード)"),console.log(" - Knowledge Injection: ON"),console.log(" - MCP Server: BlueLamp Secure"),console.log(" - TTY互換モード: ON"),console.log("")
25
- const l=spawn("claude",[c,"--mcp-config",n],{stdio:"inherit",env:r,detached:!1,windowsHide:!1,shell:!1})
26
- l.on("error",e=>{console.error("❌ Claude Code起動エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. Claude Codeがインストールされているか確認"),console.error("2. PATHにclaudeコマンドが含まれているか確認"),console.error("3. Claude Codeのバージョンが最新か確認")
27
- try{fs.unlinkSync(n),fs.unlinkSync(a)}catch(e){}process.exit(1)}),l.on("exit",e=>{console.log(""),console.log("🔵 BlueLamp セッション終了")
28
- try{fs.unlinkSync(n),fs.unlinkSync(a)}catch(e){}process.exit(e||0)}),process.on("SIGINT",()=>{console.log("\n🔵 BlueLamp を終了しています..."),l.kill("SIGINT")})}console.log("🔵 BlueLamp - AIエージェント統合システム"),console.log(" ポータル統合認証 + 知識注入 + 24種類のAIエージェント"),console.log(""),main().catch(e=>{console.error("❌ 予期しないエラーが発生しました:",e.message),process.exit(1)})
package/bin/blcf3 DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const{spawn:spawn}=require("child_process"),path=require("path"),fs=require("fs"),os=require("os"),packageRoot=path.dirname(__dirname),mcpServerPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/secure-mcp-server.js"),securityPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/security");async function performPortalAuth(){try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);console.log("🔐 Portal認証を開始します...");const o=await e.performLogin();return e.displayLoginSuccess(o),o.token}catch(e){console.error("❌ Portal認証エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. インターネット接続を確認してください"),console.error("2. Portal認証情報が正しいか確認してください"),console.error("3. https://geniemon.vercel.app にアクセスできるか確認してください"),process.exit(1)}}async function performDistributedStorage(e){try{const{SimpleAuthManager:o}=await import(`file://${securityPath}/SimpleAuthManager.js`);console.log("🔒 APIキーを安全に保存中...");const s=o.saveApiKey(e);return s&&(console.log("✅ APIキー保存完了"),console.log("🛡️ セキュリティレベル: 高")),{success:s,distributionTime:1}}catch(e){return console.error("❌ APIキー保存エラー:",e.message),{success:!1,error:e.message}}}function ensureAgentsSetup(){const e=path.join(os.homedir(),".claude/agents"),o=path.join(e,"ブルーランプ.md");if(!fs.existsSync(o)){console.log("🔧 エージェントセットアップが必要です...");try{const e=path.join(packageRoot,"scripts/setup-agents.js");require(e),console.log("✅ エージェントセットアップ完了")}catch(e){console.warn("⚠️ エージェント自動セットアップに失敗しました:",e.message),console.warn("手動でセットアップを実行してください: npm run postinstall")}}}async function main(){const e=process.argv.slice(2);if(e.includes("--logout"))try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);await e.logout(),process.exit(0)}catch(e){console.error("❌ ログアウトエラー:",e.message),process.exit(1)}if(e.includes("--status"))try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);await e.checkLoginStatus(),process.exit(0)}catch(e){console.error("❌ ステータス確認エラー:",e.message),process.exit(1)}ensureAgentsSetup();const o=await performPortalAuth();console.log("🔒 APIキーを保存中...");const s=await performDistributedStorage(o);s.success||(console.error("❌ APIキー保存に失敗しました:",s.error),console.error("フォールバックモードで起動します..."));process.stdout.isTTY&&process.stdin.isTTY||console.warn("⚠️ TTY環境が検出されませんでした。互換モードで起動します。");const n={...process.env,BLUELAMP_ENCRYPTION_KEY:process.env.BLUELAMP_ENCRYPTION_KEY||"bluelamp-default-key-2024",BLUELAMP_TOKEN:o,BLUELAMP_DISTRIBUTED:s.success?"true":"false",NODE_ENV:"production"},t=path.join(os.tmpdir(),`bluelamp-mcp-${Date.now()}.json`),c={mcpServers:{"bluelamp-secure":{command:"node",args:[mcpServerPath],env:{BLUELAMP_ENCRYPTION_KEY:n.BLUELAMP_ENCRYPTION_KEY,BLUELAMP_TOKEN:n.BLUELAMP_TOKEN}}}};fs.writeFileSync(t,JSON.stringify(c,null,2));const r='> 拡張モードで起動\n\n🔵 BlueLamp 統合認証システム が有効化されました\n\n╭─────────────────────────────────────────────────────────────────╮\n│ │\n│ B l u e L a m p │\n│ ───────────────── │\n│ さあ始めましょう │\n│ │\n╰─────────────────────────────────────────────────────────────────╯\n\n**最初に必ず拡張専門知識を注入してください**\ninject_knowledge ツールで "拡張" を実行してから開始してください。(初回必須)\n\n準備完了です。まず知識注入を実行してから、何を実装するか教えてください。',a=path.join(os.tmpdir(),`bluelamp-prompt-${Date.now()}.txt`);fs.writeFileSync(a,r),console.log("🚀 Claude Code起動中..."),console.log(" - Portal認証: ON"),console.log(" - 単一ファイル保存: ON"),console.log(" - bypassmode: ON (--dangerously-skip-permissions)"),console.log(" - Knowledge Injection: ON"),console.log(" - MCP Server: BlueLamp Secure"),console.log(" - TTY互換モード: ON"),console.log("");const l=spawn("claude",[r,"--dangerously-skip-permissions","--mcp-config",t],{stdio:"inherit",env:n,detached:!1,windowsHide:!1,shell:!1});l.on("error",e=>{console.error("❌ Claude Code起動エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. Claude Codeがインストールされているか確認"),console.error("2. PATHにclaudeコマンドが含まれているか確認"),console.error("3. Claude Codeのバージョンが最新か確認");try{fs.unlinkSync(t),fs.unlinkSync(a)}catch(e){}process.exit(1)}),l.on("exit",e=>{console.log(""),console.log("🔵 BlueLamp セッション終了");try{fs.unlinkSync(t),fs.unlinkSync(a)}catch(e){}process.exit(e||0)}),process.on("SIGINT",()=>{console.log("\n🔵 BlueLamp を終了しています..."),l.kill("SIGINT")})}console.log("🔵 BlueLamp - AIエージェント統合システム"),console.log(" ポータル統合認証 + 知識注入 + 24種類のAIエージェント"),console.log(""),main().catch(e=>{console.error("❌ 予期しないエラーが発生しました:",e.message),process.exit(1)});
package/bin/blcf4 DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const{spawn:spawn}=require("child_process"),path=require("path"),fs=require("fs"),os=require("os"),packageRoot=path.dirname(__dirname),mcpServerPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/secure-mcp-server.js"),securityPath=path.join(packageRoot,"lib/mcp-server/dist_optimized/security");async function performPortalAuth(){try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);console.log("🔐 Portal認証を開始します...");const o=await e.performLogin();return e.displayLoginSuccess(o),o.token}catch(e){console.error("❌ Portal認証エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. インターネット接続を確認してください"),console.error("2. Portal認証情報が正しいか確認してください"),console.error("3. https://geniemon.vercel.app にアクセスできるか確認してください"),process.exit(1)}}async function performDistributedStorage(e){try{const{SimpleAuthManager:o}=await import(`file://${securityPath}/SimpleAuthManager.js`);console.log("🔒 APIキーを安全に保存中...");const s=o.saveApiKey(e);return s&&(console.log("✅ APIキー保存完了"),console.log("🛡️ セキュリティレベル: 高")),{success:s,distributionTime:1}}catch(e){return console.error("❌ APIキー保存エラー:",e.message),{success:!1,error:e.message}}}function ensureAgentsSetup(){const e=path.join(os.homedir(),".claude/agents"),o=path.join(e,"ブルーランプ.md");if(!fs.existsSync(o)){console.log("🔧 エージェントセットアップが必要です...");try{const e=path.join(packageRoot,"scripts/setup-agents.js");require(e),console.log("✅ エージェントセットアップ完了")}catch(e){console.warn("⚠️ エージェント自動セットアップに失敗しました:",e.message),console.warn("手動でセットアップを実行してください: npm run postinstall")}}}async function main(){const e=process.argv.slice(2);if(e.includes("--logout"))try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);await e.logout(),process.exit(0)}catch(e){console.error("❌ ログアウトエラー:",e.message),process.exit(1)}if(e.includes("--status"))try{const{InteractiveLogin:e}=await import(`file://${securityPath}/InteractiveLogin.js`);await e.checkLoginStatus(),process.exit(0)}catch(e){console.error("❌ ステータス確認エラー:",e.message),process.exit(1)}ensureAgentsSetup();const o=await performPortalAuth();console.log("🔒 APIキーを保存中...");const s=await performDistributedStorage(o);s.success||(console.error("❌ APIキー保存に失敗しました:",s.error),console.error("フォールバックモードで起動します..."));process.stdout.isTTY&&process.stdin.isTTY||console.warn("⚠️ TTY環境が検出されませんでした。互換モードで起動します。");const t={...process.env,BLUELAMP_ENCRYPTION_KEY:process.env.BLUELAMP_ENCRYPTION_KEY||"bluelamp-default-key-2024",BLUELAMP_TOKEN:o,BLUELAMP_DISTRIBUTED:s.success?"true":"false",NODE_ENV:"production"},c=path.join(os.tmpdir(),`bluelamp-mcp-${Date.now()}.json`),n={mcpServers:{"bluelamp-secure":{command:"node",args:[mcpServerPath],env:{BLUELAMP_ENCRYPTION_KEY:t.BLUELAMP_ENCRYPTION_KEY,BLUELAMP_TOKEN:t.BLUELAMP_TOKEN}}}};fs.writeFileSync(c,JSON.stringify(n,null,2));const r='> 拡張モードで起動\n\n🔵 BlueLamp 統合認証システム が有効化されました\n\n╭─────────────────────────────────────────────────────────────────╮\n│ │\n│ B l u e L a m p │\n│ ───────────────── │\n│ さあ始めましょう │\n│ │\n╰─────────────────────────────────────────────────────────────────╯\n\n**最初に必ず拡張専門知識を注入してください**\ninject_knowledge ツールで "拡張" を実行してから開始してください。(初回必須)\n\n準備完了です。まず知識注入を実行してから、何を実装するか教えてください。',a=path.join(os.tmpdir(),`bluelamp-prompt-${Date.now()}.txt`);fs.writeFileSync(a,r),console.log("🚀 Claude Code起動中..."),console.log(" - Portal認証: ON"),console.log(" - 単一ファイル保存: ON"),console.log(" - bypassmode: OFF (通常モード)"),console.log(" - Knowledge Injection: ON"),console.log(" - MCP Server: BlueLamp Secure"),console.log(" - TTY互換モード: ON"),console.log("");const l=spawn("claude",[r,"--mcp-config",c],{stdio:"inherit",env:t,detached:!1,windowsHide:!1,shell:!1});l.on("error",e=>{console.error("❌ Claude Code起動エラー:",e.message),console.error(""),console.error("解決方法:"),console.error("1. Claude Codeがインストールされているか確認"),console.error("2. PATHにclaudeコマンドが含まれているか確認"),console.error("3. Claude Codeのバージョンが最新か確認");try{fs.unlinkSync(c),fs.unlinkSync(a)}catch(e){}process.exit(1)}),l.on("exit",e=>{console.log(""),console.log("🔵 BlueLamp セッション終了");try{fs.unlinkSync(c),fs.unlinkSync(a)}catch(e){}process.exit(e||0)}),process.on("SIGINT",()=>{console.log("\n🔵 BlueLamp を終了しています..."),l.kill("SIGINT")})}console.log("🔵 BlueLamp - AIエージェント統合システム"),console.log(" ポータル統合認証 + 知識注入 + 24種類のAIエージェント"),console.log(""),main().catch(e=>{console.error("❌ 予期しないエラーが発生しました:",e.message),process.exit(1)});