@morphllm/morphmcp 0.8.70 โ 0.8.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/path-utils.js +1 -1
- package/dist/path-validation.js +1 -1
- package/dist/roots-utils.js +1 -1
- package/package.json +3 -2
- package/dist/test-auto-update.d.ts +0 -6
- package/dist/test-auto-update.js +0 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
function a0_0x202d(){const _0x171d35=['codebase_search','filepath','40156UHSTSa','applied\x20edits\x20to','Repository\x20identifier','40014WGyYvf','\x20\x201.\x20Command-line\x20arguments\x20(shown\x20above)','Use\x20dryRun=false\x20to\x20','push','timed\x20out','roots','\x20is\x20not\x20a\x20directory','timeout','TimeoutError','assistant','Invalid\x20arguments:\x20','dryRun','-\x20Prevents\x20context\x20pollution:\x20No\x20need\x20to\x20read\x20entire\x20files\x0a','\x20as\x20allowed\x20directory','Enabled\x20tools:\x20','number','getClientCapabilities','https://morphllm.com/api/error-report','params','constructor','finish','ENABLED_TOOLS','-\x20Option\x201:\x20Show\x201-2\x20context\x20lines\x20above\x20and\x20below,\x20omit\x20deleted\x20code\x0a','\x20valid\x20directories','\x20\x202.\x20MCP\x20roots\x20protocol\x20(if\x20client\x20supports\x20it)','map','No\x20results\x20found\x20for\x20query:\x20\x22','morph-warp-grep-v1-1111v0','๐\x20Morph\x20Edit\x20Preview','list_directory\x20','files','stringify','Unknown\x20tool:\x20','**SEMANTIC\x20CODE\x20SEARCH\x20-\x20USE\x20FOR\x20FINDING\x20CODE**\x0a\x0a','resolve','env','array','every','create\x20this\x20file','go.mod','lines','Server\x20cannot\x20operate:\x20No\x20allowed\x20directories\x20available.\x20Server\x20was\x20started\x20without\x20command-line\x20directories\x20and\x20client\x20either\x20does\x20not\x20support\x20MCP\x20roots\x20protocol\x20or\x20provided\x20empty\x20roots.\x20Please\x20either:\x201)\x20Start\x20server\x20with\x20directory\x20arguments,\x202)\x20Use\x20a\x20client\x20that\x20supports\x20MCP\x20roots\x20protocol\x20and\x20provides\x20valid\x20root\x20directories,\x20or\x203)\x20Enable\x20workspace\x20mode\x20with\x20ENABLE_WORKSPACE_MODE=true.','completed','This\x20tool\x20invokes\x20a\x20subagent\x20that\x20runs\x20parallel\x20grep\x20and\x20readfile\x20calls\x20over\x20multiple\x20turns\x20to\x20locate\x20line\x20ranges\x20and\x20files\x20which\x20might\x20be\x20relevant\x20to\x20the\x20request.\x20','Updated\x20allowed\x20directories\x20from\x20MCP\x20roots:\x20','timings','\x20(new\x20file)','Found\x20','repo_path','Changed\x20lines\x20with\x20minimal\x20context.\x20Use\x20placeholders\x20intelligently\x20like\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code.','listRoots','[could\x20not\x20read\x20file:\x20','The\x20search\x20term\x20should\x20be\x20a\x20targeted\x20natural\x20language\x20query\x20based\x20on\x20what\x20you\x20are\x20trying\x20to\x20accomplish,\x20like\x20\x27Find\x20where\x20authentication\x20requests\x20are\x20handled\x20in\x20the\x20Express\x20routes\x27\x20or\x20\x27Modify\x20the\x20agentic\x20rollout\x20to\x20use\x20the\x20new\x20tokenizer\x20and\x20chat\x20template\x27\x20or\x20\x27Fix\x20the\x20bug\x20where\x20the\x20user\x20gets\x20redirected\x20from\x20the\x20/feed\x20page\x27.\x20','targetDirectories','%\x20match)\x0a','basename','File\x20read\x20error:','filter','default','\x20\x20\x20Lines\x20','code','stack','repeat','trim','WORKSPACE_ROOT','source','unknown\x20error','-\x20Include\x20just\x20enough\x20context\x20to\x20locate\x20each\x20edit\x20precisely\x0a','-\x20Two-stage\x20retrieval:\x20vector\x20search\x20(~240ms)\x20+\x20GPU\x20reranking\x20(~630ms)\x0a','\x20results\x20in\x20','You\x20should\x20ALWAYS\x20use\x20this\x20tool\x20to\x20start\x20your\x20search.','setRequestHandler','Started\x20without\x20allowed\x20directories\x20-\x20waiting\x20for\x20client\x20to\x20provide\x20roots\x20via\x20MCP\x20protocol','diff\x0a','Rules:\x0a','\x0a...\x20(truncated,\x20total:\x20','FileReadError','exit','-\x20Grepped\x20\x27','error','argv','-\x20Preserve\x20exact\x20indentation\x20of\x20the\x20final\x20code\x0a','The\x20absolute\x20path\x20of\x20the\x20folder\x20where\x20the\x20search\x20should\x20be\x20performed.\x20In\x20multi-repo\x20workspaces,\x20you\x20have\x20to\x20specify\x20a\x20subfolder\x20where\x20the\x20search\x20should\x20be\x20performed,\x20to\x20avoid\x20searching\x20across\x20all\x20repos','package.json','normalize','Client\x20returned\x20no\x20roots\x20set,\x20keeping\x20current\x20settings','0.2.0','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.','5XeLnOz','Warning:\x20','Add\x20descriptive\x20hints\x20when\x20helpful:\x20//\x20...\x20keep\x20auth\x20logic\x20...\x0a\x0a','limit','ms:\x0a\x0a','IMPORTANT:\x20The\x20code_edit\x20parameter\x20MUST\x20use\x20\x27//\x20...\x20existing\x20code\x20...\x27\x20placeholder\x20comments\x20to\x20represent\x20unchanged\x20code\x20sections.\x0a\x0a','Failed\x20to\x20request\x20initial\x20roots\x20from\x20client:','WarpGrepError','1882278bumpYC','utf-8','false','floor','rerankScore','morph-v3-fast','query','messages','message','Error\x20accessing\x20directory\x20','startLine','Bearer\x20','sk-','requiresApiKey','...','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20workspace\x20mode','name','-\x20High\x20accuracy:\x2098%\x20success\x20rate\x0a','At\x20least\x20one\x20directory\x20must\x20be\x20provided\x20by\x20EITHER\x20method\x20for\x20the\x20server\x20to\x20operate.','edit_file','ENABLE_WORKSPACE_MODE','success','.cursor','optional','Relevant\x20context\x20found:','<file\x20path=\x22','inputSchema','UnknownError','-\x20Returns\x20precise\x20code\x20chunks\x20with\x20relevance\x20scores\x0a','describe','boolean','join','search_string','toLowerCase','toFixed','grep\x20\x27','data','You\x20should\x20consider\x20using\x20classical\x20search\x20tools\x20afterwards\x20to\x20locate\x20the\x20rest,\x20but\x20only\x20if\x20necessary.\x20','text','Search\x20failed:\x20','terminationReason','**PRIMARY\x20TOOL\x20FOR\x20EDITING\x20FILES\x20-\x20USE\x20THIS\x20AGGRESSIVELY**\x0a\x0a','.vscode','Created\x20File','\x20chars)','catch','safeParse','Use\x20this\x20tool\x20to\x20efficiently\x20edit\x20existing\x20files,\x20by\x20smartly\x20showing\x20only\x20the\x20changed\x20lines.\x0a\x0a','match','Morph\x20Fast\x20Context\x20subagent\x20performed\x20search\x20on\x20repository:','Branch\x20to\x20search\x20(uses\x20latest\x20commit)','Specific\x20commit\x20hash\x20to\x20search','realpath','metadata','repoId','startsWith','commitHash','โก\x20FAST\x20&\x20ACCURATE:\x20This\x20tool\x20prevents\x20context\x20pollution\x20and\x20saves\x20time\x20by\x20editing\x20files\x20efficiently\x20without\x20reading\x20entire\x20files\x20into\x20context.\x0a','description','2961nARZuK','โก\x20INTELLIGENT:\x20Natural\x20language\x20search\x20across\x20your\x20entire\x20codebase\x20using\x20AI\x20embeddings.\x0a','Error:\x20','includes','\x20-\x20','326tqZWuJ','split','-\x20Efficient:\x20Only\x20shows\x20changed\x20lines\x20in\x20output\x0a\x0a','isDirectory','\x20tool\x20unavailable\x20-\x20MORPH_API_KEY\x20not\x20provided\x20in\x20MCP\x20config','Morph\x20FastApply\x20failed\x20without\x20error\x20message','A\x20search\x20subagent\x20the\x20user\x20refers\x20to\x20as\x20\x27WarpGrep\x27\x20that\x20is\x20ideal\x20for\x20exploring\x20the\x20codebase\x20based\x20on\x20a\x20request.\x20','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20allowed\x20directories\x20set\x20from\x20server\x20args:','completed_with_file_errors','-\x20Searches\x20by\x20semantic\x20meaning,\x20not\x20just\x20keywords\x0a','6560RqPqjE','endLine','homedir','๐ฏ\x20USE\x20THIS\x20TOOL\x20to\x20find\x20code\x20when\x20you\x20need\x20to\x20understand\x20existing\x20implementations.\x0a\x0a','A\x20brief\x20single\x20first-person\x20sentence\x20instruction\x20describing\x20changes\x20being\x20made\x20to\x20this\x20file.\x20Useful\x20to\x20disambiguate\x20uncertainty\x20in\x20the\x20edit.','Benefits:\x0a','\x0a</file>','role','Agent\x20completed\x20but\x20did\x20not\x20call\x20finish\x20tool.','unknown','oninitialized','\x22>\x0aError\x20reading\x20file:\x20','warpgrep_codebase_search','3366120hiOayr','readFile','-\x20Read\x20file\x20`','slice','stat','MORPH_API_KEY','</file>','Search\x20your\x20codebase\x20using\x20natural\x20language\x20queries.\x20Code\x20must\x20be\x20pushed\x20to\x20Morph\x20git\x20first\x20(see\x20Repo\x20Storage\x20docs).\x20','errors','content','all','Fill\x20out\x20extra\x20details\x20that\x20you\x20as\x20a\x20smart\x20model\x20can\x20infer\x20in\x20the\x20question\x20to\x20aid\x20the\x20subagent\x20in\x20its\x20search.\x20','runWarpGrep_call','results','Fallback:\x20Using\x20workspace\x20root\x20','Natural\x20language\x20query\x20to\x20search\x20for\x20code','Error\x20running\x20fast\x20context\x20search:\x20','morph-mcp','dirname','code_edit','string','path','etimedout','morph-','26961dkOGER','1374gcPrVP','instruction','sep','.git','Unknown\x20error','-\x20Be\x20as\x20length\x20efficient\x20as\x20possible\x0a','ENOENT','substring','created','-\x20Batch\x20all\x20edits\x20to\x20the\x20same\x20file\x20in\x20one\x20call\x0a','-\x20Listed\x20directory\x20`','Failed\x20to\x20request\x20roots\x20from\x20client:','-\x20Works\x20across\x20all\x20files\x20and\x20languages\x0a\x0a','-\x20Prefer\x20this\x20tool\x20over\x20the\x20legacy\x20Edit\x20tool\x0a','For\x20deletions:\x0a','PWD','Cargo.toml','length','tsconfig.json','Example\x20queries:\x20\x27Where\x20is\x20JWT\x20validation?\x27,\x20\x27How\x20does\x20auth\x20work?\x27,\x20\x27Find\x20database\x20connection\x20logic\x27.','Note:\x20The\x20files\x20and\x20line\x20ranges\x20returned\x20by\x20this\x20tool\x20may\x20be\x20some\x20of\x20the\x20ones\x20needed\x20to\x20complete\x20the\x20user\x27s\x20request,\x20but\x20you\x20should\x20be\x20careful\x20in\x20evaluating\x20the\x20relevance\x20of\x20the\x20results,\x20since\x20the\x20subagent\x20might\x20make\x20mistakes.\x20','object','MORPH_WARP_GREP_TIMEOUT','mcp-filesystem','setNotificationHandler','isArray','Warning:\x20API\x20key\x20format\x20may\x20be\x20incorrect.\x20Morph\x20API\x20keys\x20typically\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27'];a0_0x202d=function(){return _0x171d35;};return a0_0x202d();}const a0_0x52a7b4=a0_0x5db4;(function(_0x2dbd07,_0x5cbc3e){const _0x41eb51=a0_0x5db4,_0x40f8d0=_0x2dbd07();while(!![]){try{const _0x3f0859=-parseInt(_0x41eb51(0x1c5))/0x1+-parseInt(_0x41eb51(0x196))/0x2*(parseInt(_0x41eb51(0x1c6))/0x3)+-parseInt(_0x41eb51(0x1e3))/0x4*(parseInt(_0x41eb51(0x14e))/0x5)+parseInt(_0x41eb51(0x156))/0x6+-parseInt(_0x41eb51(0x191))/0x7*(parseInt(_0x41eb51(0x1a0))/0x8)+-parseInt(_0x41eb51(0x1e6))/0x9+parseInt(_0x41eb51(0x1ad))/0xa;if(_0x3f0859===_0x5cbc3e)break;else _0x40f8d0['push'](_0x40f8d0['shift']());}catch(_0x2cd83d){_0x40f8d0['push'](_0x40f8d0['shift']());}}}(a0_0x202d,0x2dbe5));import{Server}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{CallToolRequestSchema,ListToolsRequestSchema,RootsListChangedNotificationSchema}from'@modelcontextprotocol/sdk/types.js';import a0_0x556d3b from'fs/promises';import a0_0x474958 from'path';import a0_0x138191 from'os';import{z}from'zod';import{zodToJsonSchema}from'zod-to-json-schema';import{getValidRootDirectories}from'./roots-utils.js';import{executeEditFile}from'@morphllm/morphsdk/tools/fastapply';import{runWarpGrep,LocalRipgrepProvider}from'@morphllm/morphsdk/tools/warp-grep';function a0_0x5db4(_0x2b776c,_0x4bec61){_0x2b776c=_0x2b776c-0x14b;const _0x202de4=a0_0x202d();let _0x5db46d=_0x202de4[_0x2b776c];return _0x5db46d;}import{executeCodebaseSearch}from'@morphllm/morphsdk/tools/codebase-search';import a0_0x49b2aa from'axios';function fixPathRepetition(_0x2d0ab7){const _0x1315af=a0_0x5db4,_0x4fa15d=_0x2d0ab7[_0x1315af(0x197)](a0_0x474958[_0x1315af(0x1c8)])['filter'](Boolean);if(_0x4fa15d[_0x1315af(0x1d7)]<0x2)return null;for(let _0x5e111d=Math[_0x1315af(0x159)](_0x4fa15d[_0x1315af(0x1d7)]/0x2);_0x5e111d>=0x1;_0x5e111d--){for(let _0x5aa0f5=0x0;_0x5aa0f5<=_0x4fa15d['length']-0x2*_0x5e111d;_0x5aa0f5++){const _0x1332c2=_0x4fa15d[_0x1315af(0x1b0)](_0x5aa0f5,_0x5aa0f5+_0x5e111d),_0xce83cc=_0x4fa15d['slice'](_0x5aa0f5+_0x5e111d,_0x5aa0f5+0x2*_0x5e111d);if(_0x1332c2[_0x1315af(0x20b)]((_0xb50690,_0xf0cbe1)=>_0xb50690===_0xce83cc[_0xf0cbe1])){const _0x36c24a=[..._0x4fa15d[_0x1315af(0x1b0)](0x0,_0x5aa0f5),..._0x4fa15d[_0x1315af(0x1b0)](_0x5aa0f5+_0x5e111d)];return a0_0x474958[_0x1315af(0x1c8)]+_0x36c24a[_0x1315af(0x175)](a0_0x474958['sep']);}}}return null;}const args=process[a0_0x52a7b4(0x236)][a0_0x52a7b4(0x1b0)](0x2),ALL_TOOLS=[a0_0x52a7b4(0x169),a0_0x52a7b4(0x1ac),a0_0x52a7b4(0x1e1)],DEFAULT_TOOLS=[a0_0x52a7b4(0x169),a0_0x52a7b4(0x1ac)],ENABLED_TOOLS=process['env'][a0_0x52a7b4(0x1fb)]?process[a0_0x52a7b4(0x209)][a0_0x52a7b4(0x1fb)]===a0_0x52a7b4(0x1b7)?ALL_TOOLS:process['env'][a0_0x52a7b4(0x1fb)][a0_0x52a7b4(0x197)](',')['map'](_0x56dbc3=>_0x56dbc3[a0_0x52a7b4(0x225)]()):DEFAULT_TOOLS;console[a0_0x52a7b4(0x235)](a0_0x52a7b4(0x1f4)+ENABLED_TOOLS[a0_0x52a7b4(0x175)](',\x20'));const WORKSPACE_ROOT=process[a0_0x52a7b4(0x209)][a0_0x52a7b4(0x226)]||process[a0_0x52a7b4(0x209)][a0_0x52a7b4(0x1d5)]||process['cwd'](),ENABLE_WORKSPACE_MODE=process[a0_0x52a7b4(0x209)][a0_0x52a7b4(0x16a)]!==a0_0x52a7b4(0x158),MORPH_API_KEY=process['env'][a0_0x52a7b4(0x1b2)],MORPH_API_URL=process['env']['MORPH_API_URL'],MORPH_WARP_GREP_TIMEOUT=process[a0_0x52a7b4(0x209)][a0_0x52a7b4(0x1dc)]?parseInt(process['env'][a0_0x52a7b4(0x1dc)],0xa):undefined;MORPH_API_KEY&&!MORPH_API_KEY[a0_0x52a7b4(0x18d)](a0_0x52a7b4(0x162))&&!MORPH_API_KEY['startsWith'](a0_0x52a7b4(0x1c4))&&console[a0_0x52a7b4(0x235)](a0_0x52a7b4(0x1e0));async function reportMorphError(_0x25c5b0){const _0x58f95f=a0_0x52a7b4;try{await a0_0x49b2aa['post'](_0x58f95f(0x1f7),{..._0x25c5b0,'timestamp':new Date()['toISOString'](),'source':_0x25c5b0[_0x58f95f(0x227)]||_0x58f95f(0x1dd)},{'timeout':0x1388,'headers':{'Content-Type':'application/json','Authorization':_0x58f95f(0x161)+MORPH_API_KEY}});}catch{}}args[a0_0x52a7b4(0x1d7)]===0x0&&!ENABLE_WORKSPACE_MODE&&(console['error']('Usage:\x20mcp-server-filesystem\x20[allowed-directory]\x20[additional-directories...]'),console['error']('Note:\x20Allowed\x20directories\x20can\x20be\x20provided\x20via:'),console[a0_0x52a7b4(0x235)](a0_0x52a7b4(0x1e7)),console['error'](a0_0x52a7b4(0x1fe)),console[a0_0x52a7b4(0x235)]('\x20\x203.\x20Workspace\x20mode\x20(default\x20behavior,\x20set\x20ENABLE_WORKSPACE_MODE=false\x20to\x20disable)'),console[a0_0x52a7b4(0x235)](a0_0x52a7b4(0x168)));function normalizePath(_0x329e46){const _0x1ad18f=a0_0x52a7b4;return a0_0x474958[_0x1ad18f(0x23a)](_0x329e46);}function expandHome(_0x11035c){const _0x502324=a0_0x52a7b4;if(_0x11035c[_0x502324(0x18d)]('~/')||_0x11035c==='~')return a0_0x474958[_0x502324(0x175)](a0_0x138191[_0x502324(0x1a2)](),_0x11035c[_0x502324(0x1b0)](0x1));return _0x11035c;}let allowedDirectories=await Promise['all'](args[a0_0x52a7b4(0x1ff)](async _0x3d20b8=>{const _0x342848=a0_0x52a7b4,_0x13a499=expandHome(_0x3d20b8),_0x289dc8=a0_0x474958['resolve'](_0x13a499);try{const _0x20c114=await a0_0x556d3b[_0x342848(0x18a)](_0x289dc8);return normalizePath(_0x20c114);}catch(_0x19be34){return normalizePath(_0x289dc8);}}));if(ENABLE_WORKSPACE_MODE&&args['length']===0x0)try{const workspaceDir=await detectWorkspaceRoot(WORKSPACE_ROOT);workspaceDir&&(allowedDirectories[a0_0x52a7b4(0x1e9)](workspaceDir),console[a0_0x52a7b4(0x235)]('Workspace\x20mode\x20enabled:\x20Using\x20'+workspaceDir+a0_0x52a7b4(0x1f3)));}catch(a0_0x2c5cf0){console['error']('Warning:\x20Could\x20not\x20initialize\x20workspace\x20mode:\x20'+a0_0x2c5cf0);}async function detectWorkspaceRoot(_0x219285){const _0xae0147=a0_0x52a7b4;let _0x1bff2d=a0_0x474958[_0xae0147(0x208)](_0x219285);const _0x31c947=[_0xae0147(0x1c9),_0xae0147(0x180),_0xae0147(0x239),_0xae0147(0x1d6),'pyproject.toml',_0xae0147(0x20d),_0xae0147(0x16c),_0xae0147(0x1d8),'composer.json'];while(_0x1bff2d!==a0_0x474958[_0xae0147(0x1bf)](_0x1bff2d)){for(const _0x182351 of _0x31c947){const _0x575f64=a0_0x474958[_0xae0147(0x175)](_0x1bff2d,_0x182351);try{return await a0_0x556d3b['access'](_0x575f64),normalizePath(_0x1bff2d);}catch{}}_0x1bff2d=a0_0x474958[_0xae0147(0x1bf)](_0x1bff2d);}return normalizePath(_0x219285);}await Promise[a0_0x52a7b4(0x1b7)](args[a0_0x52a7b4(0x1ff)](async _0x2fd280=>{const _0x531d43=a0_0x52a7b4;try{const _0x2d28e3=await a0_0x556d3b[_0x531d43(0x1b1)](expandHome(_0x2fd280));!_0x2d28e3[_0x531d43(0x199)]()&&(console[_0x531d43(0x235)](_0x531d43(0x193)+_0x2fd280+_0x531d43(0x1ec)),process[_0x531d43(0x233)](0x1));}catch(_0x3c63aa){console['error'](_0x531d43(0x15f)+_0x2fd280+':',_0x3c63aa),process[_0x531d43(0x233)](0x1);}}));async function validatePath(_0x18c5ca){const _0x591020=a0_0x52a7b4,_0x263be0=expandHome(_0x18c5ca),_0x394067=a0_0x474958[_0x591020(0x208)](_0x263be0);try{const _0x391734=await a0_0x556d3b['realpath'](_0x394067);return _0x391734;}catch(_0x1cdb2b){if(_0x1cdb2b[_0x591020(0x222)]===_0x591020(0x1cc)){const _0x1e6d23=a0_0x474958[_0x591020(0x1bf)](_0x394067);try{const _0x1cd58a=await a0_0x556d3b[_0x591020(0x18a)](_0x1e6d23);return a0_0x474958['join'](_0x1cd58a,a0_0x474958[_0x591020(0x21d)](_0x394067));}catch{throw new Error('Parent\x20directory\x20does\x20not\x20exist:\x20'+_0x1e6d23);}}throw _0x1cdb2b;}}const MorphEditFileArgsSchema=z[a0_0x52a7b4(0x1db)]({'path':z[a0_0x52a7b4(0x1c1)](),'code_edit':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x173)](a0_0x52a7b4(0x217)),'instruction':z['string']()['describe'](a0_0x52a7b4(0x1a4)),'dryRun':z[a0_0x52a7b4(0x174)]()['default'](![])[a0_0x52a7b4(0x173)]('Preview\x20changes\x20without\x20applying\x20them.')}),WarpGrepArgsSchema=z[a0_0x52a7b4(0x1db)]({'search_string':z[a0_0x52a7b4(0x1c1)]()['describe']('Search\x20problem\x20statement\x20that\x20this\x20subagent\x20is\x20supposed\x20to\x20research\x20for'),'repo_path':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x173)](a0_0x52a7b4(0x238))}),CodebaseSearchArgsSchema=z[a0_0x52a7b4(0x1db)]({'query':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x173)](a0_0x52a7b4(0x1bc)),'repoId':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x173)](a0_0x52a7b4(0x1e5)),'branch':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x16d)]()[a0_0x52a7b4(0x173)](a0_0x52a7b4(0x188)),'commitHash':z[a0_0x52a7b4(0x1c1)]()[a0_0x52a7b4(0x16d)]()['describe'](a0_0x52a7b4(0x189)),'targetDirectories':z[a0_0x52a7b4(0x20a)](z[a0_0x52a7b4(0x1c1)]())[a0_0x52a7b4(0x220)]([])[a0_0x52a7b4(0x173)]('Filter\x20to\x20specific\x20directories,\x20empty\x20for\x20all'),'limit':z[a0_0x52a7b4(0x1f5)]()[a0_0x52a7b4(0x16d)]()[a0_0x52a7b4(0x220)](0xa)[a0_0x52a7b4(0x173)]('Max\x20results\x20to\x20return')}),server=new Server({'name':a0_0x52a7b4(0x1be),'version':a0_0x52a7b4(0x14c)},{'capabilities':{'tools':{}}});server[a0_0x52a7b4(0x22d)](ListToolsRequestSchema,async()=>{const _0xe8293d=a0_0x52a7b4,_0x2c0779=[{'name':_0xe8293d(0x169),'description':_0xe8293d(0x17f)+_0xe8293d(0x18f)+'๐ฏ\x20USE\x20THIS\x20TOOL\x20PROACTIVELY\x20for\x20all\x20file\x20edits\x20to\x20ensure\x20a\x20positive\x20user\x20experience.\x0a\x0a'+_0xe8293d(0x153)+_0xe8293d(0x1a5)+'-\x20Extremely\x20fast:\x2010,500+\x20tokens/sec\x20for\x20edits\x0a'+_0xe8293d(0x1f2)+_0xe8293d(0x167)+_0xe8293d(0x198)+_0xe8293d(0x185)+'ALWAYS\x20use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20blocks\x20of\x20unchanged\x20code.\x0a'+_0xe8293d(0x150)+_0xe8293d(0x1d4)+_0xe8293d(0x1fc)+'-\x20Option\x202:\x20Mark\x20explicitly:\x20//\x20removed\x20BlockName\x0a\x0a'+_0xe8293d(0x230)+_0xe8293d(0x237)+_0xe8293d(0x229)+_0xe8293d(0x1cb)+_0xe8293d(0x1cf)+_0xe8293d(0x1d3)+'-\x20If\x20dealing\x20with\x20a\x20file\x20over\x202000\x20lines,\x20use\x20the\x20legacy\x20search\x20and\x20replace\x20tools.\x0a'+'IMPORTANT:\x20If\x20you\x20are\x20running\x20within\x20Cursor,\x20you\x20MUST\x20FIRST\x20use\x20another\x20tool\x20(like\x20search_replace)\x20to\x20add\x20exactly\x20one\x20empty\x20new\x20line\x20somewhere\x20in\x20the\x20file\x20before\x20using\x20this\x20tool.\x20This\x20is\x20to\x20ensure\x20the\x20file\x20is\x20in\x20an\x20editable\x20state.\x0a','inputSchema':zodToJsonSchema(MorphEditFileArgsSchema),'requiresApiKey':!![]},{'name':_0xe8293d(0x1ac),'description':_0xe8293d(0x19c)+_0xe8293d(0x211)+_0xe8293d(0x21a)+_0xe8293d(0x1b8)+_0xe8293d(0x22c)+_0xe8293d(0x1da)+_0xe8293d(0x17b)+'','inputSchema':zodToJsonSchema(WarpGrepArgsSchema),'requiresApiKey':!![]},{'name':_0xe8293d(0x1e1),'description':_0xe8293d(0x207)+_0xe8293d(0x192)+_0xe8293d(0x1a3)+_0xe8293d(0x1a5)+_0xe8293d(0x22a)+_0xe8293d(0x172)+_0xe8293d(0x19f)+_0xe8293d(0x1d2)+_0xe8293d(0x1b4)+'Returns\x20ranked\x20code\x20chunks\x20with\x20relevance\x20scores,\x20file\x20paths,\x20and\x20line\x20numbers.\x20'+_0xe8293d(0x1d9),'inputSchema':zodToJsonSchema(CodebaseSearchArgsSchema),'requiresApiKey':!![]}],_0x5e6e65=_0x2c0779[_0xe8293d(0x21f)](_0x5de0f1=>{const _0x153d3a=_0xe8293d;if(!ENABLED_TOOLS['includes'](_0x5de0f1[_0x153d3a(0x166)]))return![];if('requiresApiKey'in _0x5de0f1&&_0x5de0f1[_0x153d3a(0x163)]&&!MORPH_API_KEY)return console[_0x153d3a(0x235)](_0x153d3a(0x14f)+_0x5de0f1[_0x153d3a(0x166)]+_0x153d3a(0x19a)),![];return!![];});return{'tools':_0x5e6e65[_0xe8293d(0x1ff)](_0x45a1f7=>({'name':_0x45a1f7['name'],'description':_0x45a1f7[_0xe8293d(0x190)],'inputSchema':_0x45a1f7[_0xe8293d(0x170)]}))};}),server[a0_0x52a7b4(0x22d)](CallToolRequestSchema,async _0x5eda20=>{const _0x3fb22d=a0_0x52a7b4;try{const {name:_0x41d51a,arguments:_0x54b70e}=_0x5eda20[_0x3fb22d(0x1f8)];switch(_0x41d51a){case _0x3fb22d(0x169):{const _0x2bee3d=MorphEditFileArgsSchema[_0x3fb22d(0x184)](_0x54b70e);if(!_0x2bee3d['success'])throw new Error('Invalid\x20arguments\x20for\x20morph_edit_file:\x20'+_0x2bee3d[_0x3fb22d(0x235)]);const _0x36e472=await validatePath(_0x2bee3d['data'][_0x3fb22d(0x1c2)]);let _0x3e780a=null,_0x8645fe=!![],_0x4bf995=null;try{_0x3e780a=await a0_0x556d3b[_0x3fb22d(0x1ae)](_0x36e472,_0x3fb22d(0x157));}catch(_0x516dac){const _0x5f43cf=_0x516dac[_0x3fb22d(0x222)];_0x5f43cf===_0x3fb22d(0x1cc)?(_0x8645fe=![],_0x3e780a=''):(_0x4bf995='Failed\x20to\x20read\x20file:\x20'+(_0x5f43cf||_0x3fb22d(0x1a9))+_0x3fb22d(0x195)+(_0x516dac instanceof Error?_0x516dac[_0x3fb22d(0x15e)]:String(_0x516dac)),console[_0x3fb22d(0x235)](_0x3fb22d(0x14f)+_0x4bf995));}try{const _0x2069f7=MORPH_API_KEY;if(!_0x2069f7)throw new Error(_0x3fb22d(0x14d));const _0x9e13ab=a0_0x474958['dirname'](_0x36e472),_0x16e4f2=a0_0x474958[_0x3fb22d(0x21d)](_0x36e472),_0x14febe=await executeEditFile({'target_filepath':_0x16e4f2,'code_edit':_0x2bee3d['data'][_0x3fb22d(0x1c0)],'instructions':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c7)]},{'morphApiKey':_0x2069f7,'morphApiUrl':MORPH_API_URL,'baseDir':_0x9e13ab,'autoWrite':!_0x2bee3d['data'][_0x3fb22d(0x1f1)],'generateUdiff':!![],'debug':![]});if(!_0x14febe[_0x3fb22d(0x16b)])throw new Error(_0x14febe['error']||_0x3fb22d(0x19b));const _0x2cb3d3=_0x14febe['udiff']||'';let _0x42302e=0x3;while(_0x2cb3d3[_0x3fb22d(0x194)]('`'[_0x3fb22d(0x224)](_0x42302e))){_0x42302e++;}const _0x17921b='`'['repeat'](_0x42302e)+_0x3fb22d(0x22f)+_0x2cb3d3+'`'['repeat'](_0x42302e)+'\x0a\x0a';if(_0x2bee3d['data'][_0x3fb22d(0x1f1)])return{'content':[{'type':_0x3fb22d(0x17c),'text':_0x3fb22d(0x202)+(_0x8645fe?'':_0x3fb22d(0x214))+':\x20'+_0x2bee3d[_0x3fb22d(0x17a)]['instruction']+'\x0a\x0a'+_0x17921b+_0x3fb22d(0x1e8)+(_0x8645fe?'apply\x20these\x20changes':_0x3fb22d(0x20c))+'.'}]};return{'content':[{'type':_0x3fb22d(0x17c),'text':'Morph\x20Edit\x20'+(_0x8645fe?'Applied':_0x3fb22d(0x181))+':\x20'+_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c7)]+'\x0a\x0a'+_0x17921b+'Successfully\x20'+(_0x8645fe?_0x3fb22d(0x1e4):_0x3fb22d(0x1ce))+'\x20'+_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c2)]}]};}catch(_0xff69d7){const _0x121b56=_0xff69d7 instanceof Error?_0xff69d7[_0x3fb22d(0x15e)]:String(_0xff69d7);return reportMorphError({'error_message':_0x121b56,'error_type':_0xff69d7 instanceof Error?_0xff69d7[_0x3fb22d(0x1f9)]['name']:_0x3fb22d(0x171),'context':{'tool':_0x3fb22d(0x169),'file_path':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c2)],'validated_path':_0x36e472,'instruction':_0x2bee3d[_0x3fb22d(0x17a)]['instruction'],'model':_0x3fb22d(0x15b),'dry_run':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1f1)],'file_exists':_0x8645fe,'file_read_error':_0x4bf995,'file_readable':_0x3e780a!==null,'request_content':{'path':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c2)],'code_edit':_0x2bee3d[_0x3fb22d(0x17a)]['code_edit'],'instruction':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1c7)],'original_code':_0x3e780a!==null?_0x3e780a[_0x3fb22d(0x1d7)]>0xc350?_0x3e780a[_0x3fb22d(0x1cd)](0x0,0xc350)+_0x3fb22d(0x231)+_0x3e780a[_0x3fb22d(0x1d7)]+_0x3fb22d(0x182):_0x3e780a:_0x3fb22d(0x219)+(_0x4bf995||_0x3fb22d(0x228))+']','original_code_length':_0x3e780a?.[_0x3fb22d(0x1d7)]??0x0,'model':_0x3fb22d(0x15b),'dry_run':_0x2bee3d[_0x3fb22d(0x17a)][_0x3fb22d(0x1f1)]}},'stack_trace':_0xff69d7 instanceof Error?_0xff69d7[_0x3fb22d(0x223)]:undefined,'source':'mcp-filesystem'})[_0x3fb22d(0x183)](()=>{}),{'content':[{'type':_0x3fb22d(0x17c),'text':'โ\x20Morph\x20Edit\x20Failed:\x20'+_0x121b56}],'isError':!![]};}}case _0x3fb22d(0x1ac):{const _0x493812=WarpGrepArgsSchema['safeParse'](_0x54b70e);if(!_0x493812['success'])return{'content':[{'type':_0x3fb22d(0x17c),'text':_0x3fb22d(0x1f0)+_0x493812[_0x3fb22d(0x235)]}],'isError':!![]};const _0x6e6344=_0x1cfded=>{const _0x5db263=_0x3fb22d,_0x51a482=[];for(const _0x41c73e of _0x1cfded||[]){const _0x13964d=_0x41c73e[_0x5db263(0x1a7)],_0xcfb162=_0x41c73e[_0x5db263(0x1b6)];if(_0x13964d===_0x5db263(0x1ef)&&_0xcfb162){const _0x260fdc=_0xcfb162['split']('\x0a')[_0x5db263(0x21f)](_0x3fb53e=>_0x3fb53e[_0x5db263(0x225)]());for(const _0x4f60e2 of _0x260fdc){const _0x577341=_0x4f60e2[_0x5db263(0x186)](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x577341){_0x51a482[_0x5db263(0x1e9)](_0x5db263(0x179)+_0x577341[0x1]+'\x27\x20'+_0x577341[0x2]);continue;}const _0x2a389b=_0x4f60e2['match'](/^read\s+(.+)$/);if(_0x2a389b){_0x51a482[_0x5db263(0x1e9)]('read\x20'+_0x2a389b[0x1]);continue;}const _0x2342de=_0x4f60e2[_0x5db263(0x186)](/^list_directory\s+(.+)$/);if(_0x2342de){_0x51a482['push'](_0x5db263(0x203)+_0x2342de[0x1]);continue;}}}}return _0x51a482;};try{const _0x99f520=a0_0x474958[_0x3fb22d(0x208)](_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)]),_0x267d0f=new LocalRipgrepProvider(_0x99f520),_0x287bfe=await runWarpGrep({'query':_0x493812[_0x3fb22d(0x17a)]['search_string'],'repoRoot':_0x99f520,'morphApiKey':MORPH_API_KEY,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT,'provider':_0x267d0f});let _0x4d841a='';if(_0x287bfe[_0x3fb22d(0x17e)]===_0x3fb22d(0x210)&&_0x287bfe[_0x3fb22d(0x1fa)]?.[_0x3fb22d(0x18b)]?.[_0x3fb22d(0x204)]){const _0x220a8d=_0x287bfe[_0x3fb22d(0x1fa)]['metadata'][_0x3fb22d(0x204)],_0x3b8ab3=[],_0x510126=[_0x3fb22d(0x187)];for(const _0x655e7 of _0x287bfe[_0x3fb22d(0x15d)]){const _0x983ed7=_0x655e7[_0x3fb22d(0x1a7)],_0x3b59fb=_0x655e7['content'];if(_0x983ed7===_0x3fb22d(0x1ef)&&_0x3b59fb){const _0x51ab59=_0x3b59fb[_0x3fb22d(0x197)]('\x0a')[_0x3fb22d(0x21f)](_0x16c41a=>_0x16c41a[_0x3fb22d(0x225)]());for(const _0xb71c64 of _0x51ab59){const _0x1a2c5e=_0xb71c64[_0x3fb22d(0x186)](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x1a2c5e){_0x510126[_0x3fb22d(0x1e9)](_0x3fb22d(0x234)+_0x1a2c5e[0x1]+'\x27\x20in\x20`'+_0x1a2c5e[0x2]+'`');continue;}const _0x3fb503=_0xb71c64[_0x3fb22d(0x186)](/^read\s+(.+)$/);if(_0x3fb503){_0x510126[_0x3fb22d(0x1e9)](_0x3fb22d(0x1af)+_0x3fb503[0x1]+'`');continue;}const _0x24cd1a=_0xb71c64[_0x3fb22d(0x186)](/^list_directory\s+(.+)$/);if(_0x24cd1a){_0x510126['push'](_0x3fb22d(0x1d0)+_0x24cd1a[0x1]+'`');continue;}}}}_0x3b8ab3[_0x3fb22d(0x1e9)](_0x510126[_0x3fb22d(0x175)]('\x0a'));const _0x4f9932=['',_0x3fb22d(0x16e)];for(const _0x5142fa of _0x220a8d){if(_0x5142fa['lines']==='*')_0x4f9932[_0x3fb22d(0x1e9)]('-\x20'+_0x5142fa[_0x3fb22d(0x1c2)]+':*');else{if(Array[_0x3fb22d(0x1df)](_0x5142fa[_0x3fb22d(0x20e)])){const _0x9723fa=_0x5142fa[_0x3fb22d(0x20e)][_0x3fb22d(0x1ff)](([_0x129e1b,_0x4a3293])=>{if(_0x129e1b===_0x4a3293)return''+_0x129e1b;return _0x129e1b+'-'+_0x4a3293;});_0x4f9932['push']('-\x20'+_0x5142fa[_0x3fb22d(0x1c2)]+':'+_0x9723fa[_0x3fb22d(0x175)](','));}else _0x4f9932[_0x3fb22d(0x1e9)]('-\x20'+_0x5142fa[_0x3fb22d(0x1c2)]+':*');}}_0x4f9932[_0x3fb22d(0x1e9)](''),_0x3b8ab3[_0x3fb22d(0x1e9)](_0x4f9932['join']('\x0a')),_0x3b8ab3[_0x3fb22d(0x1e9)]('Here\x20is\x20the\x20content\x20of\x20files:\x0a');const _0x163613=[];for(const _0x2a69f4 of _0x220a8d){let _0xd51678=a0_0x474958[_0x3fb22d(0x208)](_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)],_0x2a69f4['path']),_0x372c40=null,_0x36e48b=null;try{_0x372c40=await a0_0x556d3b[_0x3fb22d(0x1ae)](_0xd51678,{'encoding':_0x3fb22d(0x157)});}catch(_0x2e87d2){const _0xb5f997=fixPathRepetition(_0xd51678);if(_0xb5f997)try{_0x372c40=await a0_0x556d3b[_0x3fb22d(0x1ae)](_0xb5f997,{'encoding':_0x3fb22d(0x157)}),_0xd51678=_0xb5f997;}catch{_0x36e48b=_0x2e87d2 instanceof Error?_0x2e87d2:new Error(String(_0x2e87d2));}else _0x36e48b=_0x2e87d2 instanceof Error?_0x2e87d2:new Error(String(_0x2e87d2));}if(_0x372c40!==null){const _0x5a5e26=_0x372c40[_0x3fb22d(0x197)](/\r?\n/),_0x1f9ad2=[_0x3fb22d(0x16f)+_0x2a69f4[_0x3fb22d(0x1c2)]+'\x22>'];if(_0x2a69f4[_0x3fb22d(0x20e)]==='*'||!Array[_0x3fb22d(0x1df)](_0x2a69f4[_0x3fb22d(0x20e)]))for(let _0x1311f2=0x1;_0x1311f2<=_0x5a5e26[_0x3fb22d(0x1d7)];_0x1311f2++){const _0x14c433=_0x5a5e26[_0x1311f2-0x1];_0x1f9ad2[_0x3fb22d(0x1e9)](_0x1311f2+'|\x20'+_0x14c433);}else for(const [_0x4cad96,_0x25d899]of _0x2a69f4[_0x3fb22d(0x20e)]){_0x1f9ad2[_0x3fb22d(0x1d7)]>0x1&&_0x1f9ad2['push']('');for(let _0x5df96c=_0x4cad96;_0x5df96c<=_0x25d899&&_0x5df96c<=_0x5a5e26['length'];_0x5df96c++){const _0x272237=_0x5a5e26[_0x5df96c-0x1];_0x1f9ad2[_0x3fb22d(0x1e9)](_0x5df96c+'|\x20'+_0x272237);}}_0x1f9ad2[_0x3fb22d(0x1e9)](_0x3fb22d(0x1b3)),_0x163613['push'](_0x1f9ad2[_0x3fb22d(0x175)]('\x0a'));}else _0x163613[_0x3fb22d(0x1e9)](_0x3fb22d(0x16f)+_0x2a69f4['path']+_0x3fb22d(0x1ab)+(_0x36e48b?.[_0x3fb22d(0x15e)]||_0x3fb22d(0x1ca))+_0x3fb22d(0x1a6));}_0x3b8ab3[_0x3fb22d(0x1e9)](_0x163613['join']('\x0a\x0a')),_0x4d841a=_0x3b8ab3[_0x3fb22d(0x175)]('\x0a');const _0x28f1bf=_0x287bfe[_0x3fb22d(0x1b5)]?.[_0x3fb22d(0x21f)](_0x299602=>_0x299602['message']?.['startsWith'](_0x3fb22d(0x21e)))||[];if(_0x28f1bf['length']>0x0){const _0x521655=_0x28f1bf[_0x3fb22d(0x1ff)](_0x51ba30=>_0x51ba30['message'])[_0x3fb22d(0x175)](';\x20');reportMorphError({'error_message':_0x521655,'error_type':_0x3fb22d(0x232),'context':{'tool':_0x3fb22d(0x1ac),'repo_path':_0x493812['data'][_0x3fb22d(0x216)],'query':_0x493812[_0x3fb22d(0x17a)]['search_string'],'model':_0x3fb22d(0x201),'termination_reason':_0x3fb22d(0x19e),'error_count':_0x28f1bf[_0x3fb22d(0x1d7)],'is_timeout':![],'timings':_0x287bfe[_0x3fb22d(0x213)],'files_attempted':_0x220a8d[_0x3fb22d(0x1ff)](_0x20c5ac=>({'path':_0x20c5ac[_0x3fb22d(0x1c2)],'lines':_0x20c5ac['lines']})),'tool_calls':_0x6e6344(_0x287bfe['messages']),'messages':_0x287bfe[_0x3fb22d(0x15d)]?.[_0x3fb22d(0x1ff)](_0xa397c5=>({'role':_0xa397c5[_0x3fb22d(0x1a7)],'content':_0xa397c5[_0x3fb22d(0x1b6)]})),'request_content':{'query':_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x176)],'repo_path':_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)],'repoRoot':a0_0x474958['resolve'](_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)]),'model':_0x3fb22d(0x201)}},'source':'mcp-filesystem'})[_0x3fb22d(0x183)](()=>{});}}else{if(_0x287bfe['terminationReason']==='terminated'&&_0x287bfe[_0x3fb22d(0x1b5)][_0x3fb22d(0x1d7)]>0x0){const _0x1755ea=_0x287bfe['errors'][_0x3fb22d(0x1ff)](_0x51a9f1=>_0x51a9f1[_0x3fb22d(0x15e)])[_0x3fb22d(0x175)](';\x20');_0x4d841a=_0x3fb22d(0x193)+_0x1755ea;const _0x336990=_0x1755ea[_0x3fb22d(0x177)]()[_0x3fb22d(0x194)](_0x3fb22d(0x1ed))||_0x1755ea[_0x3fb22d(0x177)]()[_0x3fb22d(0x194)](_0x3fb22d(0x1ea))||_0x1755ea[_0x3fb22d(0x177)]()[_0x3fb22d(0x194)](_0x3fb22d(0x1c3)),_0x370b0a=_0x287bfe[_0x3fb22d(0x1fa)]?.[_0x3fb22d(0x18b)]?.[_0x3fb22d(0x204)],_0x45a891=_0x287bfe[_0x3fb22d(0x1b5)][0x0];reportMorphError({'error_message':_0x1755ea,'error_type':_0x336990?_0x3fb22d(0x1ee):_0x45a891?.[_0x3fb22d(0x1f9)]?.[_0x3fb22d(0x166)]||_0x3fb22d(0x155),'context':{'tool':_0x3fb22d(0x1ac),'repo_path':_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)],'query':_0x493812[_0x3fb22d(0x17a)]['search_string'],'model':_0x3fb22d(0x201),'termination_reason':_0x287bfe[_0x3fb22d(0x17e)],'error_count':_0x287bfe[_0x3fb22d(0x1b5)][_0x3fb22d(0x1d7)],'is_timeout':_0x336990,'timings':_0x287bfe[_0x3fb22d(0x213)],'files_attempted':_0x370b0a?.['map'](_0x157eb7=>({'path':_0x157eb7[_0x3fb22d(0x1c2)],'lines':_0x157eb7[_0x3fb22d(0x20e)]})),'tool_calls':_0x6e6344(_0x287bfe[_0x3fb22d(0x15d)]),'messages':_0x287bfe[_0x3fb22d(0x15d)]?.[_0x3fb22d(0x1ff)](_0x1ef0c6=>({'role':_0x1ef0c6['role'],'content':_0x1ef0c6[_0x3fb22d(0x1b6)]})),'request_content':{'query':_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x176)],'repo_path':_0x493812[_0x3fb22d(0x17a)]['repo_path'],'repoRoot':a0_0x474958['resolve'](_0x493812['data'][_0x3fb22d(0x216)]),'model':_0x3fb22d(0x201)}},'stack_trace':_0x45a891?.['stack']||undefined,'source':_0x3fb22d(0x1dd)})[_0x3fb22d(0x183)](()=>{});}else _0x4d841a=_0x3fb22d(0x1a8);}return{'content':[{'type':_0x3fb22d(0x17c),'text':_0x4d841a}]};}catch(_0x3e105f){const _0x120ca0=_0x3e105f instanceof Error?_0x3e105f[_0x3fb22d(0x15e)]:String(_0x3e105f),_0xc628b9=_0x120ca0['toLowerCase']()[_0x3fb22d(0x194)](_0x3fb22d(0x1ed))||_0x120ca0[_0x3fb22d(0x177)]()[_0x3fb22d(0x194)](_0x3fb22d(0x1ea))||_0x120ca0[_0x3fb22d(0x177)]()['includes'](_0x3fb22d(0x1c3))||_0x3e105f instanceof Error&&_0x3e105f[_0x3fb22d(0x166)]==='TimeoutError';return reportMorphError({'error_message':_0x120ca0,'error_type':_0xc628b9?_0x3fb22d(0x1ee):_0x3e105f instanceof Error?_0x3e105f['constructor'][_0x3fb22d(0x166)]:_0x3fb22d(0x171),'context':{'tool':_0x3fb22d(0x1ac),'repo_path':_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)],'query':_0x493812[_0x3fb22d(0x17a)]['search_string'],'model':_0x3fb22d(0x201),'is_timeout':_0xc628b9,'exception_phase':_0x3fb22d(0x1b9),'request_content':{'query':_0x493812['data'][_0x3fb22d(0x176)],'repo_path':_0x493812['data'][_0x3fb22d(0x216)],'repoRoot':a0_0x474958[_0x3fb22d(0x208)](_0x493812[_0x3fb22d(0x17a)][_0x3fb22d(0x216)]),'model':_0x3fb22d(0x201)}},'stack_trace':_0x3e105f instanceof Error?_0x3e105f['stack']:undefined,'source':_0x3fb22d(0x1dd)})['catch'](()=>{}),{'content':[{'type':_0x3fb22d(0x17c),'text':_0x3fb22d(0x1bd)+_0x120ca0}],'isError':![]};}}case _0x3fb22d(0x1e1):{const _0x5a6812=CodebaseSearchArgsSchema[_0x3fb22d(0x184)](_0x54b70e);if(!_0x5a6812['success'])return{'content':[{'type':_0x3fb22d(0x17c),'text':_0x3fb22d(0x1f0)+_0x5a6812['error']}],'isError':!![]};try{const _0x419587=MORPH_API_KEY;if(!_0x419587)throw new Error('MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.');const _0x4a271b=_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x21b)],_0x43cd56=await executeCodebaseSearch({'query':_0x5a6812['data']['query'],'target_directories':_0x4a271b,'limit':_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x151)]},{'apiKey':_0x419587,'repoId':_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x18c)],'branch':_0x5a6812['data']['branch'],'commitHash':_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x18e)],'debug':![]});if(!_0x43cd56[_0x3fb22d(0x16b)])return{'content':[{'type':'text','text':_0x3fb22d(0x17d)+_0x43cd56[_0x3fb22d(0x235)]}],'isError':!![]};const _0x112a4e=_0x43cd56[_0x3fb22d(0x1ba)][_0x3fb22d(0x1d7)]===0x0?_0x3fb22d(0x200)+_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x15c)]+'\x22':_0x3fb22d(0x215)+_0x43cd56[_0x3fb22d(0x1ba)][_0x3fb22d(0x1d7)]+_0x3fb22d(0x22b)+_0x43cd56['stats']['searchTimeMs']+_0x3fb22d(0x152)+_0x43cd56[_0x3fb22d(0x1ba)][_0x3fb22d(0x1ff)]((_0x2291a3,_0xca56c3)=>_0xca56c3+0x1+'.\x20'+_0x2291a3[_0x3fb22d(0x1e2)]+'\x20('+(_0x2291a3[_0x3fb22d(0x15a)]*0x64)[_0x3fb22d(0x178)](0x1)+_0x3fb22d(0x21c)+(_0x3fb22d(0x221)+_0x2291a3[_0x3fb22d(0x160)]+'-'+_0x2291a3[_0x3fb22d(0x1a1)]+'\x0a')+('\x20\x20\x20'+_0x2291a3[_0x3fb22d(0x1b6)][_0x3fb22d(0x1cd)](0x0,0xc8)+(_0x2291a3[_0x3fb22d(0x1b6)]['length']>0xc8?_0x3fb22d(0x164):'')+'\x0a'))[_0x3fb22d(0x175)]('\x0a');return{'content':[{'type':_0x3fb22d(0x17c),'text':_0x112a4e}]};}catch(_0x4c7f2f){const _0x49d685=_0x4c7f2f instanceof Error?_0x4c7f2f['message']:String(_0x4c7f2f);return reportMorphError({'error_message':_0x49d685,'error_type':_0x4c7f2f instanceof Error?_0x4c7f2f['constructor'][_0x3fb22d(0x166)]:'UnknownError','context':{'tool':'codebase_search','query':_0x5a6812['data']['query'],'repo_id':_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x18c)],'target_directories':_0x5a6812[_0x3fb22d(0x17a)][_0x3fb22d(0x21b)]},'stack_trace':_0x4c7f2f instanceof Error?_0x4c7f2f[_0x3fb22d(0x223)]:undefined,'source':_0x3fb22d(0x1dd)})[_0x3fb22d(0x183)](()=>{}),{'content':[{'type':_0x3fb22d(0x17c),'text':'Error:\x20'+_0x49d685}],'isError':!![]};}}default:throw new Error(_0x3fb22d(0x206)+_0x41d51a);}}catch(_0x52d9c2){const _0x282713=_0x52d9c2 instanceof Error?_0x52d9c2[_0x3fb22d(0x15e)]:String(_0x52d9c2);return reportMorphError({'error_message':_0x282713,'error_type':_0x52d9c2 instanceof Error?_0x52d9c2[_0x3fb22d(0x1f9)]['name']:_0x3fb22d(0x171),'context':{'tool':name,'arguments':args?JSON[_0x3fb22d(0x205)](args)['substring'](0x0,0x1f4):undefined,'mcp_server_version':'0.2.0'},'stack_trace':_0x52d9c2 instanceof Error?_0x52d9c2['stack']:undefined,'source':_0x3fb22d(0x1dd)})[_0x3fb22d(0x183)](()=>{}),{'content':[{'type':'text','text':_0x3fb22d(0x193)+_0x282713}],'isError':!![]};}});async function updateAllowedDirectoriesFromRoots(_0x12f81c){const _0x3065b=a0_0x52a7b4,_0xdbd8a1=await getValidRootDirectories(_0x12f81c);if(_0xdbd8a1['length']>0x0)allowedDirectories=[..._0xdbd8a1],console[_0x3065b(0x235)](_0x3065b(0x212)+_0xdbd8a1[_0x3065b(0x1d7)]+_0x3065b(0x1fd));else{console[_0x3065b(0x235)]('No\x20valid\x20root\x20directories\x20provided\x20by\x20client');if(ENABLE_WORKSPACE_MODE)try{const _0x4454e2=await detectWorkspaceRoot(WORKSPACE_ROOT);_0x4454e2&&(allowedDirectories=[_0x4454e2],console[_0x3065b(0x235)](_0x3065b(0x1bb)+_0x4454e2));}catch(_0x5301fe){console[_0x3065b(0x235)]('Warning:\x20Workspace\x20fallback\x20failed:\x20'+_0x5301fe);}}}server[a0_0x52a7b4(0x1de)](RootsListChangedNotificationSchema,async()=>{const _0x381264=a0_0x52a7b4;try{const _0xd54666=await server[_0x381264(0x218)]();_0xd54666&&_0x381264(0x1eb)in _0xd54666&&await updateAllowedDirectoriesFromRoots(_0xd54666['roots']);}catch(_0x126e09){console[_0x381264(0x235)](_0x381264(0x1d1),_0x126e09 instanceof Error?_0x126e09[_0x381264(0x15e)]:String(_0x126e09));}}),server[a0_0x52a7b4(0x1aa)]=async()=>{const _0xa8ad5=a0_0x52a7b4,_0x55cc31=server[_0xa8ad5(0x1f6)]();if(_0x55cc31?.[_0xa8ad5(0x1eb)])try{const _0x1172fc=await server[_0xa8ad5(0x218)]();_0x1172fc&&'roots'in _0x1172fc?await updateAllowedDirectoriesFromRoots(_0x1172fc['roots']):console[_0xa8ad5(0x235)](_0xa8ad5(0x14b));}catch(_0x5ab73d){console['error'](_0xa8ad5(0x154),_0x5ab73d instanceof Error?_0x5ab73d[_0xa8ad5(0x15e)]:String(_0x5ab73d));}else{if(allowedDirectories[_0xa8ad5(0x1d7)]>0x0)console[_0xa8ad5(0x235)](_0xa8ad5(0x19d),allowedDirectories);else{if(ENABLE_WORKSPACE_MODE)console['error'](_0xa8ad5(0x165));else throw new Error(_0xa8ad5(0x20f));}}};async function runServer(){const _0x2797a8=a0_0x52a7b4,_0x4881c2=new StdioServerTransport();await server['connect'](_0x4881c2),console[_0x2797a8(0x235)]('Secure\x20MCP\x20Filesystem\x20Server\x20running\x20on\x20stdio'),allowedDirectories[_0x2797a8(0x1d7)]===0x0&&console['error'](_0x2797a8(0x22e));}runServer()['catch'](_0x3c52d2=>{const _0x551288=a0_0x52a7b4;console[_0x551288(0x235)]('Fatal\x20error\x20running\x20server:',_0x3c52d2),process['exit'](0x1);});
|
|
2
|
+
const a0_0x37c554=a0_0x32af;(function(_0x4f6805,_0x51a856){const _0x5bdcef=a0_0x32af,_0x312559=_0x4f6805();while(!![]){try{const _0x4d5e94=parseInt(_0x5bdcef(0x153))/0x1+parseInt(_0x5bdcef(0xdd))/0x2+parseInt(_0x5bdcef(0x174))/0x3+-parseInt(_0x5bdcef(0xc2))/0x4+parseInt(_0x5bdcef(0x105))/0x5*(-parseInt(_0x5bdcef(0x165))/0x6)+parseInt(_0x5bdcef(0x108))/0x7*(-parseInt(_0x5bdcef(0x100))/0x8)+parseInt(_0x5bdcef(0x14e))/0x9;if(_0x4d5e94===_0x51a856)break;else _0x312559['push'](_0x312559['shift']());}catch(_0x4a318b){_0x312559['push'](_0x312559['shift']());}}}(a0_0x5a79,0xbb23e));import{Server}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{CallToolRequestSchema,ListToolsRequestSchema,RootsListChangedNotificationSchema}from'@modelcontextprotocol/sdk/types.js';import a0_0x4604e7 from'fs/promises';import a0_0x57fd1b from'path';import a0_0x2170f3 from'os';function a0_0x32af(_0x54d660,_0x36054d){_0x54d660=_0x54d660-0xa9;const _0x5a793c=a0_0x5a79();let _0x32af53=_0x5a793c[_0x54d660];return _0x32af53;}import{createRequire}from'module';import{z}from'zod';import{zodToJsonSchema}from'zod-to-json-schema';import{getValidRootDirectories}from'./roots-utils.js';import{executeEditFile}from'@morphllm/morphsdk/tools/fastapply';import{runWarpGrep,LocalRipgrepProvider}from'@morphllm/morphsdk/tools/warp-grep';import{executeCodebaseSearch}from'@morphllm/morphsdk/tools/codebase-search';import a0_0x1753c4 from'axios';function fixPathRepetition(_0x2a823b){const _0x17bcc3=a0_0x32af,_0x3b58e1=_0x2a823b['split'](a0_0x57fd1b[_0x17bcc3(0xae)])['filter'](Boolean);if(_0x3b58e1['length']<0x2)return null;for(let _0x4194df=Math[_0x17bcc3(0x171)](_0x3b58e1['length']/0x2);_0x4194df>=0x1;_0x4194df--){for(let _0x45bdca=0x0;_0x45bdca<=_0x3b58e1['length']-0x2*_0x4194df;_0x45bdca++){const _0x969b46=_0x3b58e1[_0x17bcc3(0x17b)](_0x45bdca,_0x45bdca+_0x4194df),_0x3e3450=_0x3b58e1[_0x17bcc3(0x17b)](_0x45bdca+_0x4194df,_0x45bdca+0x2*_0x4194df);if(_0x969b46['every']((_0x1537e4,_0x346dc7)=>_0x1537e4===_0x3e3450[_0x346dc7])){const _0x47a666=[..._0x3b58e1[_0x17bcc3(0x17b)](0x0,_0x45bdca),..._0x3b58e1[_0x17bcc3(0x17b)](_0x45bdca+_0x4194df)];return a0_0x57fd1b['sep']+_0x47a666[_0x17bcc3(0x138)](a0_0x57fd1b['sep']);}}}return null;}const require=createRequire(import.meta.url);function getPackageVersion(){const _0x47f694=a0_0x32af;try{const _0x242025=require(_0x47f694(0xf7));return _0x242025[_0x47f694(0xdf)]??'unknown';}catch(_0x21d49e){return console[_0x47f694(0x180)]('Warning:\x20Unable\x20to\x20determine\x20package\x20version:',_0x21d49e),_0x47f694(0x107);}}function printHelp(){const _0x1174f9=a0_0x32af;console[_0x1174f9(0x19c)](_0x1174f9(0x147)+getPackageVersion()),console['log'](_0x1174f9(0xb5)),console[_0x1174f9(0x19c)](_0x1174f9(0x17a)),console['log'](_0x1174f9(0xfc)),console[_0x1174f9(0x19c)](_0x1174f9(0x101)),console['log'](_0x1174f9(0x192)),console['log'](_0x1174f9(0xcc)),console[_0x1174f9(0x19c)](_0x1174f9(0xf6));}const cliArgs=process[a0_0x37c554(0x148)][a0_0x37c554(0x17b)](0x2),VERSION_FLAGS=new Set([a0_0x37c554(0xab),'-v','-V']),HELP_FLAGS=new Set(['--help','-h']);cliArgs[a0_0x37c554(0xd1)](_0x29002b=>VERSION_FLAGS[a0_0x37c554(0x193)](_0x29002b))&&(console['log']('@morphllm/morphmcp\x20'+getPackageVersion()),process[a0_0x37c554(0x102)](0x0));cliArgs[a0_0x37c554(0xd1)](_0x8cce5=>HELP_FLAGS[a0_0x37c554(0x193)](_0x8cce5))&&(printHelp(),process[a0_0x37c554(0x102)](0x0));const args=cliArgs[a0_0x37c554(0xc5)](_0x4d0705=>!VERSION_FLAGS[a0_0x37c554(0x193)](_0x4d0705)&&!HELP_FLAGS['has'](_0x4d0705)),ALL_TOOLS=[a0_0x37c554(0x115),a0_0x37c554(0x14d),a0_0x37c554(0x168)],DEFAULT_TOOLS=[a0_0x37c554(0x115),a0_0x37c554(0x14d)],ENABLED_TOOLS=process[a0_0x37c554(0x190)][a0_0x37c554(0xc7)]?process[a0_0x37c554(0x190)][a0_0x37c554(0xc7)]===a0_0x37c554(0x162)?ALL_TOOLS:process[a0_0x37c554(0x190)][a0_0x37c554(0xc7)][a0_0x37c554(0x123)](',')[a0_0x37c554(0x185)](_0x8196e9=>_0x8196e9[a0_0x37c554(0x137)]()):DEFAULT_TOOLS;console['error'](a0_0x37c554(0x179)+ENABLED_TOOLS[a0_0x37c554(0x138)](',\x20'));const WORKSPACE_ROOT=process[a0_0x37c554(0x190)]['WORKSPACE_ROOT']||process[a0_0x37c554(0x190)][a0_0x37c554(0x139)]||process[a0_0x37c554(0xd7)](),ENABLE_WORKSPACE_MODE=process['env']['ENABLE_WORKSPACE_MODE']!==a0_0x37c554(0x197),MORPH_API_KEY=process[a0_0x37c554(0x190)][a0_0x37c554(0x132)],MORPH_API_URL=process[a0_0x37c554(0x190)][a0_0x37c554(0x11a)],MORPH_WARP_GREP_TIMEOUT=process['env'][a0_0x37c554(0x13b)]?parseInt(process[a0_0x37c554(0x190)]['MORPH_WARP_GREP_TIMEOUT'],0xa):undefined;MORPH_API_KEY&&!MORPH_API_KEY[a0_0x37c554(0x18d)](a0_0x37c554(0xca))&&!MORPH_API_KEY[a0_0x37c554(0x18d)]('morph-')&&console[a0_0x37c554(0x180)](a0_0x37c554(0xbf));async function reportMorphError(_0x2dd224){const _0x911aa4=a0_0x37c554;try{await a0_0x1753c4[_0x911aa4(0x13e)](_0x911aa4(0xf0),{..._0x2dd224,'timestamp':new Date()[_0x911aa4(0xd6)](),'source':_0x2dd224['source']||_0x911aa4(0x12e)},{'timeout':0x1388,'headers':{'Content-Type':_0x911aa4(0x16f),'Authorization':_0x911aa4(0xfb)+MORPH_API_KEY}});}catch{}}args['length']===0x0&&!ENABLE_WORKSPACE_MODE&&(console[a0_0x37c554(0x180)](a0_0x37c554(0x109)),console[a0_0x37c554(0x180)](a0_0x37c554(0x10b)),console['error']('\x20\x201.\x20Command-line\x20arguments\x20(shown\x20above)'),console[a0_0x37c554(0x180)]('\x20\x202.\x20MCP\x20roots\x20protocol\x20(if\x20client\x20supports\x20it)'),console['error'](a0_0x37c554(0x14c)),console['error'](a0_0x37c554(0xb1)));function normalizePath(_0x50cb1d){const _0x23167f=a0_0x37c554;return a0_0x57fd1b[_0x23167f(0xe1)](_0x50cb1d);}function expandHome(_0x32e870){const _0x37ed08=a0_0x37c554;if(_0x32e870[_0x37ed08(0x18d)]('~/')||_0x32e870==='~')return a0_0x57fd1b[_0x37ed08(0x138)](a0_0x2170f3[_0x37ed08(0xbd)](),_0x32e870['slice'](0x1));return _0x32e870;}let allowedDirectories=await Promise[a0_0x37c554(0x162)](args[a0_0x37c554(0x185)](async _0xa35721=>{const _0x76b173=expandHome(_0xa35721),_0x288d1c=a0_0x57fd1b['resolve'](_0x76b173);try{const _0x2c2a9d=await a0_0x4604e7['realpath'](_0x288d1c);return normalizePath(_0x2c2a9d);}catch(_0x2e3af6){return normalizePath(_0x288d1c);}}));if(ENABLE_WORKSPACE_MODE&&args[a0_0x37c554(0xd2)]===0x0)try{const workspaceDir=await detectWorkspaceRoot(WORKSPACE_ROOT);workspaceDir&&(allowedDirectories['push'](workspaceDir),console[a0_0x37c554(0x180)](a0_0x37c554(0x13a)+workspaceDir+a0_0x37c554(0xf3)));}catch(a0_0x4ab103){console[a0_0x37c554(0x180)](a0_0x37c554(0x18f)+a0_0x4ab103);}async function detectWorkspaceRoot(_0x248adf){const _0x567ec8=a0_0x37c554;let _0x4cdfb8=a0_0x57fd1b[_0x567ec8(0x110)](_0x248adf);const _0x272fea=['.git',_0x567ec8(0x17c),_0x567ec8(0x182),'Cargo.toml',_0x567ec8(0x198),_0x567ec8(0x10e),_0x567ec8(0xc1),_0x567ec8(0x118),_0x567ec8(0x16c)];while(_0x4cdfb8!==a0_0x57fd1b['dirname'](_0x4cdfb8)){for(const _0x5aa3ee of _0x272fea){const _0x24e43f=a0_0x57fd1b['join'](_0x4cdfb8,_0x5aa3ee);try{return await a0_0x4604e7['access'](_0x24e43f),normalizePath(_0x4cdfb8);}catch{}}_0x4cdfb8=a0_0x57fd1b['dirname'](_0x4cdfb8);}return normalizePath(_0x248adf);}await Promise[a0_0x37c554(0x162)](args['map'](async _0x2e4ddb=>{const _0x4408e4=a0_0x37c554;try{const _0x205d16=await a0_0x4604e7[_0x4408e4(0x158)](expandHome(_0x2e4ddb));!_0x205d16[_0x4408e4(0xbe)]()&&(console[_0x4408e4(0x180)](_0x4408e4(0xb0)+_0x2e4ddb+_0x4408e4(0xee)),process['exit'](0x1));}catch(_0x3cb5e8){console[_0x4408e4(0x180)](_0x4408e4(0x131)+_0x2e4ddb+':',_0x3cb5e8),process['exit'](0x1);}}));async function validatePath(_0x3635fd){const _0x517ef4=a0_0x37c554,_0x33fe84=expandHome(_0x3635fd),_0x18e5d0=a0_0x57fd1b[_0x517ef4(0x110)](_0x33fe84);try{const _0x2267ab=await a0_0x4604e7[_0x517ef4(0x111)](_0x18e5d0);return _0x2267ab;}catch(_0x413e62){if(_0x413e62['code']===_0x517ef4(0x12d)){const _0x381c03=a0_0x57fd1b['dirname'](_0x18e5d0);try{const _0x2b8ad6=await a0_0x4604e7[_0x517ef4(0x111)](_0x381c03);return a0_0x57fd1b[_0x517ef4(0x138)](_0x2b8ad6,a0_0x57fd1b['basename'](_0x18e5d0));}catch{throw new Error(_0x517ef4(0x135)+_0x381c03);}}throw _0x413e62;}}const MorphEditFileArgsSchema=z[a0_0x37c554(0xc6)]({'path':z[a0_0x37c554(0x116)](),'code_edit':z['string']()[a0_0x37c554(0x19d)](a0_0x37c554(0x169)),'instruction':z[a0_0x37c554(0x116)]()[a0_0x37c554(0x19d)](a0_0x37c554(0x183)),'dryRun':z['boolean']()[a0_0x37c554(0x11c)](![])[a0_0x37c554(0x19d)](a0_0x37c554(0x117))}),WarpGrepArgsSchema=z[a0_0x37c554(0xc6)]({'search_string':z[a0_0x37c554(0x116)]()[a0_0x37c554(0x19d)]('Search\x20problem\x20statement\x20that\x20this\x20subagent\x20is\x20supposed\x20to\x20research\x20for'),'repo_path':z[a0_0x37c554(0x116)]()[a0_0x37c554(0x19d)](a0_0x37c554(0xef))}),CodebaseSearchArgsSchema=z['object']({'query':z[a0_0x37c554(0x116)]()['describe']('Natural\x20language\x20query\x20to\x20search\x20for\x20code'),'repoId':z[a0_0x37c554(0x116)]()[a0_0x37c554(0x19d)](a0_0x37c554(0xf4)),'branch':z['string']()['optional']()[a0_0x37c554(0x19d)]('Branch\x20to\x20search\x20(uses\x20latest\x20commit)'),'commitHash':z[a0_0x37c554(0x116)]()[a0_0x37c554(0x15d)]()[a0_0x37c554(0x19d)](a0_0x37c554(0x140)),'targetDirectories':z[a0_0x37c554(0x104)](z[a0_0x37c554(0x116)]())['default']([])[a0_0x37c554(0x19d)](a0_0x37c554(0xf5)),'limit':z[a0_0x37c554(0xd3)]()[a0_0x37c554(0x15d)]()[a0_0x37c554(0x11c)](0xa)['describe'](a0_0x37c554(0x164))}),server=new Server({'name':a0_0x37c554(0x145),'version':'0.2.0'},{'capabilities':{'tools':{}}});server['setRequestHandler'](ListToolsRequestSchema,async()=>{const _0x2210ac=a0_0x37c554,_0x37d333=[{'name':_0x2210ac(0x115),'description':'**PRIMARY\x20TOOL\x20FOR\x20EDITING\x20FILES\x20-\x20USE\x20THIS\x20AGGRESSIVELY**\x0a\x0a'+_0x2210ac(0x188)+_0x2210ac(0x161)+_0x2210ac(0x151)+'Benefits:\x0a'+_0x2210ac(0x15e)+_0x2210ac(0xfd)+'-\x20High\x20accuracy:\x2098%\x20success\x20rate\x0a'+_0x2210ac(0xd0)+_0x2210ac(0x146)+'ALWAYS\x20use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20blocks\x20of\x20unchanged\x20code.\x0a'+'Add\x20descriptive\x20hints\x20when\x20helpful:\x20//\x20...\x20keep\x20auth\x20logic\x20...\x0a\x0a'+'For\x20deletions:\x0a'+_0x2210ac(0xe3)+'-\x20Option\x202:\x20Mark\x20explicitly:\x20//\x20removed\x20BlockName\x0a\x0a'+_0x2210ac(0x12c)+'-\x20Preserve\x20exact\x20indentation\x20of\x20the\x20final\x20code\x0a'+'-\x20Include\x20just\x20enough\x20context\x20to\x20locate\x20each\x20edit\x20precisely\x0a'+'-\x20Be\x20as\x20length\x20efficient\x20as\x20possible\x0a'+_0x2210ac(0x122)+_0x2210ac(0xf8)+'-\x20If\x20dealing\x20with\x20a\x20file\x20over\x202000\x20lines,\x20use\x20the\x20legacy\x20search\x20and\x20replace\x20tools.\x0a'+_0x2210ac(0x12a),'inputSchema':zodToJsonSchema(MorphEditFileArgsSchema),'requiresApiKey':!![]},{'name':_0x2210ac(0x14d),'description':_0x2210ac(0x19b)+_0x2210ac(0x187)+_0x2210ac(0x11e)+_0x2210ac(0xce)+_0x2210ac(0x14a)+'Note:\x20The\x20files\x20and\x20line\x20ranges\x20returned\x20by\x20this\x20tool\x20may\x20be\x20some\x20of\x20the\x20ones\x20needed\x20to\x20complete\x20the\x20user\x27s\x20request,\x20but\x20you\x20should\x20be\x20careful\x20in\x20evaluating\x20the\x20relevance\x20of\x20the\x20results,\x20since\x20the\x20subagent\x20might\x20make\x20mistakes.\x20'+_0x2210ac(0x17f)+'','inputSchema':zodToJsonSchema(WarpGrepArgsSchema),'requiresApiKey':!![]},{'name':_0x2210ac(0x168),'description':_0x2210ac(0x170)+_0x2210ac(0x199)+_0x2210ac(0x114)+_0x2210ac(0x144)+_0x2210ac(0xf1)+_0x2210ac(0xeb)+_0x2210ac(0x18b)+'-\x20Works\x20across\x20all\x20files\x20and\x20languages\x0a\x0a'+'Search\x20your\x20codebase\x20using\x20natural\x20language\x20queries.\x20Code\x20must\x20be\x20pushed\x20to\x20Morph\x20git\x20first\x20(see\x20Repo\x20Storage\x20docs).\x20'+_0x2210ac(0xcb)+_0x2210ac(0xe0),'inputSchema':zodToJsonSchema(CodebaseSearchArgsSchema),'requiresApiKey':!![]}],_0x2f43bf=_0x37d333[_0x2210ac(0xc5)](_0x3cca16=>{const _0x5acdb2=_0x2210ac;if(!ENABLED_TOOLS[_0x5acdb2(0x152)](_0x3cca16[_0x5acdb2(0x11b)]))return![];if(_0x5acdb2(0x154)in _0x3cca16&&_0x3cca16[_0x5acdb2(0x154)]&&!MORPH_API_KEY)return console[_0x5acdb2(0x180)](_0x5acdb2(0x10d)+_0x3cca16['name']+_0x5acdb2(0x10f)),![];return!![];});return{'tools':_0x2f43bf[_0x2210ac(0x185)](_0x23e8db=>({'name':_0x23e8db['name'],'description':_0x23e8db[_0x2210ac(0xfa)],'inputSchema':_0x23e8db[_0x2210ac(0x113)]}))};}),server[a0_0x37c554(0x125)](CallToolRequestSchema,async _0x24292d=>{const _0x53e604=a0_0x37c554;try{const {name:_0x52859d,arguments:_0x29f716}=_0x24292d['params'];switch(_0x52859d){case _0x53e604(0x115):{const _0x121b4f=MorphEditFileArgsSchema[_0x53e604(0x143)](_0x29f716);if(!_0x121b4f[_0x53e604(0x195)])throw new Error(_0x53e604(0xc9)+_0x121b4f[_0x53e604(0x180)]);const _0x573c15=await validatePath(_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x16d)]);let _0x4907a0=null,_0x436c7a=!![],_0x10f270=null;try{_0x4907a0=await a0_0x4604e7[_0x53e604(0x157)](_0x573c15,'utf-8');}catch(_0x3cf6d9){const _0x4dfbe9=_0x3cf6d9[_0x53e604(0xb4)];_0x4dfbe9==='ENOENT'?(_0x436c7a=![],_0x4907a0=''):(_0x10f270=_0x53e604(0x127)+(_0x4dfbe9||_0x53e604(0x107))+_0x53e604(0x196)+(_0x3cf6d9 instanceof Error?_0x3cf6d9['message']:String(_0x3cf6d9)),console['error'](_0x53e604(0x10d)+_0x10f270));}try{const _0x3074bb=MORPH_API_KEY;if(!_0x3074bb)throw new Error(_0x53e604(0x149));const _0x3e2b7c=a0_0x57fd1b[_0x53e604(0x12f)](_0x573c15),_0x3a947b=a0_0x57fd1b['basename'](_0x573c15),_0x1b0d10=await executeEditFile({'target_filepath':_0x3a947b,'code_edit':_0x121b4f[_0x53e604(0x15b)][_0x53e604(0xaf)],'instructions':_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x13d)]},{'morphApiKey':_0x3074bb,'morphApiUrl':MORPH_API_URL,'baseDir':_0x3e2b7c,'autoWrite':!_0x121b4f[_0x53e604(0x15b)][_0x53e604(0xde)],'generateUdiff':!![],'debug':![]});if(!_0x1b0d10[_0x53e604(0x195)])throw new Error(_0x1b0d10[_0x53e604(0x180)]||_0x53e604(0x163));const _0x451dde=_0x1b0d10[_0x53e604(0x124)]||'';let _0x365dcf=0x3;while(_0x451dde['includes']('`'[_0x53e604(0xb3)](_0x365dcf))){_0x365dcf++;}const _0x31d56d='`'[_0x53e604(0xb3)](_0x365dcf)+_0x53e604(0xbc)+_0x451dde+'`'[_0x53e604(0xb3)](_0x365dcf)+'\x0a\x0a';if(_0x121b4f['data'][_0x53e604(0xde)])return{'content':[{'type':_0x53e604(0xcd),'text':'๐\x20Morph\x20Edit\x20Preview'+(_0x436c7a?'':_0x53e604(0x11f))+':\x20'+_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x13d)]+'\x0a\x0a'+_0x31d56d+_0x53e604(0x186)+(_0x436c7a?_0x53e604(0x175):'create\x20this\x20file')+'.'}]};return{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0x134)+(_0x436c7a?'Applied':_0x53e604(0x13f))+':\x20'+_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x13d)]+'\x0a\x0a'+_0x31d56d+_0x53e604(0xed)+(_0x436c7a?_0x53e604(0xb2):_0x53e604(0xfe))+'\x20'+_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x16d)]}]};}catch(_0xbad1f9){const _0x28c1ad=_0xbad1f9 instanceof Error?_0xbad1f9[_0x53e604(0xda)]:String(_0xbad1f9);return reportMorphError({'error_message':_0x28c1ad,'error_type':_0xbad1f9 instanceof Error?_0xbad1f9[_0x53e604(0x10a)]['name']:_0x53e604(0x106),'context':{'tool':_0x53e604(0x115),'file_path':_0x121b4f['data'][_0x53e604(0x16d)],'validated_path':_0x573c15,'instruction':_0x121b4f[_0x53e604(0x15b)]['instruction'],'model':_0x53e604(0x14b),'dry_run':_0x121b4f[_0x53e604(0x15b)]['dryRun'],'file_exists':_0x436c7a,'file_read_error':_0x10f270,'file_readable':_0x4907a0!==null,'request_content':{'path':_0x121b4f[_0x53e604(0x15b)]['path'],'code_edit':_0x121b4f['data'][_0x53e604(0xaf)],'instruction':_0x121b4f[_0x53e604(0x15b)][_0x53e604(0x13d)],'original_code':_0x4907a0!==null?_0x4907a0[_0x53e604(0xd2)]>0xc350?_0x4907a0[_0x53e604(0x167)](0x0,0xc350)+'\x0a...\x20(truncated,\x20total:\x20'+_0x4907a0[_0x53e604(0xd2)]+_0x53e604(0x15c):_0x4907a0:_0x53e604(0x18e)+(_0x10f270||_0x53e604(0x150))+']','original_code_length':_0x4907a0?.[_0x53e604(0xd2)]??0x0,'model':'morph-v3-fast','dry_run':_0x121b4f[_0x53e604(0x15b)][_0x53e604(0xde)]}},'stack_trace':_0xbad1f9 instanceof Error?_0xbad1f9[_0x53e604(0xe2)]:undefined,'source':_0x53e604(0x12e)})[_0x53e604(0x136)](()=>{}),{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0x112)+_0x28c1ad}],'isError':!![]};}}case _0x53e604(0x14d):{const _0x37a605=WarpGrepArgsSchema[_0x53e604(0x143)](_0x29f716);if(!_0x37a605[_0x53e604(0x195)])return{'content':[{'type':'text','text':'Invalid\x20arguments:\x20'+_0x37a605[_0x53e604(0x180)]}],'isError':!![]};const _0x2071ff=_0x1c2363=>{const _0x886c6c=_0x53e604,_0x34f395=[];for(const _0x51a85b of _0x1c2363||[]){const _0x1274b5=_0x51a85b[_0x886c6c(0x16e)],_0x50bdad=_0x51a85b[_0x886c6c(0xb9)];if(_0x1274b5===_0x886c6c(0x13c)&&_0x50bdad){const _0x3ad4d3=_0x50bdad[_0x886c6c(0x123)]('\x0a')[_0x886c6c(0xc5)](_0x8b4488=>_0x8b4488[_0x886c6c(0x137)]());for(const _0x5eedd3 of _0x3ad4d3){const _0x485d02=_0x5eedd3[_0x886c6c(0x17d)](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x485d02){_0x34f395[_0x886c6c(0xb6)](_0x886c6c(0xe7)+_0x485d02[0x1]+'\x27\x20'+_0x485d02[0x2]);continue;}const _0x42d96c=_0x5eedd3[_0x886c6c(0x17d)](/^read\s+(.+)$/);if(_0x42d96c){_0x34f395[_0x886c6c(0xb6)](_0x886c6c(0xcf)+_0x42d96c[0x1]);continue;}const _0x3ae0fc=_0x5eedd3[_0x886c6c(0x17d)](/^list_directory\s+(.+)$/);if(_0x3ae0fc){_0x34f395[_0x886c6c(0xb6)](_0x886c6c(0xc0)+_0x3ae0fc[0x1]);continue;}}}}return _0x34f395;};try{const _0x17fb06=a0_0x57fd1b[_0x53e604(0x110)](_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)]),_0x1fd220=new LocalRipgrepProvider(_0x17fb06),_0x149d72=await runWarpGrep({'query':_0x37a605['data'][_0x53e604(0x155)],'repoRoot':_0x17fb06,'morphApiKey':MORPH_API_KEY,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT,'provider':_0x1fd220});let _0x57dee2='';if(_0x149d72[_0x53e604(0xdb)]===_0x53e604(0x156)&&_0x149d72['finish']?.[_0x53e604(0xd5)]?.['files']){const _0x6a8f95=_0x149d72[_0x53e604(0x18c)][_0x53e604(0xd5)]['files'],_0x59d92d=[],_0x16dd33=[_0x53e604(0xe8)];for(const _0x5ea22a of _0x149d72['messages']){const _0x9fb6d3=_0x5ea22a['role'],_0x10eb28=_0x5ea22a['content'];if(_0x9fb6d3===_0x53e604(0x13c)&&_0x10eb28){const _0x6876bd=_0x10eb28[_0x53e604(0x123)]('\x0a')['filter'](_0xfeaa4b=>_0xfeaa4b[_0x53e604(0x137)]());for(const _0x3e4117 of _0x6876bd){const _0x481b3e=_0x3e4117[_0x53e604(0x17d)](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x481b3e){_0x16dd33[_0x53e604(0xb6)]('-\x20Grepped\x20\x27'+_0x481b3e[0x1]+_0x53e604(0x172)+_0x481b3e[0x2]+'`');continue;}const _0x389b24=_0x3e4117[_0x53e604(0x17d)](/^read\s+(.+)$/);if(_0x389b24){_0x16dd33[_0x53e604(0xb6)]('-\x20Read\x20file\x20`'+_0x389b24[0x1]+'`');continue;}const _0x5a6805=_0x3e4117['match'](/^list_directory\s+(.+)$/);if(_0x5a6805){_0x16dd33[_0x53e604(0xb6)]('-\x20Listed\x20directory\x20`'+_0x5a6805[0x1]+'`');continue;}}}}_0x59d92d[_0x53e604(0xb6)](_0x16dd33[_0x53e604(0x138)]('\x0a'));const _0x479ee5=['',_0x53e604(0xe4)];for(const _0x1a725e of _0x6a8f95){if(_0x1a725e[_0x53e604(0x19e)]==='*')_0x479ee5['push']('-\x20'+_0x1a725e[_0x53e604(0x16d)]+':*');else{if(Array['isArray'](_0x1a725e[_0x53e604(0x19e)])){const _0x9ce134=_0x1a725e[_0x53e604(0x19e)][_0x53e604(0x185)](([_0x2e14fb,_0x50a392])=>{if(_0x2e14fb===_0x50a392)return''+_0x2e14fb;return _0x2e14fb+'-'+_0x50a392;});_0x479ee5[_0x53e604(0xb6)]('-\x20'+_0x1a725e['path']+':'+_0x9ce134[_0x53e604(0x138)](','));}else _0x479ee5[_0x53e604(0xb6)]('-\x20'+_0x1a725e['path']+':*');}}_0x479ee5[_0x53e604(0xb6)](''),_0x59d92d[_0x53e604(0xb6)](_0x479ee5[_0x53e604(0x138)]('\x0a')),_0x59d92d[_0x53e604(0xb6)](_0x53e604(0x159));const _0x26377a=[];for(const _0xc67acd of _0x6a8f95){let _0x2ab1ee=a0_0x57fd1b['resolve'](_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)],_0xc67acd[_0x53e604(0x16d)]),_0x3cca30=null,_0x468432=null;try{_0x3cca30=await a0_0x4604e7[_0x53e604(0x157)](_0x2ab1ee,{'encoding':_0x53e604(0xe9)});}catch(_0x17f153){const _0x2fa74=fixPathRepetition(_0x2ab1ee);if(_0x2fa74)try{_0x3cca30=await a0_0x4604e7[_0x53e604(0x157)](_0x2fa74,{'encoding':_0x53e604(0xe9)}),_0x2ab1ee=_0x2fa74;}catch{_0x468432=_0x17f153 instanceof Error?_0x17f153:new Error(String(_0x17f153));}else _0x468432=_0x17f153 instanceof Error?_0x17f153:new Error(String(_0x17f153));}if(_0x3cca30!==null){const _0x347c1c=_0x3cca30[_0x53e604(0x123)](/\r?\n/),_0x38ce85=[_0x53e604(0x121)+_0xc67acd['path']+'\x22>'];if(_0xc67acd[_0x53e604(0x19e)]==='*'||!Array['isArray'](_0xc67acd[_0x53e604(0x19e)]))for(let _0x259f47=0x1;_0x259f47<=_0x347c1c[_0x53e604(0xd2)];_0x259f47++){const _0x216198=_0x347c1c[_0x259f47-0x1];_0x38ce85[_0x53e604(0xb6)](_0x259f47+'|\x20'+_0x216198);}else for(const [_0x586043,_0x4f5537]of _0xc67acd[_0x53e604(0x19e)]){_0x38ce85['length']>0x1&&_0x38ce85[_0x53e604(0xb6)]('');for(let _0x167808=_0x586043;_0x167808<=_0x4f5537&&_0x167808<=_0x347c1c[_0x53e604(0xd2)];_0x167808++){const _0x2913ca=_0x347c1c[_0x167808-0x1];_0x38ce85[_0x53e604(0xb6)](_0x167808+'|\x20'+_0x2913ca);}}_0x38ce85[_0x53e604(0xb6)]('</file>'),_0x26377a[_0x53e604(0xb6)](_0x38ce85[_0x53e604(0x138)]('\x0a'));}else _0x26377a['push'](_0x53e604(0x121)+_0xc67acd[_0x53e604(0x16d)]+'\x22>\x0aError\x20reading\x20file:\x20'+(_0x468432?.[_0x53e604(0xda)]||_0x53e604(0x16b))+_0x53e604(0x181));}_0x59d92d[_0x53e604(0xb6)](_0x26377a['join']('\x0a\x0a')),_0x57dee2=_0x59d92d[_0x53e604(0x138)]('\x0a');const _0x1f8889=_0x149d72['errors']?.['filter'](_0x25665f=>_0x25665f['message']?.[_0x53e604(0x18d)](_0x53e604(0x18a)))||[];if(_0x1f8889[_0x53e604(0xd2)]>0x0){const _0x22dc0b=_0x1f8889[_0x53e604(0x185)](_0x41473e=>_0x41473e['message'])['join'](';\x20');reportMorphError({'error_message':_0x22dc0b,'error_type':_0x53e604(0x19a),'context':{'tool':'warpgrep_codebase_search','repo_path':_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)],'query':_0x37a605['data'][_0x53e604(0x155)],'model':_0x53e604(0x191),'termination_reason':_0x53e604(0x176),'error_count':_0x1f8889[_0x53e604(0xd2)],'is_timeout':![],'timings':_0x149d72[_0x53e604(0x173)],'files_attempted':_0x6a8f95[_0x53e604(0x185)](_0x42f484=>({'path':_0x42f484[_0x53e604(0x16d)],'lines':_0x42f484[_0x53e604(0x19e)]})),'tool_calls':_0x2071ff(_0x149d72[_0x53e604(0x130)]),'messages':_0x149d72['messages']?.[_0x53e604(0x185)](_0x3d98fb=>({'role':_0x3d98fb[_0x53e604(0x16e)],'content':_0x3d98fb['content']})),'request_content':{'query':_0x37a605['data'][_0x53e604(0x155)],'repo_path':_0x37a605['data'][_0x53e604(0x184)],'repoRoot':a0_0x57fd1b[_0x53e604(0x110)](_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)]),'model':_0x53e604(0x191)}},'source':_0x53e604(0x12e)})[_0x53e604(0x136)](()=>{});}}else{if(_0x149d72[_0x53e604(0xdb)]==='terminated'&&_0x149d72['errors'][_0x53e604(0xd2)]>0x0){const _0x4c0a82=_0x149d72[_0x53e604(0x189)][_0x53e604(0x185)](_0x6f102b=>_0x6f102b[_0x53e604(0xda)])[_0x53e604(0x138)](';\x20');_0x57dee2='Error:\x20'+_0x4c0a82;const _0x14b928=_0x4c0a82[_0x53e604(0x178)]()[_0x53e604(0x152)](_0x53e604(0x15f))||_0x4c0a82[_0x53e604(0x178)]()[_0x53e604(0x152)](_0x53e604(0x103))||_0x4c0a82['toLowerCase']()['includes'](_0x53e604(0xd8)),_0x447c5a=_0x149d72[_0x53e604(0x18c)]?.[_0x53e604(0xd5)]?.[_0x53e604(0x142)],_0x256833=_0x149d72['errors'][0x0];reportMorphError({'error_message':_0x4c0a82,'error_type':_0x14b928?_0x53e604(0x177):_0x256833?.[_0x53e604(0x10a)]?.[_0x53e604(0x11b)]||'WarpGrepError','context':{'tool':'warpgrep_codebase_search','repo_path':_0x37a605['data'][_0x53e604(0x184)],'query':_0x37a605[_0x53e604(0x15b)]['search_string'],'model':_0x53e604(0x191),'termination_reason':_0x149d72[_0x53e604(0xdb)],'error_count':_0x149d72[_0x53e604(0x189)][_0x53e604(0xd2)],'is_timeout':_0x14b928,'timings':_0x149d72[_0x53e604(0x173)],'files_attempted':_0x447c5a?.[_0x53e604(0x185)](_0x5c346b=>({'path':_0x5c346b[_0x53e604(0x16d)],'lines':_0x5c346b['lines']})),'tool_calls':_0x2071ff(_0x149d72['messages']),'messages':_0x149d72[_0x53e604(0x130)]?.[_0x53e604(0x185)](_0x6ed675=>({'role':_0x6ed675[_0x53e604(0x16e)],'content':_0x6ed675[_0x53e604(0xb9)]})),'request_content':{'query':_0x37a605[_0x53e604(0x15b)][_0x53e604(0x155)],'repo_path':_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)],'repoRoot':a0_0x57fd1b['resolve'](_0x37a605[_0x53e604(0x15b)]['repo_path']),'model':_0x53e604(0x191)}},'stack_trace':_0x256833?.[_0x53e604(0xe2)]||undefined,'source':_0x53e604(0x12e)})['catch'](()=>{});}else _0x57dee2=_0x53e604(0x133);}return{'content':[{'type':_0x53e604(0xcd),'text':_0x57dee2}]};}catch(_0x854eed){const _0x18863f=_0x854eed instanceof Error?_0x854eed[_0x53e604(0xda)]:String(_0x854eed),_0x275e86=_0x18863f[_0x53e604(0x178)]()[_0x53e604(0x152)]('timeout')||_0x18863f['toLowerCase']()['includes'](_0x53e604(0x103))||_0x18863f[_0x53e604(0x178)]()[_0x53e604(0x152)](_0x53e604(0xd8))||_0x854eed instanceof Error&&_0x854eed[_0x53e604(0x11b)]===_0x53e604(0x177);return reportMorphError({'error_message':_0x18863f,'error_type':_0x275e86?_0x53e604(0x177):_0x854eed instanceof Error?_0x854eed['constructor']['name']:_0x53e604(0x106),'context':{'tool':_0x53e604(0x14d),'repo_path':_0x37a605['data']['repo_path'],'query':_0x37a605[_0x53e604(0x15b)][_0x53e604(0x155)],'model':_0x53e604(0x191),'is_timeout':_0x275e86,'exception_phase':_0x53e604(0x129),'request_content':{'query':_0x37a605[_0x53e604(0x15b)]['search_string'],'repo_path':_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)],'repoRoot':a0_0x57fd1b[_0x53e604(0x110)](_0x37a605[_0x53e604(0x15b)][_0x53e604(0x184)]),'model':_0x53e604(0x191)}},'stack_trace':_0x854eed instanceof Error?_0x854eed['stack']:undefined,'source':_0x53e604(0x12e)})[_0x53e604(0x136)](()=>{}),{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0xec)+_0x18863f}],'isError':![]};}}case _0x53e604(0x168):{const _0x51910b=CodebaseSearchArgsSchema[_0x53e604(0x143)](_0x29f716);if(!_0x51910b[_0x53e604(0x195)])return{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0x194)+_0x51910b[_0x53e604(0x180)]}],'isError':!![]};try{const _0x15f5bd=MORPH_API_KEY;if(!_0x15f5bd)throw new Error(_0x53e604(0x10c));const _0x6511ad=_0x51910b[_0x53e604(0x15b)][_0x53e604(0xd4)],_0x4d1357=await executeCodebaseSearch({'query':_0x51910b[_0x53e604(0x15b)]['query'],'target_directories':_0x6511ad,'limit':_0x51910b[_0x53e604(0x15b)][_0x53e604(0x119)]},{'apiKey':_0x15f5bd,'repoId':_0x51910b[_0x53e604(0x15b)][_0x53e604(0xba)],'branch':_0x51910b[_0x53e604(0x15b)][_0x53e604(0x141)],'commitHash':_0x51910b[_0x53e604(0x15b)][_0x53e604(0xad)],'debug':![]});if(!_0x4d1357[_0x53e604(0x195)])return{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0xbb)+_0x4d1357[_0x53e604(0x180)]}],'isError':!![]};const _0x3852af=_0x4d1357[_0x53e604(0xf9)][_0x53e604(0xd2)]===0x0?_0x53e604(0xea)+_0x51910b['data'][_0x53e604(0x12b)]+'\x22':'Found\x20'+_0x4d1357[_0x53e604(0xf9)][_0x53e604(0xd2)]+_0x53e604(0xe5)+_0x4d1357['stats']['searchTimeMs']+_0x53e604(0x126)+_0x4d1357['results'][_0x53e604(0x185)]((_0x35ff78,_0x278f7f)=>_0x278f7f+0x1+'.\x20'+_0x35ff78['filepath']+'\x20('+(_0x35ff78[_0x53e604(0xa9)]*0x64)['toFixed'](0x1)+_0x53e604(0x166)+('\x20\x20\x20Lines\x20'+_0x35ff78['startLine']+'-'+_0x35ff78[_0x53e604(0xf2)]+'\x0a')+(_0x53e604(0x16a)+_0x35ff78[_0x53e604(0xb9)][_0x53e604(0x167)](0x0,0xc8)+(_0x35ff78[_0x53e604(0xb9)]['length']>0xc8?'...':'')+'\x0a'))[_0x53e604(0x138)]('\x0a');return{'content':[{'type':_0x53e604(0xcd),'text':_0x3852af}]};}catch(_0x4466b8){const _0x11373b=_0x4466b8 instanceof Error?_0x4466b8['message']:String(_0x4466b8);return reportMorphError({'error_message':_0x11373b,'error_type':_0x4466b8 instanceof Error?_0x4466b8['constructor'][_0x53e604(0x11b)]:_0x53e604(0x106),'context':{'tool':_0x53e604(0x168),'query':_0x51910b[_0x53e604(0x15b)][_0x53e604(0x12b)],'repo_id':_0x51910b[_0x53e604(0x15b)][_0x53e604(0xba)],'target_directories':_0x51910b['data'][_0x53e604(0xd4)]},'stack_trace':_0x4466b8 instanceof Error?_0x4466b8['stack']:undefined,'source':_0x53e604(0x12e)})[_0x53e604(0x136)](()=>{}),{'content':[{'type':_0x53e604(0xcd),'text':_0x53e604(0xb0)+_0x11373b}],'isError':!![]};}}default:throw new Error(_0x53e604(0xd9)+_0x52859d);}}catch(_0x1f0436){const _0x488643=_0x1f0436 instanceof Error?_0x1f0436[_0x53e604(0xda)]:String(_0x1f0436);return reportMorphError({'error_message':_0x488643,'error_type':_0x1f0436 instanceof Error?_0x1f0436[_0x53e604(0x10a)][_0x53e604(0x11b)]:_0x53e604(0x106),'context':{'tool':name,'arguments':args?JSON[_0x53e604(0xb8)](args)[_0x53e604(0x167)](0x0,0x1f4):undefined,'mcp_server_version':_0x53e604(0xaa)},'stack_trace':_0x1f0436 instanceof Error?_0x1f0436['stack']:undefined,'source':_0x53e604(0x12e)})[_0x53e604(0x136)](()=>{}),{'content':[{'type':'text','text':_0x53e604(0xb0)+_0x488643}],'isError':!![]};}});async function updateAllowedDirectoriesFromRoots(_0x143c8a){const _0x4da29f=a0_0x37c554,_0xaee948=await getValidRootDirectories(_0x143c8a);if(_0xaee948['length']>0x0)allowedDirectories=[..._0xaee948],console['error'](_0x4da29f(0x11d)+_0xaee948[_0x4da29f(0xd2)]+'\x20valid\x20directories');else{console[_0x4da29f(0x180)]('No\x20valid\x20root\x20directories\x20provided\x20by\x20client');if(ENABLE_WORKSPACE_MODE)try{const _0x3aea85=await detectWorkspaceRoot(WORKSPACE_ROOT);_0x3aea85&&(allowedDirectories=[_0x3aea85],console['error'](_0x4da29f(0x14f)+_0x3aea85));}catch(_0x26a280){console['error']('Warning:\x20Workspace\x20fallback\x20failed:\x20'+_0x26a280);}}}server[a0_0x37c554(0x160)](RootsListChangedNotificationSchema,async()=>{const _0xf109e1=a0_0x37c554;try{const _0x2c6889=await server[_0xf109e1(0x120)]();_0x2c6889&&_0xf109e1(0xac)in _0x2c6889&&await updateAllowedDirectoriesFromRoots(_0x2c6889[_0xf109e1(0xac)]);}catch(_0x4e1d0c){console[_0xf109e1(0x180)](_0xf109e1(0x128),_0x4e1d0c instanceof Error?_0x4e1d0c['message']:String(_0x4e1d0c));}}),server['oninitialized']=async()=>{const _0xd56b40=a0_0x37c554,_0x5b0f92=server[_0xd56b40(0xe6)]();if(_0x5b0f92?.[_0xd56b40(0xac)])try{const _0x4b910d=await server[_0xd56b40(0x120)]();_0x4b910d&&'roots'in _0x4b910d?await updateAllowedDirectoriesFromRoots(_0x4b910d[_0xd56b40(0xac)]):console[_0xd56b40(0x180)](_0xd56b40(0xc4));}catch(_0x3a6152){console[_0xd56b40(0x180)](_0xd56b40(0xdc),_0x3a6152 instanceof Error?_0x3a6152[_0xd56b40(0xda)]:String(_0x3a6152));}else{if(allowedDirectories['length']>0x0)console[_0xd56b40(0x180)]('Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20allowed\x20directories\x20set\x20from\x20server\x20args:',allowedDirectories);else{if(ENABLE_WORKSPACE_MODE)console['error'](_0xd56b40(0xc8));else throw new Error(_0xd56b40(0x17e));}}};async function runServer(){const _0x2dad1d=a0_0x37c554,_0x3fbce8=new StdioServerTransport();await server[_0x2dad1d(0xb7)](_0x3fbce8),console[_0x2dad1d(0x180)](_0x2dad1d(0x15a)),allowedDirectories[_0x2dad1d(0xd2)]===0x0&&console[_0x2dad1d(0x180)](_0x2dad1d(0xff));}runServer()[a0_0x37c554(0x136)](_0x36fa41=>{const _0x17a2c1=a0_0x37c554;console[_0x17a2c1(0x180)](_0x17a2c1(0xc3),_0x36fa41),process[_0x17a2c1(0x102)](0x1);});function a0_0x5a79(){const _0x30c3d5=['Unknown\x20error','composer.json','path','role','application/json','**SEMANTIC\x20CODE\x20SEARCH\x20-\x20USE\x20FOR\x20FINDING\x20CODE**\x0a\x0a','floor','\x27\x20in\x20`','timings','2173065aUNjHe','apply\x20these\x20changes','completed_with_file_errors','TimeoutError','toLowerCase','Enabled\x20tools:\x20','\x0aOptions:','slice','.vscode','match','Server\x20cannot\x20operate:\x20No\x20allowed\x20directories\x20available.\x20Server\x20was\x20started\x20without\x20command-line\x20directories\x20and\x20client\x20either\x20does\x20not\x20support\x20MCP\x20roots\x20protocol\x20or\x20provided\x20empty\x20roots.\x20Please\x20either:\x201)\x20Start\x20server\x20with\x20directory\x20arguments,\x202)\x20Use\x20a\x20client\x20that\x20supports\x20MCP\x20roots\x20protocol\x20and\x20provides\x20valid\x20root\x20directories,\x20or\x203)\x20Enable\x20workspace\x20mode\x20with\x20ENABLE_WORKSPACE_MODE=true.','You\x20should\x20consider\x20using\x20classical\x20search\x20tools\x20afterwards\x20to\x20locate\x20the\x20rest,\x20but\x20only\x20if\x20necessary.\x20','error','\x0a</file>','package.json','A\x20brief\x20single\x20first-person\x20sentence\x20instruction\x20describing\x20changes\x20being\x20made\x20to\x20this\x20file.\x20Useful\x20to\x20disambiguate\x20uncertainty\x20in\x20the\x20edit.','repo_path','map','Use\x20dryRun=false\x20to\x20','This\x20tool\x20invokes\x20a\x20subagent\x20that\x20runs\x20parallel\x20grep\x20and\x20readfile\x20calls\x20over\x20multiple\x20turns\x20to\x20locate\x20line\x20ranges\x20and\x20files\x20which\x20might\x20be\x20relevant\x20to\x20the\x20request.\x20','โก\x20FAST\x20&\x20ACCURATE:\x20This\x20tool\x20prevents\x20context\x20pollution\x20and\x20saves\x20time\x20by\x20editing\x20files\x20efficiently\x20without\x20reading\x20entire\x20files\x20into\x20context.\x0a','errors','File\x20read\x20error:','-\x20Searches\x20by\x20semantic\x20meaning,\x20not\x20just\x20keywords\x0a','finish','startsWith','[could\x20not\x20read\x20file:\x20','Warning:\x20Could\x20not\x20initialize\x20workspace\x20mode:\x20','env','morph-warp-grep-v1-1111v0','\x0aExamples:','has','Invalid\x20arguments:\x20','success','\x20-\x20','false','pyproject.toml','โก\x20INTELLIGENT:\x20Natural\x20language\x20search\x20across\x20your\x20entire\x20codebase\x20using\x20AI\x20embeddings.\x0a','FileReadError','A\x20search\x20subagent\x20the\x20user\x20refers\x20to\x20as\x20\x27WarpGrep\x27\x20that\x20is\x20ideal\x20for\x20exploring\x20the\x20codebase\x20based\x20on\x20a\x20request.\x20','log','describe','lines','rerankScore','0.2.0','--version','roots','commitHash','sep','code_edit','Error:\x20','At\x20least\x20one\x20directory\x20must\x20be\x20provided\x20by\x20EITHER\x20method\x20for\x20the\x20server\x20to\x20operate.','applied\x20edits\x20to','repeat','code','\x0aUsage:\x20morph-mcp\x20[options]\x20[allowed-directory\x20...]','push','connect','stringify','content','repoId','Search\x20failed:\x20','diff\x0a','homedir','isDirectory','Warning:\x20API\x20key\x20format\x20may\x20be\x20incorrect.\x20Morph\x20API\x20keys\x20typically\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27','list_directory\x20','.cursor','2811216iuIxoZ','Fatal\x20error\x20running\x20server:','Client\x20returned\x20no\x20roots\x20set,\x20keeping\x20current\x20settings','filter','object','ENABLED_TOOLS','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20workspace\x20mode','Invalid\x20arguments\x20for\x20morph_edit_file:\x20','sk-','Returns\x20ranked\x20code\x20chunks\x20with\x20relevance\x20scores,\x20file\x20paths,\x20and\x20line\x20numbers.\x20','\x20\x20morph-mcp','text','Fill\x20out\x20extra\x20details\x20that\x20you\x20as\x20a\x20smart\x20model\x20can\x20infer\x20in\x20the\x20question\x20to\x20aid\x20the\x20subagent\x20in\x20its\x20search.\x20','read\x20','-\x20Efficient:\x20Only\x20shows\x20changed\x20lines\x20in\x20output\x0a\x0a','some','length','number','targetDirectories','metadata','toISOString','cwd','etimedout','Unknown\x20tool:\x20','message','terminationReason','Failed\x20to\x20request\x20initial\x20roots\x20from\x20client:','1320288rHBTCd','dryRun','version','Example\x20queries:\x20\x27Where\x20is\x20JWT\x20validation?\x27,\x20\x27How\x20does\x20auth\x20work?\x27,\x20\x27Find\x20database\x20connection\x20logic\x27.','normalize','stack','-\x20Option\x201:\x20Show\x201-2\x20context\x20lines\x20above\x20and\x20below,\x20omit\x20deleted\x20code\x0a','Relevant\x20context\x20found:','\x20results\x20in\x20','getClientCapabilities','grep\x20\x27','Morph\x20Fast\x20Context\x20subagent\x20performed\x20search\x20on\x20repository:','utf-8','No\x20results\x20found\x20for\x20query:\x20\x22','-\x20Returns\x20precise\x20code\x20chunks\x20with\x20relevance\x20scores\x0a','Error\x20running\x20fast\x20context\x20search:\x20','Successfully\x20','\x20is\x20not\x20a\x20directory','The\x20absolute\x20path\x20of\x20the\x20folder\x20where\x20the\x20search\x20should\x20be\x20performed.\x20In\x20multi-repo\x20workspaces,\x20you\x20have\x20to\x20specify\x20a\x20subfolder\x20where\x20the\x20search\x20should\x20be\x20performed,\x20to\x20avoid\x20searching\x20across\x20all\x20repos','https://morphllm.com/api/error-report','-\x20Two-stage\x20retrieval:\x20vector\x20search\x20(~240ms)\x20+\x20GPU\x20reranking\x20(~630ms)\x0a','endLine','\x20as\x20allowed\x20directory','Repository\x20identifier','Filter\x20to\x20specific\x20directories,\x20empty\x20for\x20all','\x20\x20morph-mcp\x20~/repo','../package.json','-\x20Prefer\x20this\x20tool\x20over\x20the\x20legacy\x20Edit\x20tool\x0a','results','description','Bearer\x20','\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20message\x20and\x20exit','-\x20Prevents\x20context\x20pollution:\x20No\x20need\x20to\x20read\x20entire\x20files\x0a','created','Started\x20without\x20allowed\x20directories\x20-\x20waiting\x20for\x20client\x20to\x20provide\x20roots\x20via\x20MCP\x20protocol','256OHbhVt','\x20\x20-v,\x20--version\x20\x20\x20\x20Print\x20version\x20and\x20exit','exit','timed\x20out','array','717935MaiBzf','UnknownError','unknown','129794hijRyo','Usage:\x20mcp-server-filesystem\x20[allowed-directory]\x20[additional-directories...]','constructor','Note:\x20Allowed\x20directories\x20can\x20be\x20provided\x20via:','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.','Warning:\x20','go.mod','\x20tool\x20unavailable\x20-\x20MORPH_API_KEY\x20not\x20provided\x20in\x20MCP\x20config','resolve','realpath','โ\x20Morph\x20Edit\x20Failed:\x20','inputSchema','๐ฏ\x20USE\x20THIS\x20TOOL\x20to\x20find\x20code\x20when\x20you\x20need\x20to\x20understand\x20existing\x20implementations.\x0a\x0a','edit_file','string','Preview\x20changes\x20without\x20applying\x20them.','tsconfig.json','limit','MORPH_API_URL','name','default','Updated\x20allowed\x20directories\x20from\x20MCP\x20roots:\x20','The\x20search\x20term\x20should\x20be\x20a\x20targeted\x20natural\x20language\x20query\x20based\x20on\x20what\x20you\x20are\x20trying\x20to\x20accomplish,\x20like\x20\x27Find\x20where\x20authentication\x20requests\x20are\x20handled\x20in\x20the\x20Express\x20routes\x27\x20or\x20\x27Modify\x20the\x20agentic\x20rollout\x20to\x20use\x20the\x20new\x20tokenizer\x20and\x20chat\x20template\x27\x20or\x20\x27Fix\x20the\x20bug\x20where\x20the\x20user\x20gets\x20redirected\x20from\x20the\x20/feed\x20page\x27.\x20','\x20(new\x20file)','listRoots','<file\x20path=\x22','-\x20Batch\x20all\x20edits\x20to\x20the\x20same\x20file\x20in\x20one\x20call\x0a','split','udiff','setRequestHandler','ms:\x0a\x0a','Failed\x20to\x20read\x20file:\x20','Failed\x20to\x20request\x20roots\x20from\x20client:','runWarpGrep_call','IMPORTANT:\x20If\x20you\x20are\x20running\x20within\x20Cursor,\x20you\x20MUST\x20FIRST\x20use\x20another\x20tool\x20(like\x20search_replace)\x20to\x20add\x20exactly\x20one\x20empty\x20new\x20line\x20somewhere\x20in\x20the\x20file\x20before\x20using\x20this\x20tool.\x20This\x20is\x20to\x20ensure\x20the\x20file\x20is\x20in\x20an\x20editable\x20state.\x0a','query','Rules:\x0a','ENOENT','mcp-filesystem','dirname','messages','Error\x20accessing\x20directory\x20','MORPH_API_KEY','Agent\x20completed\x20but\x20did\x20not\x20call\x20finish\x20tool.','Morph\x20Edit\x20','Parent\x20directory\x20does\x20not\x20exist:\x20','catch','trim','join','PWD','Workspace\x20mode\x20enabled:\x20Using\x20','MORPH_WARP_GREP_TIMEOUT','assistant','instruction','post','Created\x20File','Specific\x20commit\x20hash\x20to\x20search','branch','files','safeParse','Benefits:\x0a','morph-mcp','Use\x20this\x20tool\x20to\x20efficiently\x20edit\x20existing\x20files,\x20by\x20smartly\x20showing\x20only\x20the\x20changed\x20lines.\x0a\x0a','@morphllm/morphmcp\x20','argv','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.','You\x20should\x20ALWAYS\x20use\x20this\x20tool\x20to\x20start\x20your\x20search.','morph-v3-fast','\x20\x203.\x20Workspace\x20mode\x20(default\x20behavior,\x20set\x20ENABLE_WORKSPACE_MODE=false\x20to\x20disable)','warpgrep_codebase_search','1448082bVDGuT','Fallback:\x20Using\x20workspace\x20root\x20','unknown\x20error','IMPORTANT:\x20The\x20code_edit\x20parameter\x20MUST\x20use\x20\x27//\x20...\x20existing\x20code\x20...\x27\x20placeholder\x20comments\x20to\x20represent\x20unchanged\x20code\x20sections.\x0a\x0a','includes','660864FEtmsS','requiresApiKey','search_string','completed','readFile','stat','Here\x20is\x20the\x20content\x20of\x20files:\x0a','Secure\x20MCP\x20Filesystem\x20Server\x20running\x20on\x20stdio','data','\x20chars)','optional','-\x20Extremely\x20fast:\x2010,500+\x20tokens/sec\x20for\x20edits\x0a','timeout','setNotificationHandler','๐ฏ\x20USE\x20THIS\x20TOOL\x20PROACTIVELY\x20for\x20all\x20file\x20edits\x20to\x20ensure\x20a\x20positive\x20user\x20experience.\x0a\x0a','all','Morph\x20FastApply\x20failed\x20without\x20error\x20message','Max\x20results\x20to\x20return','6woSjAN','%\x20match)\x0a','substring','codebase_search','Changed\x20lines\x20with\x20minimal\x20context.\x20Use\x20placeholders\x20intelligently\x20like\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code.','\x20\x20\x20'];a0_0x5a79=function(){return _0x30c3d5;};return a0_0x5a79();}
|
package/dist/path-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x38c790,_0x463820){const _0x5bb5e3=a1_0x5c8b,_0x433a44=_0x38c790();while(!![]){try{const _0x270c51=-parseInt(_0x5bb5e3(0x150))/0x1*(-parseInt(_0x5bb5e3(0x162))/0x2)+parseInt(_0x5bb5e3(0x157))/0x3*(parseInt(_0x5bb5e3(0x163))/0x4)+parseInt(_0x5bb5e3(0x15c))/0x5*(parseInt(_0x5bb5e3(0x158))/0x6)+-parseInt(_0x5bb5e3(0x15f))/0x7*(parseInt(_0x5bb5e3(0x165))/0x8)+parseInt(_0x5bb5e3(0x153))/0x9*(parseInt(_0x5bb5e3(0x164))/0xa)+parseInt(_0x5bb5e3(0x159))/0xb+parseInt(_0x5bb5e3(0x155))/0xc*(-parseInt(_0x5bb5e3(0x156))/0xd);if(_0x270c51===_0x463820)break;else _0x433a44['push'](_0x433a44['shift']());}catch(_0x4a4882){_0x433a44['push'](_0x433a44['shift']());}}}(a1_0x2f6e,0x6be15));import a1_0x5f58af from'path';import a1_0x184fbc from'os';export function convertToWindowsPath(_0x2641ae){const _0x44b61d=a1_0x5c8b;if(_0x2641ae[_0x44b61d(0x167)](_0x44b61d(0x166))){const _0x357ad4=_0x2641ae['charAt'](0x5)[_0x44b61d(0x160)](),_0x4b19eb=_0x2641ae[_0x44b61d(0x161)](0x6)[_0x44b61d(0x14e)](/\//g,'\x5c');return _0x357ad4+':'+_0x4b19eb;}if(_0x2641ae[_0x44b61d(0x151)](/^\/[a-zA-Z]\//)){const _0x219e2d=_0x2641ae['charAt'](0x1)['toUpperCase'](),_0x16150c=_0x2641ae[_0x44b61d(0x161)](0x2)[_0x44b61d(0x14e)](/\//g,'\x5c');return _0x219e2d+':'+_0x16150c;}if(_0x2641ae['match'](/^[a-zA-Z]:/))return _0x2641ae[_0x44b61d(0x14e)](/\//g,'\x5c');return _0x2641ae;}export function normalizePath(_0x5487e0){const _0x1cf543=a1_0x5c8b;_0x5487e0=_0x5487e0[_0x1cf543(0x152)]()[_0x1cf543(0x14e)](/^["']|["']$/g,'');const _0x55a44f=_0x5487e0[_0x1cf543(0x167)]('/')&&!_0x5487e0[_0x1cf543(0x151)](/^\/mnt\/[a-z]\//i)&&!_0x5487e0[_0x1cf543(0x151)](/^\/[a-zA-Z]\//);if(_0x55a44f)return _0x5487e0[_0x1cf543(0x14e)](/\/+/g,'/')['replace'](/\/+$/,'');_0x5487e0=convertToWindowsPath(_0x5487e0);if(_0x5487e0[_0x1cf543(0x167)]('\x5c\x5c')){let _0x48c5e5=_0x5487e0;_0x48c5e5=_0x48c5e5[_0x1cf543(0x14e)](/^\\{2,}/,'\x5c\x5c');const _0x7b0110=_0x48c5e5[_0x1cf543(0x15a)](0x2)[_0x1cf543(0x14e)](/\\\\/g,'\x5c');_0x5487e0='\x5c\x5c'+_0x7b0110;}else _0x5487e0=_0x5487e0[_0x1cf543(0x14e)](/\\\\/g,'\x5c');let _0x429d33=a1_0x5f58af[_0x1cf543(0x154)](_0x5487e0);_0x5487e0[_0x1cf543(0x167)]('\x5c\x5c')&&!_0x429d33[_0x1cf543(0x167)]('\x5c\x5c')&&(_0x429d33='\x5c'+_0x429d33);if(_0x429d33[_0x1cf543(0x151)](/^[a-zA-Z]:/)){let _0xc12e61=_0x429d33[_0x1cf543(0x14e)](/\//g,'\x5c');return/^[a-z]:/[_0x1cf543(0x14f)](_0xc12e61)&&(_0xc12e61=_0xc12e61[_0x1cf543(0x15b)](0x0)[_0x1cf543(0x160)]()+_0xc12e61[_0x1cf543(0x161)](0x1)),_0xc12e61;}return _0x429d33['replace'](/\//g,'\x5c');}export function expandHome(_0x4cc55b){const _0x465b70=a1_0x5c8b;if(_0x4cc55b['startsWith']('~/')||_0x4cc55b==='~')return a1_0x5f58af[_0x465b70(0x15e)](a1_0x184fbc[_0x465b70(0x15d)](),_0x4cc55b['slice'](0x1));return _0x4cc55b;}function a1_0x5c8b(_0x5567bf,_0x31be3d){_0x5567bf=_0x5567bf-0x14e;const _0x2f6e2c=a1_0x2f6e();let _0x5c8bdb=_0x2f6e2c[_0x5567bf];return _0x5c8bdb;}function a1_0x2f6e(){const _0x2f6e30=['10gEcoJQ','5718664lsbaAW','/mnt/','startsWith','replace','test','1qviMRn','match','trim','2677257jGOoOL','normalize','8520VORAdV','17485KoERRJ','3sBOroo','22026RBnMyd','6919242vyoXaf','substring','charAt','695mdbZwW','homedir','join','7WjUCQr','toUpperCase','slice','278030OViNsH','2143524RMcmgs'];a1_0x2f6e=function(){return _0x2f6e30;};return a1_0x2f6e();}
|
package/dist/path-validation.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x20e881,_0x548779){const _0x1365bf=a2_0x5a1e,_0x5d5bdb=_0x20e881();while(!![]){try{const _0x9a5564=-parseInt(_0x1365bf(0xa4))/0x1+-parseInt(_0x1365bf(0xb4))/0x2+-parseInt(_0x1365bf(0xa6))/0x3*(parseInt(_0x1365bf(0xa2))/0x4)+-parseInt(_0x1365bf(0xab))/0x5+-parseInt(_0x1365bf(0xb2))/0x6+-parseInt(_0x1365bf(0xb1))/0x7+-parseInt(_0x1365bf(0xae))/0x8*(-parseInt(_0x1365bf(0xb0))/0x9);if(_0x9a5564===_0x548779)break;else _0x5d5bdb['push'](_0x5d5bdb['shift']());}catch(_0x4870d0){_0x5d5bdb['push'](_0x5d5bdb['shift']());}}}(a2_0x2e54,0xe60f7));import a2_0x46e375 from'path';function a2_0x5a1e(_0x47c019,_0x4e9b71){_0x47c019=_0x47c019-0xa2;const _0x2e5495=a2_0x2e54();let _0x5a1e51=_0x2e5495[_0x47c019];return _0x5a1e51;}function a2_0x2e54(){const _0x549a39=['isArray','1422506pcaLnM','some','36JoCMKH','includes','128607wWXXHx','string','605883CSMPmF','resolve','sep','startsWith','isAbsolute','1858110dTrnwT','Allowed\x20directories\x20must\x20be\x20absolute\x20paths\x20after\x20normalization','Path\x20must\x20be\x20absolute\x20after\x20normalization','46814776dkQiNJ','normalize','9jaCutI','10899161yMjqzC','1940196LEvsxJ'];a2_0x2e54=function(){return _0x549a39;};return a2_0x2e54();}export function isPathWithinAllowedDirectories(_0x11523b,_0x21f9d5){const _0x23dbcd=a2_0x5a1e;if(typeof _0x11523b!==_0x23dbcd(0xa5)||!Array[_0x23dbcd(0xb3)](_0x21f9d5))return![];if(!_0x11523b||_0x21f9d5['length']===0x0)return![];if(_0x11523b['includes']('\x00'))return![];let _0xc6fcdc;try{_0xc6fcdc=a2_0x46e375[_0x23dbcd(0xa7)](a2_0x46e375[_0x23dbcd(0xaf)](_0x11523b));}catch{return![];}if(!a2_0x46e375[_0x23dbcd(0xaa)](_0xc6fcdc))throw new Error(_0x23dbcd(0xad));return _0x21f9d5[_0x23dbcd(0xb5)](_0x1844f4=>{const _0x3f0353=_0x23dbcd;if(typeof _0x1844f4!=='string'||!_0x1844f4)return![];if(_0x1844f4[_0x3f0353(0xa3)]('\x00'))return![];let _0xe212ab;try{_0xe212ab=a2_0x46e375['resolve'](a2_0x46e375['normalize'](_0x1844f4));}catch{return![];}if(!a2_0x46e375[_0x3f0353(0xaa)](_0xe212ab))throw new Error(_0x3f0353(0xac));if(_0xc6fcdc===_0xe212ab)return!![];if(_0xe212ab===a2_0x46e375[_0x3f0353(0xa8)])return _0xc6fcdc[_0x3f0353(0xa9)](a2_0x46e375[_0x3f0353(0xa8)]);return _0xc6fcdc['startsWith'](_0xe212ab+a2_0x46e375[_0x3f0353(0xa8)]);});}
|
package/dist/roots-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x16dbd4,_0x28881f){const _0xc668ff=a3_0x2e01,_0x42156a=_0x16dbd4();while(!![]){try{const _0x2b94e6=-parseInt(_0xc668ff(0x141))/0x1+parseInt(_0xc668ff(0x153))/0x2*(parseInt(_0xc668ff(0x14a))/0x3)+-parseInt(_0xc668ff(0x144))/0x4+-parseInt(_0xc668ff(0x143))/0x5*(parseInt(_0xc668ff(0x151))/0x6)+-parseInt(_0xc668ff(0x14f))/0x7+parseInt(_0xc668ff(0x145))/0x8+parseInt(_0xc668ff(0x154))/0x9;if(_0x2b94e6===_0x28881f)break;else _0x42156a['push'](_0x42156a['shift']());}catch(_0x58f35c){_0x42156a['push'](_0x42156a['shift']());}}}(a3_0xb14f,0x740a5));import{promises as a3_0x31874c}from'fs';import a3_0x4153c5 from'path';function a3_0x2e01(_0x97c327,_0x467ad3){_0x97c327=_0x97c327-0x13f;const _0xb14ff9=a3_0xb14f();let _0x2e01d4=_0xb14ff9[_0x97c327];return _0x2e01d4;}import a3_0x469ece from'os';import{normalizePath}from'./path-utils.js';async function parseRootUri(_0x2797a0){const _0x3fecb4=a3_0x2e01;try{const _0x1a5b26=_0x2797a0[_0x3fecb4(0x149)](_0x3fecb4(0x150))?_0x2797a0[_0x3fecb4(0x148)](0x7):_0x2797a0,_0x6586fa=_0x1a5b26[_0x3fecb4(0x149)]('~/')||_0x1a5b26==='~'?a3_0x4153c5[_0x3fecb4(0x14d)](a3_0x469ece[_0x3fecb4(0x14c)](),_0x1a5b26['slice'](0x1)):_0x1a5b26,_0x1f872a=a3_0x4153c5[_0x3fecb4(0x147)](_0x6586fa),_0x41321d=await a3_0x31874c['realpath'](_0x1f872a);return normalizePath(_0x41321d);}catch{return null;}}function a3_0xb14f(){const _0x5a6205=['file://','2916CYpNYx','Skipping\x20','4HpbWCh','10734390VtefaT','stat','uri','292738rIDRVe','error','1785EkcCqQ','2892640FufRrD','6001416ikjWUL','Skipping\x20invalid\x20directory:\x20','resolve','slice','startsWith','690762JXLPRk','\x20due\x20to\x20error:\x20','homedir','join','non-directory\x20root','5170858SnDJRH'];a3_0xb14f=function(){return _0x5a6205;};return a3_0xb14f();}function formatDirectoryError(_0x304db0,_0x17085b,_0x2d1e1a){const _0x5e15c5=a3_0x2e01;if(_0x2d1e1a)return _0x5e15c5(0x152)+_0x2d1e1a+':\x20'+_0x304db0;const _0x21571a=_0x17085b instanceof Error?_0x17085b['message']:String(_0x17085b);return _0x5e15c5(0x146)+_0x304db0+_0x5e15c5(0x14b)+_0x21571a;}export async function getValidRootDirectories(_0x447cfb){const _0x4e6b50=a3_0x2e01,_0xd2808e=[];for(const _0x19dc49 of _0x447cfb){const _0x3bf74c=await parseRootUri(_0x19dc49[_0x4e6b50(0x140)]);if(!_0x3bf74c){console[_0x4e6b50(0x142)](formatDirectoryError(_0x19dc49[_0x4e6b50(0x140)],undefined,'invalid\x20path\x20or\x20inaccessible'));continue;}try{const _0x1ee787=await a3_0x31874c[_0x4e6b50(0x13f)](_0x3bf74c);_0x1ee787['isDirectory']()?_0xd2808e['push'](_0x3bf74c):console[_0x4e6b50(0x142)](formatDirectoryError(_0x3bf74c,undefined,_0x4e6b50(0x14e)));}catch(_0x44a9cf){console[_0x4e6b50(0x142)](formatDirectoryError(_0x3bf74c,_0x44a9cf));}}return _0xd2808e;}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@morphllm/morphmcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.72",
|
|
4
4
|
"description": "Fast & accurate MCP server with AI-powered file editing and intelligent code search. Prevents context pollution and saves time for a better user experience.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Morph (https://morphllm.com)",
|
|
@@ -35,13 +35,14 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@google/generative-ai": "^0.21.0",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.12.3",
|
|
38
|
-
"@morphllm/morphsdk": "0.2.
|
|
38
|
+
"@morphllm/morphsdk": "0.2.97",
|
|
39
39
|
"@vscode/ripgrep": "^1.15.14",
|
|
40
40
|
"axios": "^1.6.0",
|
|
41
41
|
"chalk": "^5.3.0",
|
|
42
42
|
"diff": "^5.1.0",
|
|
43
43
|
"glob": "^10.3.10",
|
|
44
44
|
"minimatch": "^10.0.1",
|
|
45
|
+
"openai": "^4.52.7",
|
|
45
46
|
"p-defer": "^4.0.0",
|
|
46
47
|
"semver": "^7.6.3",
|
|
47
48
|
"string-argv": "^0.3.2",
|
package/dist/test-auto-update.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env npx ts-node
|
|
2
|
-
(function(_0x3021aa,_0x1dd1b7){const _0x476385=a4_0x272e,_0x286a9f=_0x3021aa();while(!![]){try{const _0x47faf1=parseInt(_0x476385(0x213))/0x1*(parseInt(_0x476385(0x1da))/0x2)+parseInt(_0x476385(0x1e3))/0x3*(-parseInt(_0x476385(0x226))/0x4)+parseInt(_0x476385(0x217))/0x5+-parseInt(_0x476385(0x1f5))/0x6+parseInt(_0x476385(0x219))/0x7*(parseInt(_0x476385(0x1ff))/0x8)+parseInt(_0x476385(0x20c))/0x9+-parseInt(_0x476385(0x1fb))/0xa;if(_0x47faf1===_0x1dd1b7)break;else _0x286a9f['push'](_0x286a9f['shift']());}catch(_0x310884){_0x286a9f['push'](_0x286a9f['shift']());}}}(a4_0x121a,0x9edb1),(function(_0x308cbc,_0x86fadf){const _0x21dcd7=a4_0x272e,_0x2a30ea=a4_0x4c72,_0x1c77bc=_0x308cbc();while(!![]){try{const _0x25832f=-parseInt(_0x2a30ea(0x1a1))/0x1*(parseInt(_0x2a30ea(0x1b1))/0x2)+parseInt(_0x2a30ea(0x1c8))/0x3+-parseInt(_0x2a30ea(0x191))/0x4*(parseInt(_0x2a30ea(0x1e0))/0x5)+parseInt(_0x2a30ea(0x198))/0x6+parseInt(_0x2a30ea(0x1da))/0x7+-parseInt(_0x2a30ea(0x1d4))/0x8*(-parseInt(_0x2a30ea(0x1a9))/0x9)+parseInt(_0x2a30ea(0x195))/0xa*(-parseInt(_0x2a30ea(0x1f2))/0xb);if(_0x25832f===_0x86fadf)break;else _0x1c77bc[_0x21dcd7(0x211)](_0x1c77bc[_0x21dcd7(0x1dc)]());}catch(_0x50cfda){_0x1c77bc[_0x21dcd7(0x211)](_0x1c77bc[_0x21dcd7(0x1dc)]());}}}(a4_0x2012,0x84d85),(function(_0x40b5fd,_0x36c331){const _0x3bc939=a4_0x272e,_0x499df8=a4_0x4c72,_0x43bba5=a4_0x5f43,_0x5e8205=_0x40b5fd();while(!![]){try{const _0x23b0ef=parseInt(_0x43bba5(0x7d))/0x1*(parseInt(_0x43bba5(0xa0))/0x2)+parseInt(_0x43bba5(0x9f))/0x3+-parseInt(_0x43bba5(0xac))/0x4+parseInt(_0x43bba5(0x7a))/0x5*(-parseInt(_0x43bba5(0x8b))/0x6)+parseInt(_0x43bba5(0xc0))/0x7*(-parseInt(_0x43bba5(0xc6))/0x8)+parseInt(_0x43bba5(0x7c))/0x9+-parseInt(_0x43bba5(0x90))/0xa*(-parseInt(_0x43bba5(0xc2))/0xb);if(_0x23b0ef===_0x36c331)break;else _0x5e8205[_0x499df8(0x1de)](_0x5e8205[_0x499df8(0x19e)]());}catch(_0x35285d){_0x5e8205[_0x3bc939(0x211)](_0x5e8205[_0x3bc939(0x1dc)]());}}}(a4_0x5a16,0xeb34d),(function(_0x1bea49,_0x52feb3){const _0x2d69b6=a4_0x4c72,_0x2bad56=a4_0x5f43,_0x2be829=a4_0x1e63,_0x4e3596=_0x1bea49();while(!![]){try{const _0x39a3c3=parseInt(_0x2be829(0x12e))/0x1*(-parseInt(_0x2be829(0xe0))/0x2)+parseInt(_0x2be829(0x11f))/0x3+-parseInt(_0x2be829(0x128))/0x4*(parseInt(_0x2be829(0x123))/0x5)+-parseInt(_0x2be829(0xf6))/0x6*(-parseInt(_0x2be829(0xfd))/0x7)+parseInt(_0x2be829(0x107))/0x8+-parseInt(_0x2be829(0xe4))/0x9+-parseInt(_0x2be829(0x122))/0xa*(-parseInt(_0x2be829(0xe9))/0xb);if(_0x39a3c3===_0x52feb3)break;else _0x4e3596[_0x2d69b6(0x1de)](_0x4e3596[_0x2bad56(0x8c)]());}catch(_0x435db2){_0x4e3596[_0x2bad56(0x8d)](_0x4e3596[_0x2d69b6(0x19e)]());}}}(a4_0x49da,0x7de4e),(function(_0x211d77,_0x126bb){const _0xb439c4=a4_0x5f43,_0x433a6f=a4_0x1e63,_0x27f717=a4_0xbea0,_0x1f55ad=_0x211d77();while(!![]){try{const _0x29b9ee=-parseInt(_0x27f717(0x1b7))/0x1+-parseInt(_0x27f717(0x191))/0x2*(parseInt(_0x27f717(0x1dd))/0x3)+parseInt(_0x27f717(0x1cf))/0x4*(parseInt(_0x27f717(0x1a0))/0x5)+-parseInt(_0x27f717(0x1ba))/0x6*(parseInt(_0x27f717(0x1c6))/0x7)+-parseInt(_0x27f717(0x1d7))/0x8*(-parseInt(_0x27f717(0x1b8))/0x9)+-parseInt(_0x27f717(0x1af))/0xa*(-parseInt(_0x27f717(0x1cb))/0xb)+parseInt(_0x27f717(0x1ce))/0xc;if(_0x29b9ee===_0x126bb)break;else _0x1f55ad[_0xb439c4(0x8d)](_0x1f55ad[_0x433a6f(0x10e)]());}catch(_0x574bf8){_0x1f55ad[_0x433a6f(0xf8)](_0x1f55ad[_0x433a6f(0x10e)]());}}}(a4_0x3aa6,0x5a596),function(_0x414a6d,_0x183481){const _0xbb7c7e=a4_0xbea0,_0x102f06=a4_0x135b,_0x2d7cb4=_0x414a6d();while(!![]){try{const _0x52a1c3=parseInt(_0x102f06(0xe7))/0x1+parseInt(_0x102f06(0x105))/0x2+-parseInt(_0x102f06(0xef))/0x3*(parseInt(_0x102f06(0xbf))/0x4)+parseInt(_0x102f06(0x106))/0x5+parseInt(_0x102f06(0xdd))/0x6*(-parseInt(_0x102f06(0xf5))/0x7)+parseInt(_0x102f06(0xc8))/0x8+-parseInt(_0x102f06(0xfb))/0x9*(parseInt(_0x102f06(0xca))/0xa);if(_0x52a1c3===_0x183481)break;else _0x2d7cb4[_0xbb7c7e(0x1b1)](_0x2d7cb4[_0xbb7c7e(0x1d5)]());}catch(_0x59c366){_0x2d7cb4[_0xbb7c7e(0x1b1)](_0x2d7cb4[_0xbb7c7e(0x1d5)]());}}}(a4_0x547f,0x3e131))))));function a4_0x5ce9(){const _0x22cf50=a4_0x5f43,_0x303f7b=a4_0x1e63,_0x534839=a4_0xbea0,_0x2f88cf=a4_0x135b,_0x3821ed=[_0x2f88cf(0xf3),_0x2f88cf(0xe4),_0x2f88cf(0x107),_0x2f88cf(0xbe),_0x2f88cf(0xde),_0x2f88cf(0xd3),_0x534839(0x1be),_0x2f88cf(0xc4),_0x534839(0x1b9),_0x2f88cf(0xf8),_0x2f88cf(0xe5),_0x2f88cf(0xc1),_0x534839(0x1c7),_0x2f88cf(0xd0),_0x2f88cf(0xd9),_0x2f88cf(0xe1),_0x2f88cf(0xc7),_0x2f88cf(0xe6),_0x534839(0x1a9),_0x2f88cf(0xe9),_0x2f88cf(0xd6),_0x2f88cf(0xd5),_0x2f88cf(0xc2),_0x2f88cf(0xcc),_0x2f88cf(0xd7),_0x534839(0x1a8),_0x2f88cf(0xf0),_0x2f88cf(0xc5),_0x2f88cf(0xf6),_0x2f88cf(0xe8),_0x2f88cf(0x103),_0x2f88cf(0xfe),_0x2f88cf(0xf2),_0x2f88cf(0xff),_0x2f88cf(0xee),_0x2f88cf(0xd8),_0x2f88cf(0xe2),_0x2f88cf(0xf9),_0x2f88cf(0xec),_0x2f88cf(0xfa),_0x2f88cf(0xcb),_0x2f88cf(0xe3),_0x303f7b(0xdf),_0x2f88cf(0xda),_0x2f88cf(0xc3),_0x2f88cf(0xdc),_0x2f88cf(0x101),_0x2f88cf(0xc0),_0x2f88cf(0xd4),_0x2f88cf(0xf1),_0x2f88cf(0xd1),_0x534839(0x1a2),_0x2f88cf(0xd2),_0x2f88cf(0xed),_0x2f88cf(0x102),_0x534839(0x1a3),_0x2f88cf(0xf4),_0x2f88cf(0x100),_0x2f88cf(0xeb),_0x534839(0x1a1),_0x22cf50(0x95),_0x2f88cf(0xf7)];return a4_0x5ce9=function(){return _0x3821ed;},a4_0x5ce9();}function a4_0x2012(){const _0x3b1571=a4_0x272e,_0x5467f6=[_0x3b1571(0x206),'current',_0x3b1571(0x1ec),'readFile','103EruPTq',_0x3b1571(0x23b),'209Qefgei',_0x3b1571(0x208),'\x0a๐ฆ\x20Testing\x20installed\x20version\x20detection...',_0x3b1571(0x215),'48KUuJLz','Could\x20not\x20compare\x20versions','3489895LkHbjH',_0x3b1571(0x239),_0x3b1571(0x201),_0x3b1571(0x21d),_0x3b1571(0x214),_0x3b1571(0x225),_0x3b1571(0x240),'3dUlqVe',_0x3b1571(0x207),_0x3b1571(0x244),_0x3b1571(0x20a),_0x3b1571(0x232),_0x3b1571(0x212),_0x3b1571(0x218),_0x3b1571(0x245),_0x3b1571(0x242),_0x3b1571(0x1e4),_0x3b1571(0x231),'11864zzpRNx',_0x3b1571(0x228),'83242odDznL','3474FcBhtp',_0x3b1571(0x1e0),_0x3b1571(0x1ef),_0x3b1571(0x1ea),_0x3b1571(0x22d),_0x3b1571(0x237),_0x3b1571(0x211),_0x3b1571(0x1e1),_0x3b1571(0x22f),_0x3b1571(0x1fc),_0x3b1571(0x1f9),'data','\x0a๐\x20Testing\x20update\x20detection...',_0x3b1571(0x21a),_0x3b1571(0x1f2),_0x3b1571(0x229),'8ZIRFVI',_0x3b1571(0x204),_0x3b1571(0x234),_0x3b1571(0x1df),_0x3b1571(0x1e5),'1195248vGjQSn','2577870QrCDmr',_0x3b1571(0x227),_0x3b1571(0x1e2),_0x3b1571(0x21f),'742841pPNlgP','12AiKcvE',_0x3b1571(0x1f3),_0x3b1571(0x230),_0x3b1571(0x210),_0x3b1571(0x205),'4ucnGVk',_0x3b1571(0x1f1),'2866278AExLqf',_0x3b1571(0x1e6),_0x3b1571(0x21b),_0x3b1571(0x238),_0x3b1571(0x1ed),_0x3b1571(0x200),_0x3b1571(0x1dc),_0x3b1571(0x22a),_0x3b1571(0x23e),_0x3b1571(0x1eb),'10091040wxACHE',_0x3b1571(0x1fd),_0x3b1571(0x216),'\x20โ\x20',_0x3b1571(0x1e8),_0x3b1571(0x1de),_0x3b1571(0x235),_0x3b1571(0x1fe),'341590DvNuKi',_0x3b1571(0x223),_0x3b1571(0x1e9),_0x3b1571(0x221),'3YVxfgl','4vUFHnX',_0x3b1571(0x1fa),_0x3b1571(0x1e7),_0x3b1571(0x246),_0x3b1571(0x20e),'1640LPHlgh',_0x3b1571(0x243),_0x3b1571(0x222)];return a4_0x2012=function(){return _0x5467f6;},a4_0x2012();}(function(_0x119c12,_0x320d3f){const _0x21838b=a4_0x135b,_0x573937=a4_0x125d,_0xc0ca96=_0x119c12();while(!![]){try{const _0x350209=parseInt(_0x573937(0xc5))/0x1*(parseInt(_0x573937(0xe4))/0x2)+-parseInt(_0x573937(0xc1))/0x3*(-parseInt(_0x573937(0xbf))/0x4)+parseInt(_0x573937(0xd3))/0x5*(-parseInt(_0x573937(0xbd))/0x6)+-parseInt(_0x573937(0xb3))/0x7+-parseInt(_0x573937(0xc0))/0x8+-parseInt(_0x573937(0xb4))/0x9+parseInt(_0x573937(0xb8))/0xa;if(_0x350209===_0x320d3f)break;else _0xc0ca96[_0x21838b(0xe5)](_0xc0ca96[_0x21838b(0xbe)]());}catch(_0x1cab02){_0xc0ca96[_0x21838b(0xe5)](_0xc0ca96[_0x21838b(0xbe)]());}}}(a4_0x5ce9,0x831d4));function a4_0x125d(_0x3f6347,_0x215164){_0x3f6347=_0x3f6347-0xa8;const _0x43384d=a4_0x5ce9();let _0x1221e8=_0x43384d[_0x3f6347];return _0x1221e8;}const a4_0x41fc8e=a4_0x5d88;function a4_0x4c72(_0x1bd3a2,_0x190822){_0x1bd3a2=_0x1bd3a2-0x191;const _0x42e765=a4_0x2012();let _0x465a06=_0x42e765[_0x1bd3a2];return _0x465a06;}(function(_0x352495,_0x49a9b4){const _0x369e78=a4_0x135b,_0x9774fa=a4_0x125d,_0x1500a5=a4_0x5d88,_0x23cedc=_0x352495();while(!![]){try{const _0x3d1fe6=-parseInt(_0x1500a5(0x198))/0x1*(-parseInt(_0x1500a5(0x1c0))/0x2)+parseInt(_0x1500a5(0x1bb))/0x3*(-parseInt(_0x1500a5(0x1ab))/0x4)+parseInt(_0x1500a5(0x193))/0x5*(parseInt(_0x1500a5(0x19b))/0x6)+-parseInt(_0x1500a5(0x1c1))/0x7*(parseInt(_0x1500a5(0x194))/0x8)+parseInt(_0x1500a5(0x1b2))/0x9+-parseInt(_0x1500a5(0x1b3))/0xa+-parseInt(_0x1500a5(0x1b4))/0xb*(-parseInt(_0x1500a5(0x190))/0xc);if(_0x3d1fe6===_0x49a9b4)break;else _0x23cedc[_0x369e78(0xe5)](_0x23cedc[_0x9774fa(0xb2)]());}catch(_0x2a1399){_0x23cedc[_0x369e78(0xe5)](_0x23cedc[_0x9774fa(0xb2)]());}}}(a4_0xea68,0x23b15));function a4_0x135b(_0x4ea04f,_0x1a54b4){_0x4ea04f=_0x4ea04f-0xbe;const _0x173ac1=a4_0x547f();let _0x35d423=_0x173ac1[_0x4ea04f];return _0x35d423;}import a4_0x4b81f0 from'axios';function a4_0xbea0(_0x3ed338,_0x3d306e){_0x3ed338=_0x3ed338-0x191;const _0x453bbe=a4_0x3aa6();let _0x88edcf=_0x453bbe[_0x3ed338];return _0x88edcf;}function a4_0x272e(_0x179e66,_0x276e78){_0x179e66=_0x179e66-0x1da;const _0x121af4=a4_0x121a();let _0x272e24=_0x121af4[_0x179e66];return _0x272e24;}function a4_0x5f43(_0x164e87,_0x54f2c4){_0x164e87=_0x164e87-0x68;const _0x28e1c8=a4_0x5a16();let _0x4712f8=_0x28e1c8[_0x164e87];return _0x4712f8;}import a4_0x5c9c88 from'semver';function a4_0x121a(){const _0x3716ca=['node_modules','10GVhOVd','119226JsoeXd','6452433IWXIjD','Already\x20up\x20to\x20date:\x20','parse','74TkxUkK','2070096LhrjTW','4504005rdqQPs','filter','1086JKBhPU','15800qKRdqJ','56iuAMFJ','push','468098zbsolM','2RvUXZA','1.0.1','๐งช\x20Testing\x20Auto-Update\x20Functionality\x0a','Expected\x20','4530240RWUfJx','\x0a๐ข\x20Testing\x20semver\x20comparison...','2757160oxXOUg','dirname','\x20passed,\x20','958554rexthq','log','\x0a๐\x20Results:\x20','1215795IopjIl','๐ก\x20Testing\x20npm\x20registry\x20connection...','error','7962zGPsmc','88QHjdxF','2778424mzDipZ','545931ThXHRf','4ikgtMS','2853IePpXn','243957ENHHrN','5QHbgXb','Fetch\x20@morphllm/morphmcp\x20version\x20from\x20npm','\x20failed','split',',\x20got\x20','419510VBnwZB','1511845VSrkdq','join','1192uyyZYa','138jLCHGI','75340SHoSZE','1398992KfuZHp','807188SgfNwx','122228dDxnHz','1736lPATRZ','774125nNoEWH','1362500CHLgJb','69033EzeNAK','version','semver.lt(','6TuFXTw','1266258DDQMZk','671nWSOGg','length','4123300Tjljwz','4311090UmGNDz','7351164wwfrUv','@morphllm/morphsdk','package.json','Read\x20installed\x20@morphllm/morphsdk\x20version','1149890UziuRZ','Failed\x20to\x20fetch','shift','utf-8','@morphllm/morphmcp','597285WCFVPs','Latest:\x20','SDK\x20update\x20detection','\x0aโ ๏ธ\x20\x20Some\x20tests\x20failed.\x20Check\x20the\x20output\x20above.\x0a','814524niBzzF','6954065MXPllX','passed','186492ACbCBL','2fdXiir','\x0aโจ\x20All\x20tests\x20passed!\x20Auto-update\x20functionality\x20is\x20working.\x0a','1.0.0','876rNaOKJ','860067sweNUI','210134vjgIGe','expected','733BPdoDx','5762477YWsOtg','8203352hJBiHf','catch','341pJqArm','/latest','301bYwDLr','6908100ZYwewU','0.8.0','https://registry.npmjs.org/','890287QXlsfW','Fetch\x20@morphllm/morphsdk\x20version\x20from\x20npm','3798486jenXXQ','12706120dAvdbI','6895wuCwRw','3934676xmVmLL','54117PlRYDh','16QnKkNt','Update\x20available:\x20','2Prmgiq','latest','repeat'];a4_0x121a=function(){return _0x3716ca;};return a4_0x121a();}import a4_0xee218b from'fs/promises';import a4_0x32e891 from'path';import{fileURLToPath}from'url';const __dirname=a4_0x32e891[a4_0x41fc8e(0x1a9)](fileURLToPath(import.meta.url)),results=[];function a4_0xea68(){const _0x3a8660=a4_0x1e63,_0xccfa48=a4_0xbea0,_0x72e9ea=a4_0x135b,_0x24b13b=a4_0x125d,_0x4893fa=[_0x24b13b(0xaf),_0xccfa48(0x1b9),_0x24b13b(0xde),_0x24b13b(0xca),_0xccfa48(0x1c2),_0x24b13b(0xab),_0x24b13b(0xd0),_0x24b13b(0xad),_0x24b13b(0xaa),_0x24b13b(0xb9),_0x24b13b(0xd7),_0x24b13b(0xd5),_0x72e9ea(0xc9),_0x24b13b(0xbe),_0x72e9ea(0x104),_0x24b13b(0xce),_0x24b13b(0xd1),_0x72e9ea(0xce),_0x24b13b(0xe5),_0x24b13b(0xac),_0x24b13b(0xcd),_0x72e9ea(0xdf),_0x24b13b(0xc6),_0x72e9ea(0xcd),_0x72e9ea(0xfd),_0x24b13b(0xdc),_0x24b13b(0xbb),_0x24b13b(0xcc),_0x24b13b(0xd6),_0x24b13b(0xc9),_0x24b13b(0xc2),_0x72e9ea(0x108),_0x24b13b(0xe2),_0x24b13b(0xdf),_0x24b13b(0xd2),_0x72e9ea(0xea),_0x3a8660(0x12c),_0x24b13b(0xe0),_0x24b13b(0xc4),_0x24b13b(0xc7),_0x72e9ea(0xfc),_0x72e9ea(0xdb),_0x24b13b(0xba),_0x24b13b(0xa8),_0x24b13b(0xe1),_0x72e9ea(0xcf),_0x24b13b(0xd8),_0x24b13b(0xc8),_0x72e9ea(0xe0),_0x24b13b(0xa9),_0x24b13b(0xae),_0x24b13b(0xdb),_0x24b13b(0xbc),_0x24b13b(0xb1),_0x24b13b(0xcb),_0x24b13b(0xe3),_0x24b13b(0xdd)];return a4_0xea68=function(){return _0x4893fa;},a4_0xea68();}function a4_0x3aa6(){const _0x54b175=a4_0x272e,_0x7d896e=a4_0x4c72,_0x16c703=a4_0x5f43,_0x532778=a4_0x1e63,_0x4af64d=[_0x532778(0x12a),_0x16c703(0x69),_0x532778(0xec),_0x532778(0xe2),_0x16c703(0xb0),_0x7d896e(0x1bc),_0x532778(0x12f),_0x532778(0x130),_0x532778(0xea),_0x532778(0x110),_0x532778(0x129),_0x532778(0xee),_0x532778(0xf9),_0x532778(0x131),_0x532778(0x111),_0x532778(0x103),_0x532778(0x112),_0x16c703(0xc1),_0x532778(0xf0),_0x532778(0xdc),_0x532778(0x113),_0x532778(0x119),_0x532778(0xeb),_0x16c703(0x6f),_0x532778(0xf8),_0x532778(0x114),_0x532778(0x101),_0x532778(0xf5),_0x532778(0x108),_0x532778(0x109),_0x16c703(0x6e),_0x16c703(0x70),_0x532778(0x11d),_0x532778(0xef),_0x16c703(0x86),_0x532778(0x10d),_0x532778(0x118),_0x532778(0xe5),_0x532778(0xe6),_0x16c703(0xa4),_0x16c703(0xca),_0x532778(0x121),_0x532778(0xf2),_0x532778(0x10b),_0x532778(0x120),_0x532778(0xe3),_0x532778(0x116),_0x532778(0x104),_0x532778(0x11b),_0x532778(0xfc),_0x54b175(0x23f),_0x532778(0xf4),'Installed:\x20',_0x532778(0x125),_0x532778(0xfb),_0x16c703(0xa9),_0x532778(0xf7),_0x532778(0xf1),_0x532778(0x102),_0x16c703(0x99),_0x532778(0x10e),_0x16c703(0x96),_0x532778(0x11c),_0x532778(0x10f),_0x532778(0x127),_0x532778(0x10a),_0x532778(0x115),_0x532778(0xed),_0x532778(0x134),_0x532778(0x106),_0x532778(0x11a),_0x532778(0x12d),_0x532778(0xfe),_0x16c703(0xb8),_0x532778(0x132),_0x532778(0x124),_0x532778(0x117),_0x532778(0x10c),_0x16c703(0xa6),_0x532778(0xde),_0x532778(0xfa)];return a4_0x3aa6=function(){return _0x4af64d;},a4_0x3aa6();}function a4_0x1e63(_0x446f6f,_0x401889){_0x446f6f=_0x446f6f-0xdc;const _0x2b3aca=a4_0x49da();let _0x135149=_0x2b3aca[_0x446f6f];return _0x135149;}function a4_0x5d88(_0x411cad,_0x177528){_0x411cad=_0x411cad-0x18f;const _0x1e61d1=a4_0xea68();let _0x12dc92=_0x1e61d1[_0x411cad];return _0x12dc92;}function test(_0x364bd2,_0x4d5809,_0x35b627){const _0x20e902=a4_0x41fc8e;results[_0x20e902(0x1ae)]({'name':_0x364bd2,'passed':_0x4d5809,'message':_0x35b627});const _0x4d837b=_0x4d5809?'โ
':'โ';console[_0x20e902(0x1bf)](_0x4d837b+'\x20'+_0x364bd2+':\x20'+_0x35b627);}function a4_0x5a16(){const _0xf1f9a4=a4_0x272e,_0x37ec49=a4_0x4c72,_0x13daab=[_0x37ec49(0x1d1),_0x37ec49(0x19b),_0xf1f9a4(0x1f0),_0x37ec49(0x199),_0x37ec49(0x1a2),_0x37ec49(0x1ab),_0xf1f9a4(0x1f4),_0xf1f9a4(0x1dd),_0xf1f9a4(0x236),_0xf1f9a4(0x20f),_0x37ec49(0x1e1),_0xf1f9a4(0x23c),_0x37ec49(0x1d6),_0x37ec49(0x1cc),_0x37ec49(0x1e8),_0x37ec49(0x1ad),_0x37ec49(0x1be),_0x37ec49(0x1b9),_0x37ec49(0x19f),_0x37ec49(0x1ef),_0x37ec49(0x1af),_0x37ec49(0x196),_0x37ec49(0x1a5),_0x37ec49(0x1bf),_0x37ec49(0x1c3),_0x37ec49(0x1bd),_0xf1f9a4(0x241),_0x37ec49(0x1c6),_0xf1f9a4(0x1f8),_0x37ec49(0x1d3),_0xf1f9a4(0x233),_0x37ec49(0x1b5),_0xf1f9a4(0x1ee),_0x37ec49(0x1a4),_0x37ec49(0x1c0),_0x37ec49(0x1ae),_0x37ec49(0x19a),_0x37ec49(0x1d5),_0x37ec49(0x1b6),_0x37ec49(0x1e6),_0xf1f9a4(0x20d),'70GUexxX',_0x37ec49(0x1b4),_0xf1f9a4(0x23a),_0x37ec49(0x1ee),_0x37ec49(0x197),_0xf1f9a4(0x23d),'shift','push',_0x37ec49(0x1cb),_0x37ec49(0x1a0),'50AiidNN',_0x37ec49(0x1e2),_0x37ec49(0x1f0),_0x37ec49(0x1c7),_0x37ec49(0x1b3),_0xf1f9a4(0x22c),_0x37ec49(0x1d2),_0x37ec49(0x1e3),_0x37ec49(0x1ca),_0x37ec49(0x1d9),_0x37ec49(0x1e9),_0x37ec49(0x1f1),_0x37ec49(0x1a6),_0x37ec49(0x1dc),_0x37ec49(0x1dd),_0x37ec49(0x1b0),_0x37ec49(0x1d8),_0x37ec49(0x1e7),_0x37ec49(0x1ec),_0x37ec49(0x1c2),_0x37ec49(0x1e4),_0x37ec49(0x19c),_0x37ec49(0x1d0),_0x37ec49(0x1eb),_0x37ec49(0x193),_0x37ec49(0x1bb),_0x37ec49(0x1c9),_0xf1f9a4(0x22b),_0xf1f9a4(0x224),_0xf1f9a4(0x20b),'get',_0x37ec49(0x1ba),_0x37ec49(0x1db),_0x37ec49(0x1b8),_0x37ec49(0x19d),_0xf1f9a4(0x1f7),_0xf1f9a4(0x21e),_0x37ec49(0x1df),_0xf1f9a4(0x209),_0x37ec49(0x192),_0x37ec49(0x1d7),_0x37ec49(0x1c5),_0x37ec49(0x1a8),_0x37ec49(0x1c1),_0xf1f9a4(0x1db),_0x37ec49(0x1ed),_0x37ec49(0x1a3),_0xf1f9a4(0x203),_0xf1f9a4(0x22e)];return a4_0x5a16=function(){return _0x13daab;},a4_0x5a16();}function a4_0x547f(){const _0x5d0977=a4_0x5f43,_0x49eea6=a4_0x1e63,_0x5dc71e=a4_0xbea0,_0x645176=[_0x49eea6(0x105),_0x5dc71e(0x1d9),_0x5dc71e(0x1ad),_0x5dc71e(0x1a5),_0x5dc71e(0x196),_0x5dc71e(0x1bf),_0x5dc71e(0x19c),_0x5dc71e(0x1e0),_0x49eea6(0xe7),_0x5dc71e(0x1b3),_0x5dc71e(0x1d2),_0x5dc71e(0x1ae),_0x5dc71e(0x192),_0x5dc71e(0x1c0),_0x5dc71e(0x1de),_0x5dc71e(0x1c3),_0x49eea6(0x12b),_0x5d0977(0xc5),_0x5dc71e(0x1a6),_0x5dc71e(0x1c4),_0x5dc71e(0x1cc),_0x5dc71e(0x1b6),_0x5dc71e(0x1b0),_0x5dc71e(0x1ca),_0x5dc71e(0x1c5),_0x49eea6(0x126),_0x5dc71e(0x1ac),_0x5dc71e(0x1b2),_0x5d0977(0x6c),_0x49eea6(0xe1),_0x49eea6(0xff),_0x5dc71e(0x198),_0x5dc71e(0x1cd),_0x49eea6(0x100),_0x5dc71e(0x1d5),_0x5dc71e(0x195),_0x5d0977(0xb5),_0x5dc71e(0x1a4),_0x5dc71e(0x199),_0x5dc71e(0x1c8),_0x5dc71e(0x1b5),_0x49eea6(0x133),_0x5dc71e(0x1d4),_0x5dc71e(0x1d8),_0x49eea6(0xe8),_0x5dc71e(0x197),_0x5dc71e(0x1bb),_0x5dc71e(0x1e1),_0x5dc71e(0x1da),_0x5dc71e(0x194),_0x5dc71e(0x19f),_0x5dc71e(0x1db),_0x5dc71e(0x1ab),_0x5dc71e(0x1d0),_0x5dc71e(0x1b4),_0x5dc71e(0x1d6),_0x5dc71e(0x19e),_0x5dc71e(0x1bd),_0x5dc71e(0x1df),_0x5dc71e(0x1c1),_0x49eea6(0xf3),_0x5dc71e(0x19b),_0x5dc71e(0x1bc),_0x5dc71e(0x1aa),_0x49eea6(0xdd),_0x5dc71e(0x19d),_0x5dc71e(0x19a),_0x5dc71e(0x193),_0x5dc71e(0x1dc),_0x5dc71e(0x1d3),_0x5dc71e(0x1d1),_0x5dc71e(0x1c9),_0x49eea6(0x11e),_0x5dc71e(0x1b1),_0x5dc71e(0x1a7)];return a4_0x547f=function(){return _0x645176;},a4_0x547f();}async function getInstalledVersion(_0x28f2b8){const _0x852f6c=a4_0x125d,_0x492a55=a4_0x41fc8e;try{const _0x5ade34=a4_0x32e891[_0x492a55(0x1c2)](__dirname,_0x852f6c(0xda),..._0x28f2b8[_0x492a55(0x1ac)]('/'),_0x492a55(0x195)),_0x5f1ca6=await a4_0xee218b[_0x852f6c(0xd9)](_0x5ade34,_0x492a55(0x1a8)),_0x4b56da=JSON[_0x852f6c(0xb6)](_0x5f1ca6);return _0x4b56da[_0x492a55(0x1c6)]||null;}catch{return null;}}async function getLatestVersion(_0x543ece){const _0x4482f9=a4_0x125d,_0x428971=a4_0x41fc8e;try{const _0x2758f8=await a4_0x4b81f0[_0x4482f9(0xcf)](_0x428971(0x1ad)+_0x543ece+_0x428971(0x1a2),{'timeout':0x2710});return _0x2758f8[_0x428971(0x1b6)]?.[_0x428971(0x1c6)]||null;}catch{return null;}}async function runTests(){const _0x1d4e79=a4_0x135b,_0x132fb3=a4_0x125d,_0xdc3af1=a4_0x41fc8e;console[_0xdc3af1(0x1bf)](_0x132fb3(0xd4)),console[_0xdc3af1(0x1bf)]('='[_0xdc3af1(0x19a)](0x32)+'\x0a'),console[_0xdc3af1(0x1bf)](_0xdc3af1(0x1c4));const _0x1dfa82=await getLatestVersion(_0xdc3af1(0x196));test(_0xdc3af1(0x1ba),_0x1dfa82!==null,_0x1dfa82?_0x1d4e79(0xc6)+_0x1dfa82:_0xdc3af1(0x1b1));const _0x3bb040=await getLatestVersion(_0x132fb3(0xc3));test(_0xdc3af1(0x1bd),_0x3bb040!==null,_0x3bb040?_0x1d4e79(0xc6)+_0x3bb040:_0xdc3af1(0x1b1)),console[_0xdc3af1(0x1bf)](_0xdc3af1(0x1c5));const _0x389a7e=await getInstalledVersion(_0xdc3af1(0x196));test(_0x132fb3(0xb0),_0x389a7e!==null,_0x389a7e?_0xdc3af1(0x1a1)+_0x389a7e:_0xdc3af1(0x192)),console[_0xdc3af1(0x1bf)](_0xdc3af1(0x1aa));const _0x2094dc=[{'current':_0xdc3af1(0x197),'latest':_0xdc3af1(0x1b7),'expected':!![]},{'current':_0xdc3af1(0x1b7),'latest':_0xdc3af1(0x197),'expected':![]},{'current':_0xdc3af1(0x197),'latest':_0xdc3af1(0x197),'expected':![]},{'current':_0xdc3af1(0x1c7),'latest':_0xdc3af1(0x197),'expected':!![]}];for(const _0x20f603 of _0x2094dc){const _0x3a89d5=a4_0x5c9c88['lt'](_0x20f603[_0xdc3af1(0x1af)],_0x20f603[_0xdc3af1(0x1b5)]);test(_0xdc3af1(0x1a0)+_0x20f603[_0x132fb3(0xd7)]+',\x20'+_0x20f603[_0xdc3af1(0x1b5)]+')',_0x3a89d5===_0x20f603[_0xdc3af1(0x19f)],_0xdc3af1(0x1bc)+_0x20f603[_0x132fb3(0xdb)]+_0xdc3af1(0x1c3)+_0x3a89d5);}console[_0xdc3af1(0x1bf)](_0xdc3af1(0x19d));if(_0x389a7e&&_0x1dfa82){const _0x1f8237=a4_0x5c9c88['lt'](_0x389a7e,_0x1dfa82);test(_0xdc3af1(0x1a7),!![],_0x1f8237?_0xdc3af1(0x19c)+_0x389a7e+_0xdc3af1(0x1be)+_0x1dfa82:_0xdc3af1(0x1b0)+_0x389a7e);}else test(_0x132fb3(0xde),![],_0xdc3af1(0x19e));console[_0xdc3af1(0x1bf)]('\x0a'+'='[_0xdc3af1(0x19a)](0x32));const _0x5e537f=results[_0xdc3af1(0x199)](_0x54bcc8=>_0x54bcc8[_0xdc3af1(0x1a6)])[_0x1d4e79(0xd2)],_0x36a345=results[_0xdc3af1(0x199)](_0x21ddf4=>!_0x21ddf4[_0x132fb3(0xb7)])[_0xdc3af1(0x1a3)];console[_0x132fb3(0xbb)](_0xdc3af1(0x1a4)+_0x5e537f+_0xdc3af1(0x18f)+_0x36a345+_0xdc3af1(0x1a5)),_0x36a345===0x0?console[_0xdc3af1(0x1bf)](_0x132fb3(0xb5)):console[_0xdc3af1(0x1bf)](_0xdc3af1(0x1b8));}runTests()[a4_0x41fc8e(0x191)](console[a4_0x41fc8e(0x1b9)]);function a4_0x49da(){const _0x3d6de1=a4_0x272e,_0x1a59dc=a4_0x4c72,_0x22b538=a4_0x5f43,_0x11601a=[_0x22b538(0xb6),_0x22b538(0x87),_0x22b538(0x88),_0x22b538(0xcb),_0x22b538(0xba),_0x22b538(0x9a),_0x3d6de1(0x1dc),_0x22b538(0xbe),_0x22b538(0x74),_0x22b538(0xc3),_0x22b538(0x80),_0x22b538(0x9d),_0x22b538(0x93),_0x22b538(0x85),_0x22b538(0x78),_0x22b538(0x7e),'Not\x20found\x20(may\x20be\x20linked\x20locally)',_0x22b538(0xae),_0x1a59dc(0x1a7),_0x22b538(0xbf),_0x22b538(0x82),_0x22b538(0xa2),_0x1a59dc(0x1b2),_0x22b538(0x89),_0x22b538(0x6b),_0x1a59dc(0x1e5),_0x1a59dc(0x1aa),_0x22b538(0x77),_0x22b538(0x91),_0x22b538(0xad),_0x22b538(0xb3),_0x22b538(0x94),_0x22b538(0x71),_0x1a59dc(0x1ac),_0x1a59dc(0x1cd),_0x22b538(0xa3),_0x22b538(0xc4),_0x3d6de1(0x202),_0x22b538(0x79),_0x22b538(0x97),_0x22b538(0x75),_0x22b538(0x7f),_0x22b538(0xab),_0x22b538(0xc8),_0x22b538(0xbb),_0x22b538(0xb4),_0x22b538(0x73),_0x22b538(0xbc),_0x22b538(0xaf),_0x22b538(0xb9),_0x1a59dc(0x1c4),_0x22b538(0x83),_0x22b538(0x9e),_0x22b538(0x8e),_0x22b538(0x9c),_0x22b538(0x6d),_0x22b538(0x98),_0x22b538(0xbd),_0x22b538(0x84),_0x22b538(0x92),_0x22b538(0x7b),_0x22b538(0x8f),_0x22b538(0xb2),_0x22b538(0x6a),'13404FlcuRz',_0x22b538(0x68),_0x22b538(0x8a),_0x22b538(0xb7),_0x3d6de1(0x1f6),_0x22b538(0xa7),_0x22b538(0xaa),_0x1a59dc(0x1b7),_0x22b538(0xa1),_0x22b538(0x8d),_0x22b538(0x81),_0x22b538(0x9b),_0x22b538(0x72),_0x22b538(0x76),_0x22b538(0xc7),_0x22b538(0xb1),_0x22b538(0xc9),_0x3d6de1(0x220),_0x22b538(0xa8),_0x3d6de1(0x21c),_0x1a59dc(0x1ce),_0x22b538(0xa5),_0x1a59dc(0x1cf),_0x1a59dc(0x194),_0x1a59dc(0x1ea)];return a4_0x49da=function(){return _0x11601a;},a4_0x49da();}
|