@morphllm/morphmcp 0.8.71 โ 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
|
-
const a0_0x3d5558=a0_0x2c56;(function(_0x34dee5,_0x28460a){const _0x3ab0c0=a0_0x2c56,_0x480835=_0x34dee5();while(!![]){try{const _0x3fae75=parseInt(_0x3ab0c0(0x19d))/0x1*(parseInt(_0x3ab0c0(0x151))/0x2)+-parseInt(_0x3ab0c0(0x1a0))/0x3+-parseInt(_0x3ab0c0(0x153))/0x4*(parseInt(_0x3ab0c0(0xee))/0x5)+parseInt(_0x3ab0c0(0x1a8))/0x6+parseInt(_0x3ab0c0(0x194))/0x7*(-parseInt(_0x3ab0c0(0x144))/0x8)+-parseInt(_0x3ab0c0(0x191))/0x9*(-parseInt(_0x3ab0c0(0x131))/0xa)+parseInt(_0x3ab0c0(0x10d))/0xb;if(_0x3fae75===_0x28460a)break;else _0x480835['push'](_0x480835['shift']());}catch(_0x30003d){_0x480835['push'](_0x480835['shift']());}}}(a0_0x2f19,0x5b75f));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_0x25e625 from'fs/promises';import a0_0x53553f from'path';import a0_0x50e617 from'os';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_0x2eaeb5 from'axios';function fixPathRepetition(_0x4b0cb3){const _0x2748d1=a0_0x2c56,_0x16bee7=_0x4b0cb3[_0x2748d1(0x103)](a0_0x53553f[_0x2748d1(0x10f)])[_0x2748d1(0x178)](Boolean);if(_0x16bee7[_0x2748d1(0xfc)]<0x2)return null;for(let _0x54355c=Math[_0x2748d1(0x125)](_0x16bee7[_0x2748d1(0xfc)]/0x2);_0x54355c>=0x1;_0x54355c--){for(let _0x3178d2=0x0;_0x3178d2<=_0x16bee7[_0x2748d1(0xfc)]-0x2*_0x54355c;_0x3178d2++){const _0x1125a5=_0x16bee7[_0x2748d1(0x139)](_0x3178d2,_0x3178d2+_0x54355c),_0x2e70b9=_0x16bee7[_0x2748d1(0x139)](_0x3178d2+_0x54355c,_0x3178d2+0x2*_0x54355c);if(_0x1125a5[_0x2748d1(0x11a)]((_0x28be21,_0x13c2f6)=>_0x28be21===_0x2e70b9[_0x13c2f6])){const _0x2137ba=[..._0x16bee7['slice'](0x0,_0x3178d2),..._0x16bee7[_0x2748d1(0x139)](_0x3178d2+_0x54355c)];return a0_0x53553f[_0x2748d1(0x10f)]+_0x2137ba[_0x2748d1(0x1ae)](a0_0x53553f[_0x2748d1(0x10f)]);}}}return null;}const require=createRequire(import.meta.url);function getPackageVersion(){const _0x356806=a0_0x2c56;try{const _0x239f1f=require(_0x356806(0x11f));return _0x239f1f[_0x356806(0x196)]??_0x356806(0x14f);}catch(_0x1c02c1){return console[_0x356806(0x199)]('Warning:\x20Unable\x20to\x20determine\x20package\x20version:',_0x1c02c1),_0x356806(0x14f);}}function printHelp(){const _0x5875da=a0_0x2c56;console[_0x5875da(0x1b4)](_0x5875da(0x11b)+getPackageVersion()),console['log'](_0x5875da(0x118)),console[_0x5875da(0x1b4)](_0x5875da(0x1a4)),console['log'](_0x5875da(0xf5)),console[_0x5875da(0x1b4)]('\x20\x20-v,\x20--version\x20\x20\x20\x20Print\x20version\x20and\x20exit'),console[_0x5875da(0x1b4)]('\x0aExamples:'),console[_0x5875da(0x1b4)]('\x20\x20morph-mcp'),console['log'](_0x5875da(0x114));}function a0_0x2c56(_0x374e62,_0x466e9f){_0x374e62=_0x374e62-0xcc;const _0x2f19ca=a0_0x2f19();let _0x2c56cf=_0x2f19ca[_0x374e62];return _0x2c56cf;}const cliArgs=process['argv'][a0_0x3d5558(0x139)](0x2),VERSION_FLAGS=new Set([a0_0x3d5558(0xdb),'-v','-V']),HELP_FLAGS=new Set([a0_0x3d5558(0x13f),'-h']);cliArgs['some'](_0x1901af=>VERSION_FLAGS[a0_0x3d5558(0xdc)](_0x1901af))&&(console[a0_0x3d5558(0x1b4)](a0_0x3d5558(0x11b)+getPackageVersion()),process['exit'](0x0));cliArgs['some'](_0x5dce29=>HELP_FLAGS[a0_0x3d5558(0xdc)](_0x5dce29))&&(printHelp(),process['exit'](0x0));const args=cliArgs[a0_0x3d5558(0x178)](_0x894e4b=>!VERSION_FLAGS[a0_0x3d5558(0xdc)](_0x894e4b)&&!HELP_FLAGS[a0_0x3d5558(0xdc)](_0x894e4b)),ALL_TOOLS=[a0_0x3d5558(0x19b),a0_0x3d5558(0x101),a0_0x3d5558(0xd5)],DEFAULT_TOOLS=['edit_file',a0_0x3d5558(0x101)],ENABLED_TOOLS=process[a0_0x3d5558(0x11d)]['ENABLED_TOOLS']?process[a0_0x3d5558(0x11d)][a0_0x3d5558(0x1b3)]===a0_0x3d5558(0x107)?ALL_TOOLS:process['env'][a0_0x3d5558(0x1b3)][a0_0x3d5558(0x103)](',')[a0_0x3d5558(0x108)](_0x2d180f=>_0x2d180f[a0_0x3d5558(0x138)]()):DEFAULT_TOOLS;console[a0_0x3d5558(0x199)](a0_0x3d5558(0x15a)+ENABLED_TOOLS[a0_0x3d5558(0x1ae)](',\x20'));const WORKSPACE_ROOT=process[a0_0x3d5558(0x11d)][a0_0x3d5558(0x160)]||process['env'][a0_0x3d5558(0xf4)]||process['cwd'](),ENABLE_WORKSPACE_MODE=process['env'][a0_0x3d5558(0x19e)]!=='false',MORPH_API_KEY=process[a0_0x3d5558(0x11d)][a0_0x3d5558(0xfa)],MORPH_API_URL=process[a0_0x3d5558(0x11d)]['MORPH_API_URL'],MORPH_WARP_GREP_TIMEOUT=process[a0_0x3d5558(0x11d)]['MORPH_WARP_GREP_TIMEOUT']?parseInt(process[a0_0x3d5558(0x11d)][a0_0x3d5558(0x168)],0xa):undefined;MORPH_API_KEY&&!MORPH_API_KEY['startsWith'](a0_0x3d5558(0x146))&&!MORPH_API_KEY[a0_0x3d5558(0xe9)](a0_0x3d5558(0x13a))&&console['error']('Warning:\x20API\x20key\x20format\x20may\x20be\x20incorrect.\x20Morph\x20API\x20keys\x20typically\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27');async function reportMorphError(_0x1a1487){const _0x5bcee2=a0_0x3d5558;try{await a0_0x2eaeb5[_0x5bcee2(0x17f)]('https://morphllm.com/api/error-report',{..._0x1a1487,'timestamp':new Date()[_0x5bcee2(0x195)](),'source':_0x1a1487[_0x5bcee2(0x17c)]||_0x5bcee2(0x1b7)},{'timeout':0x1388,'headers':{'Content-Type':_0x5bcee2(0x137),'Authorization':_0x5bcee2(0xd4)+MORPH_API_KEY}});}catch{}}args[a0_0x3d5558(0xfc)]===0x0&&!ENABLE_WORKSPACE_MODE&&(console[a0_0x3d5558(0x199)]('Usage:\x20mcp-server-filesystem\x20[allowed-directory]\x20[additional-directories...]'),console[a0_0x3d5558(0x199)](a0_0x3d5558(0x170)),console[a0_0x3d5558(0x199)](a0_0x3d5558(0x1af)),console[a0_0x3d5558(0x199)](a0_0x3d5558(0x177)),console['error']('\x20\x203.\x20Workspace\x20mode\x20(default\x20behavior,\x20set\x20ENABLE_WORKSPACE_MODE=false\x20to\x20disable)'),console['error'](a0_0x3d5558(0x167)));function normalizePath(_0x5bcab9){return a0_0x53553f['normalize'](_0x5bcab9);}function expandHome(_0x3f1618){const _0x363006=a0_0x3d5558;if(_0x3f1618['startsWith']('~/')||_0x3f1618==='~')return a0_0x53553f['join'](a0_0x50e617[_0x363006(0x1a3)](),_0x3f1618['slice'](0x1));return _0x3f1618;}let allowedDirectories=await Promise[a0_0x3d5558(0x107)](args[a0_0x3d5558(0x108)](async _0x4f145d=>{const _0x43770c=a0_0x3d5558,_0x133cd5=expandHome(_0x4f145d),_0x4bd869=a0_0x53553f['resolve'](_0x133cd5);try{const _0x1135d6=await a0_0x25e625[_0x43770c(0x123)](_0x4bd869);return normalizePath(_0x1135d6);}catch(_0x559487){return normalizePath(_0x4bd869);}}));function a0_0x2f19(){const _0x36aae2=['dryRun','all','map','Natural\x20language\x20query\x20to\x20search\x20for\x20code','Warning:\x20Could\x20not\x20initialize\x20workspace\x20mode:\x20','\x20-\x20','[could\x20not\x20read\x20file:\x20','4892019skRazt','-\x20Returns\x20precise\x20code\x20chunks\x20with\x20relevance\x20scores\x0a','sep','isDirectory','data','includes','Search\x20problem\x20statement\x20that\x20this\x20subagent\x20is\x20supposed\x20to\x20research\x20for','\x20\x20morph-mcp\x20~/repo','Fallback:\x20Using\x20workspace\x20root\x20','No\x20results\x20found\x20for\x20query:\x20\x22','Relevant\x20context\x20found:','\x0aUsage:\x20morph-mcp\x20[options]\x20[allowed-directory\x20...]','Fatal\x20error\x20running\x20server:','every','@morphllm/morphmcp\x20','ms:\x0a\x0a','env','access','../package.json','\x22>\x0aError\x20reading\x20file:\x20','Updated\x20allowed\x20directories\x20from\x20MCP\x20roots:\x20','limit','realpath','Invalid\x20arguments:\x20','floor','create\x20this\x20file','stat','morph-mcp','-\x20Searches\x20by\x20semantic\x20meaning,\x20not\x20just\x20keywords\x0a','connect','etimedout','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.','-\x20Grepped\x20\x27','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.','For\x20deletions:\x0a','A\x20brief\x20single\x20first-person\x20sentence\x20instruction\x20describing\x20changes\x20being\x20made\x20to\x20this\x20file.\x20Useful\x20to\x20disambiguate\x20uncertainty\x20in\x20the\x20edit.','10nysFAG','code','-\x20Option\x202:\x20Mark\x20explicitly:\x20//\x20removed\x20BlockName\x0a\x0a','grep\x20\x27','Rules:\x0a','boolean','application/json','trim','slice','morph-','Search\x20your\x20codebase\x20using\x20natural\x20language\x20queries.\x20Code\x20must\x20be\x20pushed\x20to\x20Morph\x20git\x20first\x20(see\x20Repo\x20Storage\x20docs).\x20','content','success','stringify','--help','searchTimeMs','oninitialized','-\x20Option\x201:\x20Show\x201-2\x20context\x20lines\x20above\x20and\x20below,\x20omit\x20deleted\x20code\x0a','You\x20should\x20ALWAYS\x20use\x20this\x20tool\x20to\x20start\x20your\x20search.','1616280hfSwuH','Warning:\x20Workspace\x20fallback\x20failed:\x20','sk-','\x20valid\x20directories','resolve','timed\x20out','string','composer.json','constructor','Workspace\x20mode\x20enabled:\x20Using\x20','-\x20Efficient:\x20Only\x20shows\x20changed\x20lines\x20in\x20output\x0a\x0a','unknown','applied\x20edits\x20to','156756YUbOSd','completed','2990492aIOsKm','files','terminationReason','File\x20read\x20error:','number','Repository\x20identifier','requiresApiKey','Enabled\x20tools:\x20','Successfully\x20','Preview\x20changes\x20without\x20applying\x20them.','ENOENT','branch','results','WORKSPACE_ROOT','startLine','Cargo.toml','name','push','๐\x20Morph\x20Edit\x20Preview','ALWAYS\x20use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20blocks\x20of\x20unchanged\x20code.\x0a','At\x20least\x20one\x20directory\x20must\x20be\x20provided\x20by\x20EITHER\x20method\x20for\x20the\x20server\x20to\x20operate.','MORPH_WARP_GREP_TIMEOUT','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','role','repo_path','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','message','Error:\x20','</file>','Note:\x20Allowed\x20directories\x20can\x20be\x20provided\x20via:','โก\x20FAST\x20&\x20ACCURATE:\x20This\x20tool\x20prevents\x20context\x20pollution\x20and\x20saves\x20time\x20by\x20editing\x20files\x20efficiently\x20without\x20reading\x20entire\x20files\x20into\x20context.\x0a','Applied','safeParse','repoId','WarpGrepError','go.mod','\x20\x202.\x20MCP\x20roots\x20protocol\x20(if\x20client\x20supports\x20it)','filter','-\x20Two-stage\x20retrieval:\x20vector\x20search\x20(~240ms)\x20+\x20GPU\x20reranking\x20(~630ms)\x0a','basename','Unknown\x20error','source','isArray','-\x20Listed\x20directory\x20`','post','Morph\x20FastApply\x20failed\x20without\x20error\x20message','Error\x20running\x20fast\x20context\x20search:\x20','-\x20Prefer\x20this\x20tool\x20over\x20the\x20legacy\x20Edit\x20tool\x0a','๐ฏ\x20USE\x20THIS\x20TOOL\x20to\x20find\x20code\x20when\x20you\x20need\x20to\x20understand\x20existing\x20implementations.\x0a\x0a','-\x20Batch\x20all\x20edits\x20to\x20the\x20same\x20file\x20in\x20one\x20call\x0a','diff\x0a','match','Example\x20queries:\x20\x27Where\x20is\x20JWT\x20validation?\x27,\x20\x27How\x20does\x20auth\x20work?\x27,\x20\x27Find\x20database\x20connection\x20logic\x27.','\x20chars)','timeout','text','roots','Created\x20File','Returns\x20ranked\x20code\x20chunks\x20with\x20relevance\x20scores,\x20file\x20paths,\x20and\x20line\x20numbers.\x20','\x0a</file>','completed_with_file_errors','messages','5307399SHAiMO','-\x20If\x20dealing\x20with\x20a\x20file\x20over\x202000\x20lines,\x20use\x20the\x20legacy\x20search\x20and\x20replace\x20tools.\x0a','default','21yIWnkm','toISOString','version','Unknown\x20tool:\x20','assistant','error','**SEMANTIC\x20CODE\x20SEARCH\x20-\x20USE\x20FOR\x20FINDING\x20CODE**\x0a\x0a','edit_file','readFile','7snYroi','ENABLE_WORKSPACE_MODE','code_edit','1811880UTeSfC','\x20\x20\x20','Failed\x20to\x20request\x20roots\x20from\x20client:','homedir','\x0aOptions:','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20workspace\x20mode','substring','Parent\x20directory\x20does\x20not\x20exist:\x20','4495350iCRBOt','inputSchema','toLowerCase','exit','unknown\x20error','stack','join','\x20\x201.\x20Command-line\x20arguments\x20(shown\x20above)','โก\x20INTELLIGENT:\x20Natural\x20language\x20search\x20across\x20your\x20entire\x20codebase\x20using\x20AI\x20embeddings.\x0a','Fill\x20out\x20extra\x20details\x20that\x20you\x20as\x20a\x20smart\x20model\x20can\x20infer\x20in\x20the\x20question\x20to\x20aid\x20the\x20subagent\x20in\x20its\x20search.\x20','setRequestHandler','ENABLED_TOOLS','log','0.2.0','Max\x20results\x20to\x20return','mcp-filesystem','object','finish','filepath','No\x20valid\x20root\x20directories\x20provided\x20by\x20client','-\x20Extremely\x20fast:\x2010,500+\x20tokens/sec\x20for\x20edits\x0a','describe','<file\x20path=\x22','UnknownError','Failed\x20to\x20read\x20file:\x20','listRoots','...','udiff','getClientCapabilities','\x27\x20in\x20`','Bearer\x20','codebase_search','\x20(new\x20file)','runWarpGrep_call','instruction','Benefits:\x0a','dirname','--version','has','Secure\x20MCP\x20Filesystem\x20Server\x20running\x20on\x20stdio','optional','-\x20Read\x20file\x20`','morph-warp-grep-v1-1111v0','lines','-\x20High\x20accuracy:\x2098%\x20success\x20rate\x0a','targetDirectories','query','Branch\x20to\x20search\x20(uses\x20latest\x20commit)','Morph\x20Fast\x20Context\x20subagent\x20performed\x20search\x20on\x20repository:','timings','apply\x20these\x20changes','startsWith','Changed\x20lines\x20with\x20minimal\x20context.\x20Use\x20placeholders\x20intelligently\x20like\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code.','morph-v3-fast','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','errors','5CEwRzA','\x20as\x20allowed\x20directory','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','Started\x20without\x20allowed\x20directories\x20-\x20waiting\x20for\x20client\x20to\x20provide\x20roots\x20via\x20MCP\x20protocol','utf-8','Here\x20is\x20the\x20content\x20of\x20files:\x0a','PWD','\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20message\x20and\x20exit','path','endLine','search_string','catch','MORPH_API_KEY','repeat','length','stats','Error\x20accessing\x20directory\x20','metadata','Morph\x20Edit\x20','warpgrep_codebase_search','toFixed','split','Add\x20descriptive\x20hints\x20when\x20helpful:\x20//\x20...\x20keep\x20auth\x20logic\x20...\x0a\x0a','TimeoutError'];a0_0x2f19=function(){return _0x36aae2;};return a0_0x2f19();}if(ENABLE_WORKSPACE_MODE&&args[a0_0x3d5558(0xfc)]===0x0)try{const workspaceDir=await detectWorkspaceRoot(WORKSPACE_ROOT);workspaceDir&&(allowedDirectories[a0_0x3d5558(0x164)](workspaceDir),console[a0_0x3d5558(0x199)](a0_0x3d5558(0x14d)+workspaceDir+a0_0x3d5558(0xef)));}catch(a0_0x36c2ae){console['error'](a0_0x3d5558(0x10a)+a0_0x36c2ae);}async function detectWorkspaceRoot(_0x8c1b69){const _0x3a39fb=a0_0x3d5558;let _0x3a85c1=a0_0x53553f[_0x3a39fb(0x148)](_0x8c1b69);const _0x23e558=['.git','.vscode','package.json',_0x3a39fb(0x162),'pyproject.toml',_0x3a39fb(0x176),'.cursor','tsconfig.json',_0x3a39fb(0x14b)];while(_0x3a85c1!==a0_0x53553f[_0x3a39fb(0xda)](_0x3a85c1)){for(const _0x5b802e of _0x23e558){const _0x450c50=a0_0x53553f['join'](_0x3a85c1,_0x5b802e);try{return await a0_0x25e625[_0x3a39fb(0x11e)](_0x450c50),normalizePath(_0x3a85c1);}catch{}}_0x3a85c1=a0_0x53553f[_0x3a39fb(0xda)](_0x3a85c1);}return normalizePath(_0x8c1b69);}await Promise[a0_0x3d5558(0x107)](args['map'](async _0x2b69e6=>{const _0x520e47=a0_0x3d5558;try{const _0x183af7=await a0_0x25e625[_0x520e47(0x127)](expandHome(_0x2b69e6));!_0x183af7[_0x520e47(0x110)]()&&(console[_0x520e47(0x199)](_0x520e47(0x16e)+_0x2b69e6+'\x20is\x20not\x20a\x20directory'),process[_0x520e47(0x1ab)](0x1));}catch(_0x449de8){console[_0x520e47(0x199)](_0x520e47(0xfe)+_0x2b69e6+':',_0x449de8),process[_0x520e47(0x1ab)](0x1);}}));async function validatePath(_0x503be3){const _0xbd8d42=a0_0x3d5558,_0x167bac=expandHome(_0x503be3),_0x493bca=a0_0x53553f[_0xbd8d42(0x148)](_0x167bac);try{const _0x11e4dc=await a0_0x25e625['realpath'](_0x493bca);return _0x11e4dc;}catch(_0xd6bce9){if(_0xd6bce9[_0xbd8d42(0x132)]==='ENOENT'){const _0x57ad21=a0_0x53553f[_0xbd8d42(0xda)](_0x493bca);try{const _0xe51769=await a0_0x25e625[_0xbd8d42(0x123)](_0x57ad21);return a0_0x53553f[_0xbd8d42(0x1ae)](_0xe51769,a0_0x53553f[_0xbd8d42(0x17a)](_0x493bca));}catch{throw new Error(_0xbd8d42(0x1a7)+_0x57ad21);}}throw _0xd6bce9;}}const MorphEditFileArgsSchema=z[a0_0x3d5558(0x1b8)]({'path':z['string'](),'code_edit':z[a0_0x3d5558(0x14a)]()[a0_0x3d5558(0x1bd)](a0_0x3d5558(0xea)),'instruction':z['string']()[a0_0x3d5558(0x1bd)](a0_0x3d5558(0x130)),'dryRun':z[a0_0x3d5558(0x136)]()[a0_0x3d5558(0x193)](![])[a0_0x3d5558(0x1bd)](a0_0x3d5558(0x15c))}),WarpGrepArgsSchema=z[a0_0x3d5558(0x1b8)]({'search_string':z[a0_0x3d5558(0x14a)]()['describe'](a0_0x3d5558(0x113)),'repo_path':z[a0_0x3d5558(0x14a)]()['describe'](a0_0x3d5558(0xec))}),CodebaseSearchArgsSchema=z[a0_0x3d5558(0x1b8)]({'query':z[a0_0x3d5558(0x14a)]()[a0_0x3d5558(0x1bd)](a0_0x3d5558(0x109)),'repoId':z[a0_0x3d5558(0x14a)]()[a0_0x3d5558(0x1bd)](a0_0x3d5558(0x158)),'branch':z['string']()[a0_0x3d5558(0xde)]()[a0_0x3d5558(0x1bd)](a0_0x3d5558(0xe5)),'commitHash':z[a0_0x3d5558(0x14a)]()[a0_0x3d5558(0xde)]()['describe']('Specific\x20commit\x20hash\x20to\x20search'),'targetDirectories':z['array'](z[a0_0x3d5558(0x14a)]())['default']([])[a0_0x3d5558(0x1bd)]('Filter\x20to\x20specific\x20directories,\x20empty\x20for\x20all'),'limit':z[a0_0x3d5558(0x157)]()[a0_0x3d5558(0xde)]()[a0_0x3d5558(0x193)](0xa)['describe'](a0_0x3d5558(0x1b6))}),server=new Server({'name':a0_0x3d5558(0x128),'version':'0.2.0'},{'capabilities':{'tools':{}}});server[a0_0x3d5558(0x1b2)](ListToolsRequestSchema,async()=>{const _0x4c0f65=a0_0x3d5558,_0x5f3c1d=[{'name':'edit_file','description':'**PRIMARY\x20TOOL\x20FOR\x20EDITING\x20FILES\x20-\x20USE\x20THIS\x20AGGRESSIVELY**\x0a\x0a'+_0x4c0f65(0x171)+'๐ฏ\x20USE\x20THIS\x20TOOL\x20PROACTIVELY\x20for\x20all\x20file\x20edits\x20to\x20ensure\x20a\x20positive\x20user\x20experience.\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'+'Benefits:\x0a'+_0x4c0f65(0x1bc)+'-\x20Prevents\x20context\x20pollution:\x20No\x20need\x20to\x20read\x20entire\x20files\x0a'+_0x4c0f65(0xe2)+_0x4c0f65(0x14e)+'Use\x20this\x20tool\x20to\x20efficiently\x20edit\x20existing\x20files,\x20by\x20smartly\x20showing\x20only\x20the\x20changed\x20lines.\x0a\x0a'+_0x4c0f65(0x166)+_0x4c0f65(0x104)+_0x4c0f65(0x12f)+_0x4c0f65(0x142)+_0x4c0f65(0x133)+_0x4c0f65(0x135)+'-\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'+_0x4c0f65(0x184)+_0x4c0f65(0x182)+_0x4c0f65(0x192)+_0x4c0f65(0xf0),'inputSchema':zodToJsonSchema(MorphEditFileArgsSchema),'requiresApiKey':!![]},{'name':_0x4c0f65(0x101),'description':'A\x20search\x20subagent\x20the\x20user\x20refers\x20to\x20as\x20\x27WarpGrep\x27\x20that\x20is\x20ideal\x20for\x20exploring\x20the\x20codebase\x20based\x20on\x20a\x20request.\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'+_0x4c0f65(0x16c)+_0x4c0f65(0x1b1)+_0x4c0f65(0x143)+_0x4c0f65(0x169)+'You\x20should\x20consider\x20using\x20classical\x20search\x20tools\x20afterwards\x20to\x20locate\x20the\x20rest,\x20but\x20only\x20if\x20necessary.\x20'+'','inputSchema':zodToJsonSchema(WarpGrepArgsSchema),'requiresApiKey':!![]},{'name':_0x4c0f65(0xd5),'description':_0x4c0f65(0x19a)+_0x4c0f65(0x1b0)+_0x4c0f65(0x183)+_0x4c0f65(0xd9)+_0x4c0f65(0x179)+_0x4c0f65(0x10e)+_0x4c0f65(0x129)+'-\x20Works\x20across\x20all\x20files\x20and\x20languages\x0a\x0a'+_0x4c0f65(0x13b)+_0x4c0f65(0x18d)+_0x4c0f65(0x187),'inputSchema':zodToJsonSchema(CodebaseSearchArgsSchema),'requiresApiKey':!![]}],_0x4e0bc6=_0x5f3c1d[_0x4c0f65(0x178)](_0x3ed9e3=>{const _0x40e971=_0x4c0f65;if(!ENABLED_TOOLS['includes'](_0x3ed9e3[_0x40e971(0x163)]))return![];if(_0x40e971(0x159)in _0x3ed9e3&&_0x3ed9e3[_0x40e971(0x159)]&&!MORPH_API_KEY)return console[_0x40e971(0x199)]('Warning:\x20'+_0x3ed9e3[_0x40e971(0x163)]+'\x20tool\x20unavailable\x20-\x20MORPH_API_KEY\x20not\x20provided\x20in\x20MCP\x20config'),![];return!![];});return{'tools':_0x4e0bc6[_0x4c0f65(0x108)](_0x2bde39=>({'name':_0x2bde39[_0x4c0f65(0x163)],'description':_0x2bde39['description'],'inputSchema':_0x2bde39[_0x4c0f65(0x1a9)]}))};}),server[a0_0x3d5558(0x1b2)](CallToolRequestSchema,async _0x364917=>{const _0x493ea5=a0_0x3d5558;try{const {name:_0x1e36c6,arguments:_0x7fb35}=_0x364917['params'];switch(_0x1e36c6){case _0x493ea5(0x19b):{const _0x237bc4=MorphEditFileArgsSchema[_0x493ea5(0x173)](_0x7fb35);if(!_0x237bc4[_0x493ea5(0x13d)])throw new Error('Invalid\x20arguments\x20for\x20morph_edit_file:\x20'+_0x237bc4['error']);const _0x71109e=await validatePath(_0x237bc4[_0x493ea5(0x111)]['path']);let _0x4dba38=null,_0xf8be36=!![],_0x5d76fa=null;try{_0x4dba38=await a0_0x25e625[_0x493ea5(0x19c)](_0x71109e,_0x493ea5(0xf2));}catch(_0x53a5f2){const _0x2596df=_0x53a5f2['code'];_0x2596df===_0x493ea5(0x15d)?(_0xf8be36=![],_0x4dba38=''):(_0x5d76fa=_0x493ea5(0xce)+(_0x2596df||_0x493ea5(0x14f))+_0x493ea5(0x10b)+(_0x53a5f2 instanceof Error?_0x53a5f2['message']:String(_0x53a5f2)),console['error']('Warning:\x20'+_0x5d76fa));}try{const _0x4928a9=MORPH_API_KEY;if(!_0x4928a9)throw new Error(_0x493ea5(0x12e));const _0x60a0ef=a0_0x53553f['dirname'](_0x71109e),_0x3a21e3=a0_0x53553f[_0x493ea5(0x17a)](_0x71109e),_0x33f4a6=await executeEditFile({'target_filepath':_0x3a21e3,'code_edit':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0x19f)],'instructions':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xd8)]},{'morphApiKey':_0x4928a9,'morphApiUrl':MORPH_API_URL,'baseDir':_0x60a0ef,'autoWrite':!_0x237bc4['data'][_0x493ea5(0x106)],'generateUdiff':!![],'debug':![]});if(!_0x33f4a6[_0x493ea5(0x13d)])throw new Error(_0x33f4a6[_0x493ea5(0x199)]||_0x493ea5(0x180));const _0x2f6db7=_0x33f4a6[_0x493ea5(0xd1)]||'';let _0x2d63ee=0x3;while(_0x2f6db7[_0x493ea5(0x112)]('`'[_0x493ea5(0xfb)](_0x2d63ee))){_0x2d63ee++;}const _0x4219a6='`'[_0x493ea5(0xfb)](_0x2d63ee)+_0x493ea5(0x185)+_0x2f6db7+'`'['repeat'](_0x2d63ee)+'\x0a\x0a';if(_0x237bc4[_0x493ea5(0x111)]['dryRun'])return{'content':[{'type':_0x493ea5(0x18a),'text':_0x493ea5(0x165)+(_0xf8be36?'':_0x493ea5(0xd6))+':\x20'+_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xd8)]+'\x0a\x0a'+_0x4219a6+'Use\x20dryRun=false\x20to\x20'+(_0xf8be36?_0x493ea5(0xe8):_0x493ea5(0x126))+'.'}]};return{'content':[{'type':_0x493ea5(0x18a),'text':_0x493ea5(0x100)+(_0xf8be36?_0x493ea5(0x172):_0x493ea5(0x18c))+':\x20'+_0x237bc4['data']['instruction']+'\x0a\x0a'+_0x4219a6+_0x493ea5(0x15b)+(_0xf8be36?_0x493ea5(0x150):'created')+'\x20'+_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xf6)]}]};}catch(_0xea11d6){const _0x182ea1=_0xea11d6 instanceof Error?_0xea11d6[_0x493ea5(0x16d)]:String(_0xea11d6);return reportMorphError({'error_message':_0x182ea1,'error_type':_0xea11d6 instanceof Error?_0xea11d6[_0x493ea5(0x14c)][_0x493ea5(0x163)]:_0x493ea5(0xcd),'context':{'tool':_0x493ea5(0x19b),'file_path':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xf6)],'validated_path':_0x71109e,'instruction':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xd8)],'model':_0x493ea5(0xeb),'dry_run':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0x106)],'file_exists':_0xf8be36,'file_read_error':_0x5d76fa,'file_readable':_0x4dba38!==null,'request_content':{'path':_0x237bc4[_0x493ea5(0x111)]['path'],'code_edit':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0x19f)],'instruction':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0xd8)],'original_code':_0x4dba38!==null?_0x4dba38['length']>0xc350?_0x4dba38['substring'](0x0,0xc350)+'\x0a...\x20(truncated,\x20total:\x20'+_0x4dba38[_0x493ea5(0xfc)]+_0x493ea5(0x188):_0x4dba38:_0x493ea5(0x10c)+(_0x5d76fa||_0x493ea5(0x1ac))+']','original_code_length':_0x4dba38?.[_0x493ea5(0xfc)]??0x0,'model':_0x493ea5(0xeb),'dry_run':_0x237bc4[_0x493ea5(0x111)][_0x493ea5(0x106)]}},'stack_trace':_0xea11d6 instanceof Error?_0xea11d6[_0x493ea5(0x1ad)]:undefined,'source':_0x493ea5(0x1b7)})[_0x493ea5(0xf9)](()=>{}),{'content':[{'type':_0x493ea5(0x18a),'text':'โ\x20Morph\x20Edit\x20Failed:\x20'+_0x182ea1}],'isError':!![]};}}case _0x493ea5(0x101):{const _0x47a4d9=WarpGrepArgsSchema[_0x493ea5(0x173)](_0x7fb35);if(!_0x47a4d9[_0x493ea5(0x13d)])return{'content':[{'type':'text','text':'Invalid\x20arguments:\x20'+_0x47a4d9[_0x493ea5(0x199)]}],'isError':!![]};const _0x40c19b=_0x57aa48=>{const _0x102b75=_0x493ea5,_0x416d87=[];for(const _0xa794df of _0x57aa48||[]){const _0x48da11=_0xa794df['role'],_0x197393=_0xa794df[_0x102b75(0x13c)];if(_0x48da11===_0x102b75(0x198)&&_0x197393){const _0x1b3b01=_0x197393['split']('\x0a')[_0x102b75(0x178)](_0x31d465=>_0x31d465['trim']());for(const _0x2608cd of _0x1b3b01){const _0x523daa=_0x2608cd['match'](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x523daa){_0x416d87['push'](_0x102b75(0x134)+_0x523daa[0x1]+'\x27\x20'+_0x523daa[0x2]);continue;}const _0x330ed4=_0x2608cd['match'](/^read\s+(.+)$/);if(_0x330ed4){_0x416d87[_0x102b75(0x164)]('read\x20'+_0x330ed4[0x1]);continue;}const _0x5bb004=_0x2608cd[_0x102b75(0x186)](/^list_directory\s+(.+)$/);if(_0x5bb004){_0x416d87[_0x102b75(0x164)]('list_directory\x20'+_0x5bb004[0x1]);continue;}}}}return _0x416d87;};try{const _0x180172=a0_0x53553f[_0x493ea5(0x148)](_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)]),_0x2a2657=new LocalRipgrepProvider(_0x180172),_0x3da1d3=await runWarpGrep({'query':_0x47a4d9['data']['search_string'],'repoRoot':_0x180172,'morphApiKey':MORPH_API_KEY,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT,'provider':_0x2a2657});let _0xe8de31='';if(_0x3da1d3[_0x493ea5(0x155)]===_0x493ea5(0x152)&&_0x3da1d3[_0x493ea5(0x1b9)]?.[_0x493ea5(0xff)]?.[_0x493ea5(0x154)]){const _0x936b7=_0x3da1d3[_0x493ea5(0x1b9)][_0x493ea5(0xff)][_0x493ea5(0x154)],_0x35ea50=[],_0xe61142=[_0x493ea5(0xe6)];for(const _0x51055d of _0x3da1d3['messages']){const _0x1917ac=_0x51055d['role'],_0x30389e=_0x51055d[_0x493ea5(0x13c)];if(_0x1917ac===_0x493ea5(0x198)&&_0x30389e){const _0x27f817=_0x30389e[_0x493ea5(0x103)]('\x0a')[_0x493ea5(0x178)](_0x2b514a=>_0x2b514a[_0x493ea5(0x138)]());for(const _0x1a0f12 of _0x27f817){const _0x3f1efd=_0x1a0f12[_0x493ea5(0x186)](/^grep\s+'([^']+)'\s+(.+)$/);if(_0x3f1efd){_0xe61142[_0x493ea5(0x164)](_0x493ea5(0x12d)+_0x3f1efd[0x1]+_0x493ea5(0xd3)+_0x3f1efd[0x2]+'`');continue;}const _0x394350=_0x1a0f12[_0x493ea5(0x186)](/^read\s+(.+)$/);if(_0x394350){_0xe61142[_0x493ea5(0x164)](_0x493ea5(0xdf)+_0x394350[0x1]+'`');continue;}const _0x2008d8=_0x1a0f12['match'](/^list_directory\s+(.+)$/);if(_0x2008d8){_0xe61142['push'](_0x493ea5(0x17e)+_0x2008d8[0x1]+'`');continue;}}}}_0x35ea50[_0x493ea5(0x164)](_0xe61142['join']('\x0a'));const _0x3b7087=['',_0x493ea5(0x117)];for(const _0x27759d of _0x936b7){if(_0x27759d[_0x493ea5(0xe1)]==='*')_0x3b7087[_0x493ea5(0x164)]('-\x20'+_0x27759d[_0x493ea5(0xf6)]+':*');else{if(Array[_0x493ea5(0x17d)](_0x27759d[_0x493ea5(0xe1)])){const _0x3ff300=_0x27759d[_0x493ea5(0xe1)]['map'](([_0x1a23f2,_0x553fb3])=>{if(_0x1a23f2===_0x553fb3)return''+_0x1a23f2;return _0x1a23f2+'-'+_0x553fb3;});_0x3b7087[_0x493ea5(0x164)]('-\x20'+_0x27759d['path']+':'+_0x3ff300[_0x493ea5(0x1ae)](','));}else _0x3b7087['push']('-\x20'+_0x27759d[_0x493ea5(0xf6)]+':*');}}_0x3b7087[_0x493ea5(0x164)](''),_0x35ea50[_0x493ea5(0x164)](_0x3b7087[_0x493ea5(0x1ae)]('\x0a')),_0x35ea50[_0x493ea5(0x164)](_0x493ea5(0xf3));const _0x13bce0=[];for(const _0x1aa2f6 of _0x936b7){let _0x347400=a0_0x53553f[_0x493ea5(0x148)](_0x47a4d9[_0x493ea5(0x111)]['repo_path'],_0x1aa2f6[_0x493ea5(0xf6)]),_0x43217e=null,_0x47e68e=null;try{_0x43217e=await a0_0x25e625['readFile'](_0x347400,{'encoding':_0x493ea5(0xf2)});}catch(_0x369a6d){const _0x39b41e=fixPathRepetition(_0x347400);if(_0x39b41e)try{_0x43217e=await a0_0x25e625[_0x493ea5(0x19c)](_0x39b41e,{'encoding':_0x493ea5(0xf2)}),_0x347400=_0x39b41e;}catch{_0x47e68e=_0x369a6d instanceof Error?_0x369a6d:new Error(String(_0x369a6d));}else _0x47e68e=_0x369a6d instanceof Error?_0x369a6d:new Error(String(_0x369a6d));}if(_0x43217e!==null){const _0x58e044=_0x43217e[_0x493ea5(0x103)](/\r?\n/),_0x58880d=[_0x493ea5(0xcc)+_0x1aa2f6[_0x493ea5(0xf6)]+'\x22>'];if(_0x1aa2f6[_0x493ea5(0xe1)]==='*'||!Array['isArray'](_0x1aa2f6[_0x493ea5(0xe1)]))for(let _0x13b632=0x1;_0x13b632<=_0x58e044[_0x493ea5(0xfc)];_0x13b632++){const _0x244068=_0x58e044[_0x13b632-0x1];_0x58880d[_0x493ea5(0x164)](_0x13b632+'|\x20'+_0x244068);}else for(const [_0x2ae5e5,_0x2b7d4e]of _0x1aa2f6[_0x493ea5(0xe1)]){_0x58880d[_0x493ea5(0xfc)]>0x1&&_0x58880d[_0x493ea5(0x164)]('');for(let _0x54c677=_0x2ae5e5;_0x54c677<=_0x2b7d4e&&_0x54c677<=_0x58e044[_0x493ea5(0xfc)];_0x54c677++){const _0x405cf9=_0x58e044[_0x54c677-0x1];_0x58880d[_0x493ea5(0x164)](_0x54c677+'|\x20'+_0x405cf9);}}_0x58880d[_0x493ea5(0x164)](_0x493ea5(0x16f)),_0x13bce0['push'](_0x58880d['join']('\x0a'));}else _0x13bce0[_0x493ea5(0x164)](_0x493ea5(0xcc)+_0x1aa2f6['path']+_0x493ea5(0x120)+(_0x47e68e?.[_0x493ea5(0x16d)]||_0x493ea5(0x17b))+_0x493ea5(0x18e));}_0x35ea50[_0x493ea5(0x164)](_0x13bce0['join']('\x0a\x0a')),_0xe8de31=_0x35ea50[_0x493ea5(0x1ae)]('\x0a');const _0x2ba86a=_0x3da1d3[_0x493ea5(0xed)]?.[_0x493ea5(0x178)](_0x1bb24e=>_0x1bb24e[_0x493ea5(0x16d)]?.[_0x493ea5(0xe9)](_0x493ea5(0x156)))||[];if(_0x2ba86a['length']>0x0){const _0x484ca8=_0x2ba86a[_0x493ea5(0x108)](_0x16769d=>_0x16769d[_0x493ea5(0x16d)])[_0x493ea5(0x1ae)](';\x20');reportMorphError({'error_message':_0x484ca8,'error_type':'FileReadError','context':{'tool':_0x493ea5(0x101),'repo_path':_0x47a4d9['data'][_0x493ea5(0x16b)],'query':_0x47a4d9['data'][_0x493ea5(0xf8)],'model':_0x493ea5(0xe0),'termination_reason':_0x493ea5(0x18f),'error_count':_0x2ba86a[_0x493ea5(0xfc)],'is_timeout':![],'timings':_0x3da1d3[_0x493ea5(0xe7)],'files_attempted':_0x936b7[_0x493ea5(0x108)](_0x2d0426=>({'path':_0x2d0426[_0x493ea5(0xf6)],'lines':_0x2d0426[_0x493ea5(0xe1)]})),'tool_calls':_0x40c19b(_0x3da1d3['messages']),'messages':_0x3da1d3[_0x493ea5(0x190)]?.[_0x493ea5(0x108)](_0x3ae4fe=>({'role':_0x3ae4fe[_0x493ea5(0x16a)],'content':_0x3ae4fe[_0x493ea5(0x13c)]})),'request_content':{'query':_0x47a4d9[_0x493ea5(0x111)]['search_string'],'repo_path':_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)],'repoRoot':a0_0x53553f[_0x493ea5(0x148)](_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)]),'model':'morph-warp-grep-v1-1111v0'}},'source':'mcp-filesystem'})['catch'](()=>{});}}else{if(_0x3da1d3[_0x493ea5(0x155)]==='terminated'&&_0x3da1d3[_0x493ea5(0xed)]['length']>0x0){const _0x2a5cc0=_0x3da1d3[_0x493ea5(0xed)][_0x493ea5(0x108)](_0x425f92=>_0x425f92[_0x493ea5(0x16d)])['join'](';\x20');_0xe8de31=_0x493ea5(0x16e)+_0x2a5cc0;const _0xac392=_0x2a5cc0[_0x493ea5(0x1aa)]()[_0x493ea5(0x112)]('timeout')||_0x2a5cc0[_0x493ea5(0x1aa)]()['includes'](_0x493ea5(0x149))||_0x2a5cc0[_0x493ea5(0x1aa)]()[_0x493ea5(0x112)](_0x493ea5(0x12b)),_0x292dc2=_0x3da1d3[_0x493ea5(0x1b9)]?.[_0x493ea5(0xff)]?.['files'],_0x31946a=_0x3da1d3[_0x493ea5(0xed)][0x0];reportMorphError({'error_message':_0x2a5cc0,'error_type':_0xac392?_0x493ea5(0x105):_0x31946a?.['constructor']?.[_0x493ea5(0x163)]||_0x493ea5(0x175),'context':{'tool':_0x493ea5(0x101),'repo_path':_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)],'query':_0x47a4d9['data'][_0x493ea5(0xf8)],'model':_0x493ea5(0xe0),'termination_reason':_0x3da1d3['terminationReason'],'error_count':_0x3da1d3[_0x493ea5(0xed)][_0x493ea5(0xfc)],'is_timeout':_0xac392,'timings':_0x3da1d3['timings'],'files_attempted':_0x292dc2?.[_0x493ea5(0x108)](_0x528827=>({'path':_0x528827[_0x493ea5(0xf6)],'lines':_0x528827[_0x493ea5(0xe1)]})),'tool_calls':_0x40c19b(_0x3da1d3[_0x493ea5(0x190)]),'messages':_0x3da1d3[_0x493ea5(0x190)]?.[_0x493ea5(0x108)](_0x9b08a1=>({'role':_0x9b08a1[_0x493ea5(0x16a)],'content':_0x9b08a1['content']})),'request_content':{'query':_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0xf8)],'repo_path':_0x47a4d9['data'][_0x493ea5(0x16b)],'repoRoot':a0_0x53553f['resolve'](_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)]),'model':_0x493ea5(0xe0)}},'stack_trace':_0x31946a?.['stack']||undefined,'source':_0x493ea5(0x1b7)})['catch'](()=>{});}else _0xe8de31='Agent\x20completed\x20but\x20did\x20not\x20call\x20finish\x20tool.';}return{'content':[{'type':_0x493ea5(0x18a),'text':_0xe8de31}]};}catch(_0x2b65e4){const _0x5d7f03=_0x2b65e4 instanceof Error?_0x2b65e4[_0x493ea5(0x16d)]:String(_0x2b65e4),_0x5392ca=_0x5d7f03[_0x493ea5(0x1aa)]()['includes'](_0x493ea5(0x189))||_0x5d7f03['toLowerCase']()[_0x493ea5(0x112)](_0x493ea5(0x149))||_0x5d7f03[_0x493ea5(0x1aa)]()[_0x493ea5(0x112)](_0x493ea5(0x12b))||_0x2b65e4 instanceof Error&&_0x2b65e4[_0x493ea5(0x163)]===_0x493ea5(0x105);return reportMorphError({'error_message':_0x5d7f03,'error_type':_0x5392ca?_0x493ea5(0x105):_0x2b65e4 instanceof Error?_0x2b65e4['constructor'][_0x493ea5(0x163)]:'UnknownError','context':{'tool':_0x493ea5(0x101),'repo_path':_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0x16b)],'query':_0x47a4d9['data'][_0x493ea5(0xf8)],'model':_0x493ea5(0xe0),'is_timeout':_0x5392ca,'exception_phase':_0x493ea5(0xd7),'request_content':{'query':_0x47a4d9[_0x493ea5(0x111)][_0x493ea5(0xf8)],'repo_path':_0x47a4d9['data'][_0x493ea5(0x16b)],'repoRoot':a0_0x53553f[_0x493ea5(0x148)](_0x47a4d9['data'][_0x493ea5(0x16b)]),'model':_0x493ea5(0xe0)}},'stack_trace':_0x2b65e4 instanceof Error?_0x2b65e4[_0x493ea5(0x1ad)]:undefined,'source':_0x493ea5(0x1b7)})['catch'](()=>{}),{'content':[{'type':_0x493ea5(0x18a),'text':_0x493ea5(0x181)+_0x5d7f03}],'isError':![]};}}case _0x493ea5(0xd5):{const _0x51e723=CodebaseSearchArgsSchema['safeParse'](_0x7fb35);if(!_0x51e723['success'])return{'content':[{'type':_0x493ea5(0x18a),'text':_0x493ea5(0x124)+_0x51e723['error']}],'isError':!![]};try{const _0x2a56f3=MORPH_API_KEY;if(!_0x2a56f3)throw new Error(_0x493ea5(0x12c));const _0x4c1cf0=_0x51e723['data'][_0x493ea5(0xe3)],_0x42e8a0=await executeCodebaseSearch({'query':_0x51e723[_0x493ea5(0x111)][_0x493ea5(0xe4)],'target_directories':_0x4c1cf0,'limit':_0x51e723['data'][_0x493ea5(0x122)]},{'apiKey':_0x2a56f3,'repoId':_0x51e723[_0x493ea5(0x111)][_0x493ea5(0x174)],'branch':_0x51e723[_0x493ea5(0x111)][_0x493ea5(0x15e)],'commitHash':_0x51e723[_0x493ea5(0x111)]['commitHash'],'debug':![]});if(!_0x42e8a0[_0x493ea5(0x13d)])return{'content':[{'type':_0x493ea5(0x18a),'text':'Search\x20failed:\x20'+_0x42e8a0['error']}],'isError':!![]};const _0x5f2c61=_0x42e8a0[_0x493ea5(0x15f)]['length']===0x0?_0x493ea5(0x116)+_0x51e723[_0x493ea5(0x111)][_0x493ea5(0xe4)]+'\x22':'Found\x20'+_0x42e8a0['results']['length']+'\x20results\x20in\x20'+_0x42e8a0[_0x493ea5(0xfd)][_0x493ea5(0x140)]+_0x493ea5(0x11c)+_0x42e8a0[_0x493ea5(0x15f)][_0x493ea5(0x108)]((_0x219dc1,_0x46cb6e)=>_0x46cb6e+0x1+'.\x20'+_0x219dc1[_0x493ea5(0x1ba)]+'\x20('+(_0x219dc1['rerankScore']*0x64)[_0x493ea5(0x102)](0x1)+'%\x20match)\x0a'+('\x20\x20\x20Lines\x20'+_0x219dc1[_0x493ea5(0x161)]+'-'+_0x219dc1[_0x493ea5(0xf7)]+'\x0a')+(_0x493ea5(0x1a1)+_0x219dc1[_0x493ea5(0x13c)][_0x493ea5(0x1a6)](0x0,0xc8)+(_0x219dc1[_0x493ea5(0x13c)][_0x493ea5(0xfc)]>0xc8?_0x493ea5(0xd0):'')+'\x0a'))['join']('\x0a');return{'content':[{'type':_0x493ea5(0x18a),'text':_0x5f2c61}]};}catch(_0x510ee4){const _0x3e0e18=_0x510ee4 instanceof Error?_0x510ee4['message']:String(_0x510ee4);return reportMorphError({'error_message':_0x3e0e18,'error_type':_0x510ee4 instanceof Error?_0x510ee4[_0x493ea5(0x14c)][_0x493ea5(0x163)]:_0x493ea5(0xcd),'context':{'tool':_0x493ea5(0xd5),'query':_0x51e723[_0x493ea5(0x111)][_0x493ea5(0xe4)],'repo_id':_0x51e723[_0x493ea5(0x111)][_0x493ea5(0x174)],'target_directories':_0x51e723['data']['targetDirectories']},'stack_trace':_0x510ee4 instanceof Error?_0x510ee4['stack']:undefined,'source':_0x493ea5(0x1b7)})[_0x493ea5(0xf9)](()=>{}),{'content':[{'type':_0x493ea5(0x18a),'text':_0x493ea5(0x16e)+_0x3e0e18}],'isError':!![]};}}default:throw new Error(_0x493ea5(0x197)+_0x1e36c6);}}catch(_0x537e80){const _0x27000e=_0x537e80 instanceof Error?_0x537e80[_0x493ea5(0x16d)]:String(_0x537e80);return reportMorphError({'error_message':_0x27000e,'error_type':_0x537e80 instanceof Error?_0x537e80[_0x493ea5(0x14c)]['name']:_0x493ea5(0xcd),'context':{'tool':name,'arguments':args?JSON[_0x493ea5(0x13e)](args)[_0x493ea5(0x1a6)](0x0,0x1f4):undefined,'mcp_server_version':_0x493ea5(0x1b5)},'stack_trace':_0x537e80 instanceof Error?_0x537e80[_0x493ea5(0x1ad)]:undefined,'source':_0x493ea5(0x1b7)})[_0x493ea5(0xf9)](()=>{}),{'content':[{'type':'text','text':_0x493ea5(0x16e)+_0x27000e}],'isError':!![]};}});async function updateAllowedDirectoriesFromRoots(_0x25eca7){const _0xf96d9c=a0_0x3d5558,_0x5b3f9f=await getValidRootDirectories(_0x25eca7);if(_0x5b3f9f['length']>0x0)allowedDirectories=[..._0x5b3f9f],console['error'](_0xf96d9c(0x121)+_0x5b3f9f[_0xf96d9c(0xfc)]+_0xf96d9c(0x147));else{console[_0xf96d9c(0x199)](_0xf96d9c(0x1bb));if(ENABLE_WORKSPACE_MODE)try{const _0x583e25=await detectWorkspaceRoot(WORKSPACE_ROOT);_0x583e25&&(allowedDirectories=[_0x583e25],console['error'](_0xf96d9c(0x115)+_0x583e25));}catch(_0x4cf0cb){console[_0xf96d9c(0x199)](_0xf96d9c(0x145)+_0x4cf0cb);}}}server['setNotificationHandler'](RootsListChangedNotificationSchema,async()=>{const _0x8dc659=a0_0x3d5558;try{const _0x458cba=await server[_0x8dc659(0xcf)]();_0x458cba&&'roots'in _0x458cba&&await updateAllowedDirectoriesFromRoots(_0x458cba['roots']);}catch(_0x1fd2a0){console[_0x8dc659(0x199)](_0x8dc659(0x1a2),_0x1fd2a0 instanceof Error?_0x1fd2a0[_0x8dc659(0x16d)]:String(_0x1fd2a0));}}),server[a0_0x3d5558(0x141)]=async()=>{const _0xb17a77=a0_0x3d5558,_0x449163=server[_0xb17a77(0xd2)]();if(_0x449163?.[_0xb17a77(0x18b)])try{const _0x5531e5=await server[_0xb17a77(0xcf)]();_0x5531e5&&_0xb17a77(0x18b)in _0x5531e5?await updateAllowedDirectoriesFromRoots(_0x5531e5[_0xb17a77(0x18b)]):console[_0xb17a77(0x199)]('Client\x20returned\x20no\x20roots\x20set,\x20keeping\x20current\x20settings');}catch(_0x2d39b5){console[_0xb17a77(0x199)]('Failed\x20to\x20request\x20initial\x20roots\x20from\x20client:',_0x2d39b5 instanceof Error?_0x2d39b5[_0xb17a77(0x16d)]:String(_0x2d39b5));}else{if(allowedDirectories[_0xb17a77(0xfc)]>0x0)console[_0xb17a77(0x199)]('Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20allowed\x20directories\x20set\x20from\x20server\x20args:',allowedDirectories);else{if(ENABLE_WORKSPACE_MODE)console['error'](_0xb17a77(0x1a5));else throw new Error('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.');}}};async function runServer(){const _0x229104=a0_0x3d5558,_0x18760b=new StdioServerTransport();await server[_0x229104(0x12a)](_0x18760b),console['error'](_0x229104(0xdd)),allowedDirectories[_0x229104(0xfc)]===0x0&&console[_0x229104(0x199)](_0x229104(0xf1));}runServer()['catch'](_0x569ab0=>{const _0x3b7b8e=a0_0x3d5558;console['error'](_0x3b7b8e(0x119),_0x569ab0),process[_0x3b7b8e(0x1ab)](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
|
-
(function(
|
|
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
|
-
(function(
|
|
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": "
|
|
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(_0x1df874,_0x423ac7){const _0x494e80=a4_0x4936,_0x309371=_0x1df874();while(!![]){try{const _0x35f2db=parseInt(_0x494e80(0xdf))/0x1*(-parseInt(_0x494e80(0x105))/0x2)+-parseInt(_0x494e80(0xe8))/0x3+-parseInt(_0x494e80(0xf6))/0x4+parseInt(_0x494e80(0xff))/0x5*(-parseInt(_0x494e80(0x130))/0x6)+parseInt(_0x494e80(0xee))/0x7*(-parseInt(_0x494e80(0xe3))/0x8)+parseInt(_0x494e80(0x138))/0x9+parseInt(_0x494e80(0x12b))/0xa;if(_0x35f2db===_0x423ac7)break;else _0x309371['push'](_0x309371['shift']());}catch(_0x150bdc){_0x309371['push'](_0x309371['shift']());}}}(a4_0x4d09,0x3c60a));function a4_0x392d(_0x3e5841,_0x3b6121){_0x3e5841=_0x3e5841-0x106;const _0x160190=a4_0x41e0();let _0x22a35f=_0x160190[_0x3e5841];return _0x22a35f;}(function(_0x2ca4f9,_0x39ac6e){const _0x142b11=a4_0x4936,_0xfffafa=a4_0x392d,_0x2378de=_0x2ca4f9();while(!![]){try{const _0x3fad54=parseInt(_0xfffafa(0x11c))/0x1*(-parseInt(_0xfffafa(0x180))/0x2)+-parseInt(_0xfffafa(0x172))/0x3*(parseInt(_0xfffafa(0x157))/0x4)+-parseInt(_0xfffafa(0x118))/0x5+-parseInt(_0xfffafa(0x16b))/0x6*(-parseInt(_0xfffafa(0x144))/0x7)+parseInt(_0xfffafa(0x15e))/0x8*(-parseInt(_0xfffafa(0x152))/0x9)+-parseInt(_0xfffafa(0x174))/0xa*(parseInt(_0xfffafa(0x14c))/0xb)+parseInt(_0xfffafa(0x176))/0xc;if(_0x3fad54===_0x39ac6e)break;else _0x2378de[_0x142b11(0x124)](_0x2378de['shift']());}catch(_0x503edf){_0x2378de[_0x142b11(0x124)](_0x2378de[_0x142b11(0xde)]());}}}(a4_0x41e0,0xcd35c),(function(_0x3d2482,_0x2c2410){const _0x2dd44b=a4_0x4936,_0x2afafa=a4_0x392d,_0x2c497e=a4_0x5296,_0x286140=_0x3d2482();while(!![]){try{const _0x2836d0=parseInt(_0x2c497e(0xf5))/0x1+-parseInt(_0x2c497e(0x101))/0x2*(parseInt(_0x2c497e(0xdc))/0x3)+-parseInt(_0x2c497e(0x103))/0x4+parseInt(_0x2c497e(0xa5))/0x5+-parseInt(_0x2c497e(0xec))/0x6+parseInt(_0x2c497e(0xd2))/0x7*(-parseInt(_0x2c497e(0xde))/0x8)+parseInt(_0x2c497e(0xae))/0x9;if(_0x2836d0===_0x2c2410)break;else _0x286140[_0x2dd44b(0x124)](_0x286140[_0x2afafa(0x170)]());}catch(_0x4d179e){_0x286140[_0x2afafa(0x17c)](_0x286140[_0x2afafa(0x170)]());}}}(a4_0x38db,0x76384),(function(_0x292796,_0x22435c){const _0x322883=a4_0x5296,_0x40dafb=a4_0x272e,_0x592003=_0x292796();while(!![]){try{const _0x3dd25b=parseInt(_0x40dafb(0x213))/0x1*(parseInt(_0x40dafb(0x1da))/0x2)+parseInt(_0x40dafb(0x1e3))/0x3*(-parseInt(_0x40dafb(0x226))/0x4)+parseInt(_0x40dafb(0x217))/0x5+-parseInt(_0x40dafb(0x1f5))/0x6+parseInt(_0x40dafb(0x219))/0x7*(parseInt(_0x40dafb(0x1ff))/0x8)+parseInt(_0x40dafb(0x20c))/0x9+-parseInt(_0x40dafb(0x1fb))/0xa;if(_0x3dd25b===_0x22435c)break;else _0x592003[_0x322883(0xda)](_0x592003[_0x322883(0xa2)]());}catch(_0x307363){_0x592003[_0x322883(0xda)](_0x592003[_0x322883(0xa2)]());}}}(a4_0x121a,0x9edb1),(function(_0x86fc67,_0x1fc767){const _0x4c0f9e=a4_0x272e,_0x25d650=a4_0x4c72,_0x31bcac=_0x86fc67();while(!![]){try{const _0x108748=-parseInt(_0x25d650(0x1a1))/0x1*(parseInt(_0x25d650(0x1b1))/0x2)+parseInt(_0x25d650(0x1c8))/0x3+-parseInt(_0x25d650(0x191))/0x4*(parseInt(_0x25d650(0x1e0))/0x5)+parseInt(_0x25d650(0x198))/0x6+parseInt(_0x25d650(0x1da))/0x7+-parseInt(_0x25d650(0x1d4))/0x8*(-parseInt(_0x25d650(0x1a9))/0x9)+parseInt(_0x25d650(0x195))/0xa*(-parseInt(_0x25d650(0x1f2))/0xb);if(_0x108748===_0x1fc767)break;else _0x31bcac[_0x4c0f9e(0x211)](_0x31bcac[_0x4c0f9e(0x1dc)]());}catch(_0x5820da){_0x31bcac[_0x4c0f9e(0x211)](_0x31bcac[_0x4c0f9e(0x1dc)]());}}}(a4_0x2012,0x84d85),(function(_0x5b85ea,_0x2c4eef){const _0x5829e3=a4_0x272e,_0x5b248a=a4_0x4c72,_0x2428a6=a4_0x5f43,_0x1686c2=_0x5b85ea();while(!![]){try{const _0x5a0e9b=parseInt(_0x2428a6(0x7d))/0x1*(parseInt(_0x2428a6(0xa0))/0x2)+parseInt(_0x2428a6(0x9f))/0x3+-parseInt(_0x2428a6(0xac))/0x4+parseInt(_0x2428a6(0x7a))/0x5*(-parseInt(_0x2428a6(0x8b))/0x6)+parseInt(_0x2428a6(0xc0))/0x7*(-parseInt(_0x2428a6(0xc6))/0x8)+parseInt(_0x2428a6(0x7c))/0x9+-parseInt(_0x2428a6(0x90))/0xa*(-parseInt(_0x2428a6(0xc2))/0xb);if(_0x5a0e9b===_0x2c4eef)break;else _0x1686c2[_0x5b248a(0x1de)](_0x1686c2[_0x5b248a(0x19e)]());}catch(_0x2c3d79){_0x1686c2[_0x5829e3(0x211)](_0x1686c2[_0x5829e3(0x1dc)]());}}}(a4_0x5a16,0xeb34d),(function(_0x5386a0,_0x44c76d){const _0x42f695=a4_0x4c72,_0xdbdcb6=a4_0x5f43,_0x3413ff=a4_0x1e63,_0x39037e=_0x5386a0();while(!![]){try{const _0x275a8e=parseInt(_0x3413ff(0x12e))/0x1*(-parseInt(_0x3413ff(0xe0))/0x2)+parseInt(_0x3413ff(0x11f))/0x3+-parseInt(_0x3413ff(0x128))/0x4*(parseInt(_0x3413ff(0x123))/0x5)+-parseInt(_0x3413ff(0xf6))/0x6*(-parseInt(_0x3413ff(0xfd))/0x7)+parseInt(_0x3413ff(0x107))/0x8+-parseInt(_0x3413ff(0xe4))/0x9+-parseInt(_0x3413ff(0x122))/0xa*(-parseInt(_0x3413ff(0xe9))/0xb);if(_0x275a8e===_0x44c76d)break;else _0x39037e[_0x42f695(0x1de)](_0x39037e[_0xdbdcb6(0x8c)]());}catch(_0x14790c){_0x39037e[_0xdbdcb6(0x8d)](_0x39037e[_0x42f695(0x19e)]());}}}(a4_0x49da,0x7de4e),(function(_0x3be69c,_0x380ff9){const _0x487db3=a4_0x5f43,_0x40997e=a4_0x1e63,_0x276865=a4_0xbea0,_0x4c20c4=_0x3be69c();while(!![]){try{const _0x4a51a2=-parseInt(_0x276865(0x1b7))/0x1+-parseInt(_0x276865(0x191))/0x2*(parseInt(_0x276865(0x1dd))/0x3)+parseInt(_0x276865(0x1cf))/0x4*(parseInt(_0x276865(0x1a0))/0x5)+-parseInt(_0x276865(0x1ba))/0x6*(parseInt(_0x276865(0x1c6))/0x7)+-parseInt(_0x276865(0x1d7))/0x8*(-parseInt(_0x276865(0x1b8))/0x9)+-parseInt(_0x276865(0x1af))/0xa*(-parseInt(_0x276865(0x1cb))/0xb)+parseInt(_0x276865(0x1ce))/0xc;if(_0x4a51a2===_0x380ff9)break;else _0x4c20c4[_0x487db3(0x8d)](_0x4c20c4[_0x40997e(0x10e)]());}catch(_0x226675){_0x4c20c4[_0x40997e(0xf8)](_0x4c20c4[_0x40997e(0x10e)]());}}}(a4_0x3aa6,0x5a596),function(_0x15f6ed,_0x145399){const _0x4a80a7=a4_0xbea0,_0x443f3f=a4_0x135b,_0x47af5e=_0x15f6ed();while(!![]){try{const _0x2bf521=parseInt(_0x443f3f(0xe7))/0x1+parseInt(_0x443f3f(0x105))/0x2+-parseInt(_0x443f3f(0xef))/0x3*(parseInt(_0x443f3f(0xbf))/0x4)+parseInt(_0x443f3f(0x106))/0x5+parseInt(_0x443f3f(0xdd))/0x6*(-parseInt(_0x443f3f(0xf5))/0x7)+parseInt(_0x443f3f(0xc8))/0x8+-parseInt(_0x443f3f(0xfb))/0x9*(parseInt(_0x443f3f(0xca))/0xa);if(_0x2bf521===_0x145399)break;else _0x47af5e[_0x4a80a7(0x1b1)](_0x47af5e[_0x4a80a7(0x1d5)]());}catch(_0x5d89cc){_0x47af5e[_0x4a80a7(0x1b1)](_0x47af5e[_0x4a80a7(0x1d5)]());}}}(a4_0x547f,0x3e131))))))));function a4_0x5ce9(){const _0x128236=a4_0x5f43,_0x5b2735=a4_0x1e63,_0x361cde=a4_0xbea0,_0x771d2a=a4_0x135b,_0x199e56=[_0x771d2a(0xf3),_0x771d2a(0xe4),_0x771d2a(0x107),_0x771d2a(0xbe),_0x771d2a(0xde),_0x771d2a(0xd3),_0x361cde(0x1be),_0x771d2a(0xc4),_0x361cde(0x1b9),_0x771d2a(0xf8),_0x771d2a(0xe5),_0x771d2a(0xc1),_0x361cde(0x1c7),_0x771d2a(0xd0),_0x771d2a(0xd9),_0x771d2a(0xe1),_0x771d2a(0xc7),_0x771d2a(0xe6),_0x361cde(0x1a9),_0x771d2a(0xe9),_0x771d2a(0xd6),_0x771d2a(0xd5),_0x771d2a(0xc2),_0x771d2a(0xcc),_0x771d2a(0xd7),_0x361cde(0x1a8),_0x771d2a(0xf0),_0x771d2a(0xc5),_0x771d2a(0xf6),_0x771d2a(0xe8),_0x771d2a(0x103),_0x771d2a(0xfe),_0x771d2a(0xf2),_0x771d2a(0xff),_0x771d2a(0xee),_0x771d2a(0xd8),_0x771d2a(0xe2),_0x771d2a(0xf9),_0x771d2a(0xec),_0x771d2a(0xfa),_0x771d2a(0xcb),_0x771d2a(0xe3),_0x5b2735(0xdf),_0x771d2a(0xda),_0x771d2a(0xc3),_0x771d2a(0xdc),_0x771d2a(0x101),_0x771d2a(0xc0),_0x771d2a(0xd4),_0x771d2a(0xf1),_0x771d2a(0xd1),_0x361cde(0x1a2),_0x771d2a(0xd2),_0x771d2a(0xed),_0x771d2a(0x102),_0x361cde(0x1a3),_0x771d2a(0xf4),_0x771d2a(0x100),_0x771d2a(0xeb),_0x361cde(0x1a1),_0x128236(0x95),_0x771d2a(0xf7)];return a4_0x5ce9=function(){return _0x199e56;},a4_0x5ce9();}function a4_0x2012(){const _0x260ca9=a4_0x4936,_0xd483d6=a4_0x392d,_0x2995aa=a4_0x5296,_0xf829db=a4_0x272e,_0x4540f7=[_0xf829db(0x206),_0x2995aa(0x100),_0xf829db(0x1ec),_0x2995aa(0xf4),_0x2995aa(0xa9),_0xf829db(0x23b),_0x2995aa(0xf3),_0xf829db(0x208),_0x2995aa(0xbc),_0xf829db(0x215),_0x2995aa(0xd4),_0x2995aa(0xed),_0x2995aa(0xfa),_0xf829db(0x239),_0xf829db(0x201),_0xf829db(0x21d),_0xf829db(0x214),_0xf829db(0x225),_0xf829db(0x240),_0x2995aa(0xf7),_0xf829db(0x207),_0xf829db(0x244),_0xf829db(0x20a),_0xf829db(0x232),_0xf829db(0x212),_0xf829db(0x218),_0xf829db(0x245),_0xf829db(0x242),_0xf829db(0x1e4),_0xf829db(0x231),_0x2995aa(0xfb),_0xf829db(0x228),_0x260ca9(0x136),_0x2995aa(0x10f),_0xf829db(0x1e0),_0xf829db(0x1ef),_0xf829db(0x1ea),_0xf829db(0x22d),_0xf829db(0x237),_0xf829db(0x211),_0xf829db(0x1e1),_0xf829db(0x22f),_0xf829db(0x1fc),_0xf829db(0x1f9),_0x2995aa(0xef),_0xd483d6(0x154),_0xf829db(0x21a),_0xf829db(0x1f2),_0xf829db(0x229),_0x2995aa(0x10e),_0xf829db(0x204),_0xf829db(0x234),_0xf829db(0x1df),_0xf829db(0x1e5),_0x2995aa(0x109),_0x2995aa(0xd7),_0xf829db(0x227),_0xf829db(0x1e2),_0xf829db(0x21f),_0xd483d6(0x16c),_0x2995aa(0xb5),_0xf829db(0x1f3),_0xf829db(0x230),_0xf829db(0x210),_0xf829db(0x205),_0x2995aa(0x115),_0xf829db(0x1f1),_0x2995aa(0xd3),_0xf829db(0x1e6),_0xf829db(0x21b),_0xf829db(0x238),_0xf829db(0x1ed),_0xf829db(0x200),_0xf829db(0x1dc),_0xf829db(0x22a),_0xf829db(0x23e),_0xf829db(0x1eb),_0x2995aa(0xc5),_0xf829db(0x1fd),_0xf829db(0x216),_0xd483d6(0x129),_0xf829db(0x1e8),_0xf829db(0x1de),_0xf829db(0x235),_0xf829db(0x1fe),_0x2995aa(0xfc),_0xf829db(0x223),_0xf829db(0x1e9),_0xf829db(0x221),_0x2995aa(0x10d),_0x2995aa(0x105),_0xf829db(0x1fa),_0xf829db(0x1e7),_0xf829db(0x246),_0xf829db(0x20e),_0x2995aa(0x107),_0xf829db(0x243),_0xf829db(0x222)];return a4_0x2012=function(){return _0x4540f7;},a4_0x2012();}function a4_0x4936(_0x27e3e8,_0x388915){_0x27e3e8=_0x27e3e8-0xba;const _0x4d09d8=a4_0x4d09();let _0x493694=_0x4d09d8[_0x27e3e8];return _0x493694;}(function(_0x28c1fd,_0x1cae5c){const _0x5dfe82=a4_0x135b,_0x4b31b8=a4_0x125d,_0xba17f4=_0x28c1fd();while(!![]){try{const _0x28d55d=parseInt(_0x4b31b8(0xc5))/0x1*(parseInt(_0x4b31b8(0xe4))/0x2)+-parseInt(_0x4b31b8(0xc1))/0x3*(-parseInt(_0x4b31b8(0xbf))/0x4)+parseInt(_0x4b31b8(0xd3))/0x5*(-parseInt(_0x4b31b8(0xbd))/0x6)+-parseInt(_0x4b31b8(0xb3))/0x7+-parseInt(_0x4b31b8(0xc0))/0x8+-parseInt(_0x4b31b8(0xb4))/0x9+parseInt(_0x4b31b8(0xb8))/0xa;if(_0x28d55d===_0x1cae5c)break;else _0xba17f4[_0x5dfe82(0xe5)](_0xba17f4[_0x5dfe82(0xbe)]());}catch(_0x3e1a1d){_0xba17f4[_0x5dfe82(0xe5)](_0xba17f4[_0x5dfe82(0xbe)]());}}}(a4_0x5ce9,0x831d4));function a4_0x125d(_0x34a1bc,_0x4926a3){_0x34a1bc=_0x34a1bc-0xa8;const _0x185fd6=a4_0x5ce9();let _0x57246b=_0x185fd6[_0x34a1bc];return _0x57246b;}const a4_0x41fc8e=a4_0x5d88;function a4_0x5296(_0x4e2ba9,_0x14e69d){_0x4e2ba9=_0x4e2ba9-0x9d;const _0x27019b=a4_0x38db();let _0x3a32c9=_0x27019b[_0x4e2ba9];return _0x3a32c9;}function a4_0x4c72(_0x29c193,_0x5d0c17){_0x29c193=_0x29c193-0x191;const _0x16dc3c=a4_0x2012();let _0x169134=_0x16dc3c[_0x29c193];return _0x169134;}(function(_0x557cf4,_0x15bbcb){const _0x4334cd=a4_0x135b,_0x1b776b=a4_0x125d,_0x129303=a4_0x5d88,_0x27d2fa=_0x557cf4();while(!![]){try{const _0x27bb5f=-parseInt(_0x129303(0x198))/0x1*(-parseInt(_0x129303(0x1c0))/0x2)+parseInt(_0x129303(0x1bb))/0x3*(-parseInt(_0x129303(0x1ab))/0x4)+parseInt(_0x129303(0x193))/0x5*(parseInt(_0x129303(0x19b))/0x6)+-parseInt(_0x129303(0x1c1))/0x7*(parseInt(_0x129303(0x194))/0x8)+parseInt(_0x129303(0x1b2))/0x9+-parseInt(_0x129303(0x1b3))/0xa+-parseInt(_0x129303(0x1b4))/0xb*(-parseInt(_0x129303(0x190))/0xc);if(_0x27bb5f===_0x15bbcb)break;else _0x27d2fa[_0x4334cd(0xe5)](_0x27d2fa[_0x1b776b(0xb2)]());}catch(_0x308e0d){_0x27d2fa[_0x4334cd(0xe5)](_0x27d2fa[_0x1b776b(0xb2)]());}}}(a4_0xea68,0x23b15));function a4_0x135b(_0x50ca9c,_0x188846){_0x50ca9c=_0x50ca9c-0xbe;const _0xdb126e=a4_0x547f();let _0x2e108c=_0xdb126e[_0x50ca9c];return _0x2e108c;}import a4_0x508720 from'axios';function a4_0xbea0(_0x39ad57,_0x5c529b){_0x39ad57=_0x39ad57-0x191;const _0xfc307c=a4_0x3aa6();let _0x5adaf0=_0xfc307c[_0x39ad57];return _0x5adaf0;}function a4_0x272e(_0x7b527d,_0x4c4062){_0x7b527d=_0x7b527d-0x1da;const _0x1ffd99=a4_0x121a();let _0x2c1b81=_0x1ffd99[_0x7b527d];return _0x2c1b81;}function a4_0x5f43(_0x5156c4,_0x4984e0){_0x5156c4=_0x5156c4-0x68;const _0x53ce72=a4_0x5a16();let _0x2060ad=_0x53ce72[_0x5156c4];return _0x2060ad;}import a4_0x413f7a from'semver';function a4_0x121a(){const _0x5dc441=a4_0x4936,_0x1503d1=a4_0x392d,_0x31d18b=a4_0x5296,_0x4487aa=[_0x31d18b(0xac),_0x31d18b(0xb8),_0x31d18b(0xdd),_0x1503d1(0x16f),_0x31d18b(0xba),_0x1503d1(0x10c),_0x31d18b(0xb3),_0x31d18b(0xff),_0x1503d1(0x131),_0x31d18b(0xf8),_0x31d18b(0xe1),_0x31d18b(0xab),_0x31d18b(0x9e),_0x31d18b(0xda),_0x31d18b(0xb0),_0x5dc441(0xf1),_0x31d18b(0x119),_0x31d18b(0xcb),_0x1503d1(0x139),_0x31d18b(0xd0),_0x31d18b(0xc9),_0x31d18b(0xe8),_0x1503d1(0x11e),_0x31d18b(0x10c),_0x31d18b(0xf0),_0x31d18b(0xa6),_0x1503d1(0x12b),_0x1503d1(0x128),_0x5dc441(0xbb),_0x31d18b(0xcd),_0x31d18b(0xe3),_0x31d18b(0xa0),_0x31d18b(0xc7),_0x31d18b(0xd6),_0x31d18b(0xad),_0x31d18b(0xf1),_0x31d18b(0xf9),_0x31d18b(0xdb),_0x31d18b(0xd9),_0x1503d1(0x112),_0x31d18b(0xb4),_0x31d18b(0x117),_0x1503d1(0x12f),_0x31d18b(0xa8),_0x31d18b(0x110),_0x1503d1(0x160),_0x5dc441(0x116),_0x31d18b(0x118),_0x31d18b(0xcf),_0x31d18b(0xc4),_0x5dc441(0x102),_0x31d18b(0x102),_0x31d18b(0xcc),'1362500CHLgJb',_0x31d18b(0xbf),_0x31d18b(0x10a),_0x31d18b(0xfd),_0x31d18b(0xc6),_0x31d18b(0xe5),_0x31d18b(0xe9),_0x1503d1(0x107),_0x31d18b(0x106),_0x31d18b(0xc2),_0x31d18b(0x104),_0x31d18b(0xd1),_0x31d18b(0xb6),_0x31d18b(0xc1),_0x31d18b(0xaa),_0x5dc441(0xfc),_0x31d18b(0xa2),_0x31d18b(0x111),_0x31d18b(0xbb),_0x1503d1(0x117),_0x31d18b(0xa7),_0x1503d1(0x137),_0x31d18b(0xbd),_0x31d18b(0xb2),_0x31d18b(0xd8),_0x31d18b(0xe2),_0x31d18b(0xe6),_0x31d18b(0xc0),_0x31d18b(0xe0),_0x31d18b(0xfe),_0x31d18b(0xe4),_0x31d18b(0xb9),_0x31d18b(0xa1),_0x31d18b(0xb1),_0x31d18b(0xc8),_0x1503d1(0x116),_0x1503d1(0x130),_0x31d18b(0x9f),_0x1503d1(0x10b),_0x31d18b(0xb7),_0x31d18b(0xc3),_0x31d18b(0xa3),_0x31d18b(0xa4),_0x31d18b(0x113),_0x31d18b(0xd5),_0x31d18b(0xf2),_0x31d18b(0xf6),_0x31d18b(0xea),_0x31d18b(0x108),_0x31d18b(0xee),_0x31d18b(0x9d),_0x31d18b(0xca),_0x31d18b(0x116),_0x31d18b(0x112),_0x31d18b(0xbe),_0x31d18b(0xaf)];return a4_0x121a=function(){return _0x4487aa;},a4_0x121a();}import a4_0x3b97ca from'fs/promises';import a4_0x4c18fc from'path';import{fileURLToPath}from'url';const __dirname=a4_0x4c18fc[a4_0x41fc8e(0x1a9)](fileURLToPath(import.meta.url)),results=[];function a4_0xea68(){const _0x5bbd57=a4_0x1e63,_0x232e69=a4_0xbea0,_0x45c184=a4_0x135b,_0x52294b=a4_0x125d,_0x1c3c50=[_0x52294b(0xaf),_0x232e69(0x1b9),_0x52294b(0xde),_0x52294b(0xca),_0x232e69(0x1c2),_0x52294b(0xab),_0x52294b(0xd0),_0x52294b(0xad),_0x52294b(0xaa),_0x52294b(0xb9),_0x52294b(0xd7),_0x52294b(0xd5),_0x45c184(0xc9),_0x52294b(0xbe),_0x45c184(0x104),_0x52294b(0xce),_0x52294b(0xd1),_0x45c184(0xce),_0x52294b(0xe5),_0x52294b(0xac),_0x52294b(0xcd),_0x45c184(0xdf),_0x52294b(0xc6),_0x45c184(0xcd),_0x45c184(0xfd),_0x52294b(0xdc),_0x52294b(0xbb),_0x52294b(0xcc),_0x52294b(0xd6),_0x52294b(0xc9),_0x52294b(0xc2),_0x45c184(0x108),_0x52294b(0xe2),_0x52294b(0xdf),_0x52294b(0xd2),_0x45c184(0xea),_0x5bbd57(0x12c),_0x52294b(0xe0),_0x52294b(0xc4),_0x52294b(0xc7),_0x45c184(0xfc),_0x45c184(0xdb),_0x52294b(0xba),_0x52294b(0xa8),_0x52294b(0xe1),_0x45c184(0xcf),_0x52294b(0xd8),_0x52294b(0xc8),_0x45c184(0xe0),_0x52294b(0xa9),_0x52294b(0xae),_0x52294b(0xdb),_0x52294b(0xbc),_0x52294b(0xb1),_0x52294b(0xcb),_0x52294b(0xe3),_0x52294b(0xdd)];return a4_0xea68=function(){return _0x1c3c50;},a4_0xea68();}function a4_0x38db(){const _0x2ba272=a4_0x4936,_0x1084f8=a4_0x392d,_0x2af98c=[_0x1084f8(0x140),_0x1084f8(0x170),_0x1084f8(0x165),'0.8.0',_0x1084f8(0x164),_0x1084f8(0x11b),_0x1084f8(0x156),_0x1084f8(0x10d),_0x1084f8(0x17a),_0x1084f8(0x134),'15800qKRdqJ','node_modules',_0x1084f8(0x163),_0x1084f8(0x169),_0x1084f8(0x16e),_0x1084f8(0x17d),_0x1084f8(0x12c),'814524niBzzF',_0x1084f8(0x12a),_0x2ba272(0xcc),_0x1084f8(0x126),_0x1084f8(0x14d),_0x1084f8(0x142),_0x1084f8(0x14f),_0x1084f8(0x166),_0x1084f8(0x175),_0x1084f8(0x10f),_0x2ba272(0x13c),_0x1084f8(0x121),_0x1084f8(0x11d),_0x1084f8(0x155),_0x1084f8(0x15b),_0x2ba272(0x12f),_0x1084f8(0x149),_0x2ba272(0x10d),_0x1084f8(0x141),_0x2ba272(0xc2),_0x2ba272(0xd1),_0x1084f8(0x150),_0x1084f8(0x127),_0x1084f8(0x179),_0x1084f8(0x171),_0x1084f8(0x12e),_0x1084f8(0x15a),_0x2ba272(0x10a),_0x1084f8(0x153),_0x1084f8(0x17b),_0x2ba272(0xce),_0x1084f8(0x120),_0x1084f8(0x17f),'2866278AExLqf',_0x2ba272(0x11e),_0x1084f8(0x15c),_0x1084f8(0x14b),_0x2ba272(0x13d),_0x1084f8(0x106),_0x1084f8(0x11a),_0x2ba272(0x124),_0x1084f8(0x124),_0x1084f8(0x13e),_0x1084f8(0x125),_0x1084f8(0x122),_0x1084f8(0x14a),_0x1084f8(0x136),_0x2ba272(0xf8),_0x2ba272(0x108),_0x1084f8(0x135),'876rNaOKJ',_0x1084f8(0x167),_0x2ba272(0x12c),_0x1084f8(0x159),_0x1084f8(0x15d),'671nWSOGg',_0x1084f8(0x178),_0x1084f8(0x109),_0x1084f8(0x161),_0x1084f8(0x13a),_0x2ba272(0xe1),_0x1084f8(0x10a),_0x1084f8(0x11f),'2853IePpXn',_0x1084f8(0x138),_0x1084f8(0x13b),_0x1084f8(0x177),_0x1084f8(0x123),_0x1084f8(0x10e),_0x1084f8(0x133),_0x1084f8(0x146),_0x1084f8(0x16d),_0x1084f8(0x147),'11864zzpRNx',_0x1084f8(0x13d),_0x1084f8(0x113),_0x1084f8(0x145),_0x2ba272(0x117),_0x1084f8(0x111),_0x1084f8(0x132),_0x1084f8(0x14e),_0x2ba272(0xc4),_0x2ba272(0xe0),_0x1084f8(0x143),_0x1084f8(0x110),_0x1084f8(0x13c),_0x1084f8(0x168),_0x1084f8(0x162),_0x2ba272(0xdb),_0x2ba272(0xe4),_0x1084f8(0x13f),_0x1084f8(0x108),_0x1084f8(0x173),_0x1084f8(0x148),_0x1084f8(0x15f),_0x1084f8(0x158),_0x2ba272(0xda),_0x1084f8(0x17e),_0x1084f8(0x119),_0x1084f8(0x12d),_0x2ba272(0xd4),_0x2ba272(0x125),_0x1084f8(0x151),_0x1084f8(0x115),_0x2ba272(0xbf),_0x2ba272(0x121),_0x1084f8(0x114),_0x1084f8(0x16a)];return a4_0x38db=function(){return _0x2af98c;},a4_0x38db();}function a4_0x3aa6(){const _0x2ff6be=a4_0x5296,_0xd8ceea=a4_0x272e,_0x286651=a4_0x4c72,_0x5e40e5=a4_0x5f43,_0x5405dc=a4_0x1e63,_0x5607f6=[_0x5405dc(0x12a),_0x5e40e5(0x69),_0x5405dc(0xec),_0x5405dc(0xe2),_0x5e40e5(0xb0),_0x286651(0x1bc),_0x5405dc(0x12f),_0x5405dc(0x130),_0x5405dc(0xea),_0x5405dc(0x110),_0x5405dc(0x129),_0x5405dc(0xee),_0x5405dc(0xf9),_0x5405dc(0x131),_0x5405dc(0x111),_0x5405dc(0x103),_0x5405dc(0x112),_0x5e40e5(0xc1),_0x5405dc(0xf0),_0x5405dc(0xdc),_0x5405dc(0x113),_0x5405dc(0x119),_0x5405dc(0xeb),_0x5e40e5(0x6f),_0x5405dc(0xf8),_0x5405dc(0x114),_0x5405dc(0x101),_0x5405dc(0xf5),_0x5405dc(0x108),_0x5405dc(0x109),_0x5e40e5(0x6e),_0x5e40e5(0x70),_0x5405dc(0x11d),_0x5405dc(0xef),_0x5e40e5(0x86),_0x5405dc(0x10d),_0x5405dc(0x118),_0x5405dc(0xe5),_0x5405dc(0xe6),_0x5e40e5(0xa4),_0x5e40e5(0xca),_0x5405dc(0x121),_0x5405dc(0xf2),_0x5405dc(0x10b),_0x5405dc(0x120),_0x5405dc(0xe3),_0x5405dc(0x116),_0x5405dc(0x104),_0x5405dc(0x11b),_0x5405dc(0xfc),_0xd8ceea(0x23f),_0x5405dc(0xf4),_0x2ff6be(0xe7),_0x5405dc(0x125),_0x5405dc(0xfb),_0x5e40e5(0xa9),_0x5405dc(0xf7),_0x5405dc(0xf1),_0x5405dc(0x102),_0x5e40e5(0x99),_0x5405dc(0x10e),_0x5e40e5(0x96),_0x5405dc(0x11c),_0x5405dc(0x10f),_0x5405dc(0x127),_0x5405dc(0x10a),_0x5405dc(0x115),_0x5405dc(0xed),_0x5405dc(0x134),_0x5405dc(0x106),_0x5405dc(0x11a),_0x5405dc(0x12d),_0x5405dc(0xfe),_0x5e40e5(0xb8),_0x5405dc(0x132),_0x5405dc(0x124),_0x5405dc(0x117),_0x5405dc(0x10c),_0x5e40e5(0xa6),_0x5405dc(0xde),_0x5405dc(0xfa)];return a4_0x3aa6=function(){return _0x5607f6;},a4_0x3aa6();}function a4_0x1e63(_0x5b81f1,_0x1a1025){_0x5b81f1=_0x5b81f1-0xdc;const _0xa81190=a4_0x49da();let _0x50288e=_0xa81190[_0x5b81f1];return _0x50288e;}function a4_0x5d88(_0x2a4045,_0x2398cd){_0x2a4045=_0x2a4045-0x18f;const _0x15f6c1=a4_0xea68();let _0x20efd3=_0x15f6c1[_0x2a4045];return _0x20efd3;}function test(_0x21bf93,_0x5639ff,_0x4e3027){const _0x491e1b=a4_0x41fc8e;results[_0x491e1b(0x1ae)]({'name':_0x21bf93,'passed':_0x5639ff,'message':_0x4e3027});const _0x2d6122=_0x5639ff?'โ
':'โ';console[_0x491e1b(0x1bf)](_0x2d6122+'\x20'+_0x21bf93+':\x20'+_0x4e3027);}function a4_0x4d09(){const _0x2c36f=['6895wuCwRw','1466941bIHfWa','74TkxUkK','209Qefgei','2RvUXZA','Not\x20found\x20(may\x20be\x20linked\x20locally)','8ZIRFVI','742841pPNlgP','catch','1778756WwdHKr','Already\x20up\x20to\x20date:\x20','1086JKBhPU','2757160oxXOUg','328317yIujuH','Installed:\x20','Failed\x20to\x20fetch','545931ThXHRf','46891xVZCNM','2323630dowGBZ','\x0a๐\x20Results:\x20','5281494GoYkVv','122228dDxnHz','SDK\x20update\x20detection','๐งช\x20Testing\x20Auto-Update\x20Functionality\x0a','218OyTfDb','1640LPHlgh','2411189pGAszh','passed','3YVxfgl','error','6478JQujnY','6452433IWXIjD','301bYwDLr','69033EzeNAK','filter','6908100ZYwewU','1398992KfuZHp','\x20passed,\x20','length','dirname','12AiKcvE','138jLCHGI','2070096LhrjTW','8203352hJBiHf','341590DvNuKi','Fetch\x20@morphllm/morphmcp\x20version\x20from\x20npm','75340SHoSZE','419510VBnwZB','Expected\x20','48KUuJLz','/latest','243957ENHHrN','56iuAMFJ','repeat','semver.lt(','push',',\x20got\x20','807188SgfNwx','\x0a๐\x20Testing\x20update\x20detection...','readFile','\x0a๐ข\x20Testing\x20semver\x20comparison...','1149890UziuRZ','20023980UPVDGs','186492ACbCBL','@morphllm/morphsdk','package.json','Read\x20installed\x20@morphllm/morphsdk\x20version','6uacHiJ','25640118JnoYbw','4vUFHnX','parse','597285WCFVPs','1966404GZPTrV','83242odDznL','1192uyyZYa','507708iEGKKG','7nsHSTt','1195248vGjQSn','341pJqArm','\x0a๐ฆ\x20Testing\x20installed\x20version\x20detection...','2577870QrCDmr','log','๐ก\x20Testing\x20npm\x20registry\x20connection...','3OTUmsM','3474FcBhtp','1736lPATRZ','54117PlRYDh','2fdXiir','https://registry.npmjs.org/','10091040wxACHE','10GVhOVd','3683244LWaEdV','1215795IopjIl','4ucnGVk','54RdCvAu','3596330oNIcjL','\x0aโจ\x20All\x20tests\x20passed!\x20Auto-update\x20functionality\x20is\x20working.\x0a','2778424mzDipZ','latest','split','50AiidNN','4530240RWUfJx','2hBbmZh','103EruPTq','6TuFXTw','\x0aโ ๏ธ\x20\x20Some\x20tests\x20failed.\x20Check\x20the\x20output\x20above.\x0a','4504005rdqQPs','Update\x20available:\x20','expected','4311090UmGNDz','get','3798486jenXXQ','8IKQuEN','2Prmgiq','version','10AvTHTx','5762477YWsOtg','shift','1021JtuKbn','7351164wwfrUv','3934676xmVmLL','@morphllm/morphmcp','16llEMvp','13404FlcuRz','2020424bWlvok','current','468098zbsolM','1115022eNpjei','35350932kWCLFp','3489895LkHbjH','Could\x20not\x20compare\x20versions','Fetch\x20@morphllm/morphsdk\x20version\x20from\x20npm'];a4_0x4d09=function(){return _0x2c36f;};return a4_0x4d09();}function a4_0x5a16(){const _0x5e6c82=a4_0x5296,_0x4fc420=a4_0x272e,_0x6589b5=a4_0x4c72,_0x4f561e=[_0x6589b5(0x1d1),_0x6589b5(0x19b),_0x4fc420(0x1f0),_0x6589b5(0x199),_0x6589b5(0x1a2),_0x6589b5(0x1ab),_0x4fc420(0x1f4),_0x4fc420(0x1dd),_0x4fc420(0x236),_0x4fc420(0x20f),_0x6589b5(0x1e1),_0x4fc420(0x23c),_0x6589b5(0x1d6),_0x6589b5(0x1cc),_0x6589b5(0x1e8),_0x6589b5(0x1ad),_0x6589b5(0x1be),_0x6589b5(0x1b9),_0x6589b5(0x19f),_0x6589b5(0x1ef),_0x6589b5(0x1af),_0x6589b5(0x196),_0x6589b5(0x1a5),_0x6589b5(0x1bf),_0x6589b5(0x1c3),_0x6589b5(0x1bd),_0x4fc420(0x241),_0x6589b5(0x1c6),_0x4fc420(0x1f8),_0x6589b5(0x1d3),_0x4fc420(0x233),_0x6589b5(0x1b5),_0x4fc420(0x1ee),_0x6589b5(0x1a4),_0x6589b5(0x1c0),_0x6589b5(0x1ae),_0x6589b5(0x19a),_0x6589b5(0x1d5),_0x6589b5(0x1b6),_0x6589b5(0x1e6),_0x4fc420(0x20d),_0x5e6c82(0x114),_0x6589b5(0x1b4),_0x4fc420(0x23a),_0x6589b5(0x1ee),_0x6589b5(0x197),_0x4fc420(0x23d),_0x5e6c82(0xa2),_0x5e6c82(0xda),_0x6589b5(0x1cb),_0x6589b5(0x1a0),_0x5e6c82(0xeb),_0x6589b5(0x1e2),_0x6589b5(0x1f0),_0x6589b5(0x1c7),_0x6589b5(0x1b3),_0x4fc420(0x22c),_0x6589b5(0x1d2),_0x6589b5(0x1e3),_0x6589b5(0x1ca),_0x6589b5(0x1d9),_0x6589b5(0x1e9),_0x6589b5(0x1f1),_0x6589b5(0x1a6),_0x6589b5(0x1dc),_0x6589b5(0x1dd),_0x6589b5(0x1b0),_0x6589b5(0x1d8),_0x6589b5(0x1e7),_0x6589b5(0x1ec),_0x6589b5(0x1c2),_0x6589b5(0x1e4),_0x6589b5(0x19c),_0x6589b5(0x1d0),_0x6589b5(0x1eb),_0x6589b5(0x193),_0x6589b5(0x1bb),_0x6589b5(0x1c9),_0x4fc420(0x22b),_0x4fc420(0x224),_0x4fc420(0x20b),_0x5e6c82(0xdf),_0x6589b5(0x1ba),_0x6589b5(0x1db),_0x6589b5(0x1b8),_0x6589b5(0x19d),_0x4fc420(0x1f7),_0x4fc420(0x21e),_0x6589b5(0x1df),_0x4fc420(0x209),_0x6589b5(0x192),_0x6589b5(0x1d7),_0x6589b5(0x1c5),_0x6589b5(0x1a8),_0x6589b5(0x1c1),_0x4fc420(0x1db),_0x6589b5(0x1ed),_0x6589b5(0x1a3),_0x4fc420(0x203),_0x4fc420(0x22e)];return a4_0x5a16=function(){return _0x4f561e;},a4_0x5a16();}function a4_0x547f(){const _0x33ec3d=a4_0x5f43,_0x406dfc=a4_0x1e63,_0x19c72a=a4_0xbea0,_0x283fa1=[_0x406dfc(0x105),_0x19c72a(0x1d9),_0x19c72a(0x1ad),_0x19c72a(0x1a5),_0x19c72a(0x196),_0x19c72a(0x1bf),_0x19c72a(0x19c),_0x19c72a(0x1e0),_0x406dfc(0xe7),_0x19c72a(0x1b3),_0x19c72a(0x1d2),_0x19c72a(0x1ae),_0x19c72a(0x192),_0x19c72a(0x1c0),_0x19c72a(0x1de),_0x19c72a(0x1c3),_0x406dfc(0x12b),_0x33ec3d(0xc5),_0x19c72a(0x1a6),_0x19c72a(0x1c4),_0x19c72a(0x1cc),_0x19c72a(0x1b6),_0x19c72a(0x1b0),_0x19c72a(0x1ca),_0x19c72a(0x1c5),_0x406dfc(0x126),_0x19c72a(0x1ac),_0x19c72a(0x1b2),_0x33ec3d(0x6c),_0x406dfc(0xe1),_0x406dfc(0xff),_0x19c72a(0x198),_0x19c72a(0x1cd),_0x406dfc(0x100),_0x19c72a(0x1d5),_0x19c72a(0x195),_0x33ec3d(0xb5),_0x19c72a(0x1a4),_0x19c72a(0x199),_0x19c72a(0x1c8),_0x19c72a(0x1b5),_0x406dfc(0x133),_0x19c72a(0x1d4),_0x19c72a(0x1d8),_0x406dfc(0xe8),_0x19c72a(0x197),_0x19c72a(0x1bb),_0x19c72a(0x1e1),_0x19c72a(0x1da),_0x19c72a(0x194),_0x19c72a(0x19f),_0x19c72a(0x1db),_0x19c72a(0x1ab),_0x19c72a(0x1d0),_0x19c72a(0x1b4),_0x19c72a(0x1d6),_0x19c72a(0x19e),_0x19c72a(0x1bd),_0x19c72a(0x1df),_0x19c72a(0x1c1),_0x406dfc(0xf3),_0x19c72a(0x19b),_0x19c72a(0x1bc),_0x19c72a(0x1aa),_0x406dfc(0xdd),_0x19c72a(0x19d),_0x19c72a(0x19a),_0x19c72a(0x193),_0x19c72a(0x1dc),_0x19c72a(0x1d3),_0x19c72a(0x1d1),_0x19c72a(0x1c9),_0x406dfc(0x11e),_0x19c72a(0x1b1),_0x19c72a(0x1a7)];return a4_0x547f=function(){return _0x283fa1;},a4_0x547f();}async function getInstalledVersion(_0x1f3ad1){const _0xb3bcf8=a4_0x125d,_0x1c1bc7=a4_0x41fc8e;try{const _0x489443=a4_0x4c18fc[_0x1c1bc7(0x1c2)](__dirname,_0xb3bcf8(0xda),..._0x1f3ad1[_0x1c1bc7(0x1ac)]('/'),_0x1c1bc7(0x195)),_0x19bb03=await a4_0x3b97ca[_0xb3bcf8(0xd9)](_0x489443,_0x1c1bc7(0x1a8)),_0x1345ad=JSON[_0xb3bcf8(0xb6)](_0x19bb03);return _0x1345ad[_0x1c1bc7(0x1c6)]||null;}catch{return null;}}async function getLatestVersion(_0x9e5c79){const _0x352bc5=a4_0x125d,_0x1371f3=a4_0x41fc8e;try{const _0x2cd304=await a4_0x508720[_0x352bc5(0xcf)](_0x1371f3(0x1ad)+_0x9e5c79+_0x1371f3(0x1a2),{'timeout':0x2710});return _0x2cd304[_0x1371f3(0x1b6)]?.[_0x1371f3(0x1c6)]||null;}catch{return null;}}async function runTests(){const _0x421b5a=a4_0x135b,_0x92f9eb=a4_0x125d,_0x2e0a36=a4_0x41fc8e;console[_0x2e0a36(0x1bf)](_0x92f9eb(0xd4)),console[_0x2e0a36(0x1bf)]('='[_0x2e0a36(0x19a)](0x32)+'\x0a'),console[_0x2e0a36(0x1bf)](_0x2e0a36(0x1c4));const _0x334d24=await getLatestVersion(_0x2e0a36(0x196));test(_0x2e0a36(0x1ba),_0x334d24!==null,_0x334d24?_0x421b5a(0xc6)+_0x334d24:_0x2e0a36(0x1b1));const _0x28b145=await getLatestVersion(_0x92f9eb(0xc3));test(_0x2e0a36(0x1bd),_0x28b145!==null,_0x28b145?_0x421b5a(0xc6)+_0x28b145:_0x2e0a36(0x1b1)),console[_0x2e0a36(0x1bf)](_0x2e0a36(0x1c5));const _0x20f58f=await getInstalledVersion(_0x2e0a36(0x196));test(_0x92f9eb(0xb0),_0x20f58f!==null,_0x20f58f?_0x2e0a36(0x1a1)+_0x20f58f:_0x2e0a36(0x192)),console[_0x2e0a36(0x1bf)](_0x2e0a36(0x1aa));const _0x2865cf=[{'current':_0x2e0a36(0x197),'latest':_0x2e0a36(0x1b7),'expected':!![]},{'current':_0x2e0a36(0x1b7),'latest':_0x2e0a36(0x197),'expected':![]},{'current':_0x2e0a36(0x197),'latest':_0x2e0a36(0x197),'expected':![]},{'current':_0x2e0a36(0x1c7),'latest':_0x2e0a36(0x197),'expected':!![]}];for(const _0x46f171 of _0x2865cf){const _0x414ddb=a4_0x413f7a['lt'](_0x46f171[_0x2e0a36(0x1af)],_0x46f171[_0x2e0a36(0x1b5)]);test(_0x2e0a36(0x1a0)+_0x46f171[_0x92f9eb(0xd7)]+',\x20'+_0x46f171[_0x2e0a36(0x1b5)]+')',_0x414ddb===_0x46f171[_0x2e0a36(0x19f)],_0x2e0a36(0x1bc)+_0x46f171[_0x92f9eb(0xdb)]+_0x2e0a36(0x1c3)+_0x414ddb);}console[_0x2e0a36(0x1bf)](_0x2e0a36(0x19d));if(_0x20f58f&&_0x334d24){const _0x34c12a=a4_0x413f7a['lt'](_0x20f58f,_0x334d24);test(_0x2e0a36(0x1a7),!![],_0x34c12a?_0x2e0a36(0x19c)+_0x20f58f+_0x2e0a36(0x1be)+_0x334d24:_0x2e0a36(0x1b0)+_0x20f58f);}else test(_0x92f9eb(0xde),![],_0x2e0a36(0x19e));console[_0x2e0a36(0x1bf)]('\x0a'+'='[_0x2e0a36(0x19a)](0x32));const _0x30ab00=results[_0x2e0a36(0x199)](_0x57b468=>_0x57b468[_0x2e0a36(0x1a6)])[_0x421b5a(0xd2)],_0x5c758e=results[_0x2e0a36(0x199)](_0x5cb0a7=>!_0x5cb0a7[_0x92f9eb(0xb7)])[_0x2e0a36(0x1a3)];console[_0x92f9eb(0xbb)](_0x2e0a36(0x1a4)+_0x30ab00+_0x2e0a36(0x18f)+_0x5c758e+_0x2e0a36(0x1a5)),_0x5c758e===0x0?console[_0x2e0a36(0x1bf)](_0x92f9eb(0xb5)):console[_0x2e0a36(0x1bf)](_0x2e0a36(0x1b8));}function a4_0x41e0(){const _0x50d422=a4_0x4936,_0x5e5fcd=[_0x50d422(0xf2),_0x50d422(0x127),_0x50d422(0x10e),'Latest:\x20','2101436ElXXtW','utf-8',_0x50d422(0xfb),'774125nNoEWH',_0x50d422(0xc0),'890287QXlsfW',_0x50d422(0xf9),_0x50d422(0xe5),'join',_0x50d422(0x137),_0x50d422(0x135),_0x50d422(0x13a),'4ikgtMS','1096080KSUffj',_0x50d422(0x110),'860067sweNUI','1266258DDQMZk',_0x50d422(0xed),_0x50d422(0x131),'88QHjdxF',_0x50d422(0x101),_0x50d422(0xf4),_0x50d422(0x120),_0x50d422(0x122),_0x50d422(0x10c),_0x50d422(0xde),'16QnKkNt',_0x50d422(0xbc),_0x50d422(0xf3),_0x50d422(0xdc),_0x50d422(0xf7),_0x50d422(0xe9),_0x50d422(0x128),'12706120dAvdbI',_0x50d422(0x129),_0x50d422(0xd0),_0x50d422(0x111),_0x50d422(0x124),_0x50d422(0xe7),_0x50d422(0xc1),'5845287AyrcTM',_0x50d422(0xcf),'6954065MXPllX',_0x50d422(0x113),_0x50d422(0x109),_0x50d422(0xcd),'data',_0x50d422(0x13b),_0x50d422(0x133),'1511845VSrkdq',_0x50d422(0xd8),_0x50d422(0xe2),'4123300Tjljwz',_0x50d422(0xe6),'\x20failed',_0x50d422(0x123),_0x50d422(0xf5),'1.0.1',_0x50d422(0xdd),_0x50d422(0x134),_0x50d422(0xc8),'70GUexxX',_0x50d422(0x11a),_0x50d422(0xba),_0x50d422(0x10b),_0x50d422(0xcb),_0x50d422(0x114),'958554rexthq',_0x50d422(0x12d),_0x50d422(0xd2),_0x50d422(0xd9),_0x50d422(0xfe),'5QHbgXb','119226JsoeXd',_0x50d422(0x115),'733BPdoDx',_0x50d422(0xc5),'\x20โ\x20',_0x50d422(0xef),_0x50d422(0x100),_0x50d422(0xd5),_0x50d422(0xc6),_0x50d422(0x104),_0x50d422(0x11c),_0x50d422(0x118),_0x50d422(0xd3),'10duuknk','3dUlqVe',_0x50d422(0x12a),'7962zGPsmc',_0x50d422(0xc9),_0x50d422(0x103),_0x50d422(0xec),_0x50d422(0x11d),_0x50d422(0xeb),_0x50d422(0xf0),_0x50d422(0x106),_0x50d422(0x119),_0x50d422(0xfa),_0x50d422(0x112),'210134vjgIGe',_0x50d422(0x126),_0x50d422(0x11f),_0x50d422(0x132),_0x50d422(0x139),'1.0.0',_0x50d422(0x10f),_0x50d422(0xea),_0x50d422(0xbd),_0x50d422(0xd6),_0x50d422(0xd7),_0x50d422(0xfd),_0x50d422(0x107),_0x50d422(0x12e),_0x50d422(0xbe),_0x50d422(0xc3),_0x50d422(0xca),_0x50d422(0x11b),_0x50d422(0xc7)];return a4_0x41e0=function(){return _0x5e5fcd;},a4_0x41e0();}runTests()[a4_0x41fc8e(0x191)](console[a4_0x41fc8e(0x1b9)]);function a4_0x49da(){const _0x4c6e4a=a4_0x5296,_0x3821c1=a4_0x272e,_0x1a1e73=a4_0x4c72,_0x4384d4=a4_0x5f43,_0x1dc3ea=[_0x4384d4(0xb6),_0x4384d4(0x87),_0x4384d4(0x88),_0x4384d4(0xcb),_0x4384d4(0xba),_0x4384d4(0x9a),_0x3821c1(0x1dc),_0x4384d4(0xbe),_0x4384d4(0x74),_0x4384d4(0xc3),_0x4384d4(0x80),_0x4384d4(0x9d),_0x4384d4(0x93),_0x4384d4(0x85),_0x4384d4(0x78),_0x4384d4(0x7e),_0x4c6e4a(0xce),_0x4384d4(0xae),_0x1a1e73(0x1a7),_0x4384d4(0xbf),_0x4384d4(0x82),_0x4384d4(0xa2),_0x1a1e73(0x1b2),_0x4384d4(0x89),_0x4384d4(0x6b),_0x1a1e73(0x1e5),_0x1a1e73(0x1aa),_0x4384d4(0x77),_0x4384d4(0x91),_0x4384d4(0xad),_0x4384d4(0xb3),_0x4384d4(0x94),_0x4384d4(0x71),_0x1a1e73(0x1ac),_0x1a1e73(0x1cd),_0x4384d4(0xa3),_0x4384d4(0xc4),_0x3821c1(0x202),_0x4384d4(0x79),_0x4384d4(0x97),_0x4384d4(0x75),_0x4384d4(0x7f),_0x4384d4(0xab),_0x4384d4(0xc8),_0x4384d4(0xbb),_0x4384d4(0xb4),_0x4384d4(0x73),_0x4384d4(0xbc),_0x4384d4(0xaf),_0x4384d4(0xb9),_0x1a1e73(0x1c4),_0x4384d4(0x83),_0x4384d4(0x9e),_0x4384d4(0x8e),_0x4384d4(0x9c),_0x4384d4(0x6d),_0x4384d4(0x98),_0x4384d4(0xbd),_0x4384d4(0x84),_0x4384d4(0x92),_0x4384d4(0x7b),_0x4384d4(0x8f),_0x4384d4(0xb2),_0x4384d4(0x6a),_0x4c6e4a(0x10b),_0x4384d4(0x68),_0x4384d4(0x8a),_0x4384d4(0xb7),_0x3821c1(0x1f6),_0x4384d4(0xa7),_0x4384d4(0xaa),_0x1a1e73(0x1b7),_0x4384d4(0xa1),_0x4384d4(0x8d),_0x4384d4(0x81),_0x4384d4(0x9b),_0x4384d4(0x72),_0x4384d4(0x76),_0x4384d4(0xc7),_0x4384d4(0xb1),_0x4384d4(0xc9),_0x3821c1(0x220),_0x4384d4(0xa8),_0x3821c1(0x21c),_0x1a1e73(0x1ce),_0x4384d4(0xa5),_0x1a1e73(0x1cf),_0x1a1e73(0x194),_0x1a1e73(0x1ea)];return a4_0x49da=function(){return _0x1dc3ea;},a4_0x49da();}
|