@morphllm/morphmcp 0.8.204 → 0.8.205
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/log-utils.js +1 -1
- package/dist/logger.js +1 -1
- package/dist/path-utils.js +1 -1
- package/dist/path-validation.js +1 -1
- package/dist/reflex-tools.js +1 -1
- package/dist/roots-utils.js +1 -1
- package/dist/tool-definitions.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0_0x457be8=a0_0x3476;(function(_0x32276d,_0x1c752b){const _0x245844=a0_0x3476,_0x1a96e0=_0x32276d();while(!![]){try{const _0x4f0bf6=-parseInt(_0x245844(0x12e))/0x1*(-parseInt(_0x245844(0x134))/0x2)+parseInt(_0x245844(0x20b))/0x3*(-parseInt(_0x245844(0x1bc))/0x4)+-parseInt(_0x245844(0x142))/0x5+-parseInt(_0x245844(0x162))/0x6+parseInt(_0x245844(0x1d2))/0x7+-parseInt(_0x245844(0x11a))/0x8+-parseInt(_0x245844(0x19f))/0x9*(-parseInt(_0x245844(0x172))/0xa);if(_0x4f0bf6===_0x1c752b)break;else _0x1a96e0['push'](_0x1a96e0['shift']());}catch(_0x382353){_0x1a96e0['push'](_0x1a96e0['shift']());}}}(a0_0xeb99,0x61a3e));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_0x3c8535 from'fs/promises';import a0_0x5de32a from'path';import a0_0x4fc83b from'os';import{createRequire}from'module';import{z}from'zod';import{zodToJsonSchema}from'zod-to-json-schema';import{getValidRootDirectories}from'./roots-utils.js';import{getOperatingSystemType,logMcpStderr}from'./log-utils.js';import{logger}from'./logger.js';import{executeEditFile}from'@morphllm/morphsdk/tools/fastapply';import{runWarpGrep,LocalRipgrepProvider,GITHUB_SEARCH_TOOL_NAME,GITHUB_SEARCH_DESCRIPTION}from'@morphllm/morphsdk/tools/warp-grep';import{WarpGrepClient,formatResult}from'@morphllm/morphsdk/tools/warp-grep/client';import{compactFileContexts}from'@morphllm/morphsdk/tools/compact';import a0_0x1ec21a from'axios';import{KNOWN_TOOL_NAMES,TOOL_NAMES}from'./tool-definitions.js';import{ListReflexesArgsSchema,ReflexSummaryArgsSchema,GetReflexTracesArgsSchema,LIST_REFLEXES_DESCRIPTION,REFLEX_SUMMARY_DESCRIPTION,GET_REFLEX_TRACES_DESCRIPTION,createReflexApi,runListReflexes,runReflexSummary,runGetReflexTraces}from'./reflex-tools.js';function fixPathRepetition(_0x5bb8bc){const _0x4c1258=a0_0x3476,_0x5b4847=_0x5bb8bc[_0x4c1258(0x1ba)](a0_0x5de32a['sep'])['filter'](Boolean);if(_0x5b4847[_0x4c1258(0x1b2)]<0x2)return null;for(let _0x4dca37=Math[_0x4c1258(0x151)](_0x5b4847[_0x4c1258(0x1b2)]/0x2);_0x4dca37>=0x1;_0x4dca37--){for(let _0x2cefdf=0x0;_0x2cefdf<=_0x5b4847['length']-0x2*_0x4dca37;_0x2cefdf++){const _0x3ea02e=_0x5b4847[_0x4c1258(0x183)](_0x2cefdf,_0x2cefdf+_0x4dca37),_0x36c425=_0x5b4847[_0x4c1258(0x183)](_0x2cefdf+_0x4dca37,_0x2cefdf+0x2*_0x4dca37);if(_0x3ea02e['every']((_0x56ac84,_0x1be98c)=>_0x56ac84===_0x36c425[_0x1be98c])){const _0x187efd=[..._0x5b4847[_0x4c1258(0x183)](0x0,_0x2cefdf),..._0x5b4847[_0x4c1258(0x183)](_0x2cefdf+_0x4dca37)];return a0_0x5de32a[_0x4c1258(0x13c)]+_0x187efd['join'](a0_0x5de32a[_0x4c1258(0x13c)]);}}}return null;}const require=createRequire(import.meta.url);function getPackageVersion(){const _0x13026f=a0_0x3476;try{const _0xe34a5=require(_0x13026f(0x143));return _0xe34a5[_0x13026f(0x233)]??'unknown';}catch(_0x197e73){return logMcpStderr(_0x13026f(0x150),_0x197e73),_0x13026f(0x109);}}function printHelp(){const _0x301f2a=a0_0x3476;console['log'](_0x301f2a(0x22f)+getPackageVersion()),console[_0x301f2a(0x13b)]('\x0aUsage:\x20morph-mcp\x20[options]\x20[allowed-directory\x20...]'),console[_0x301f2a(0x13b)]('\x0aOptions:'),console['log'](_0x301f2a(0x12f)),console[_0x301f2a(0x13b)](_0x301f2a(0x12d)),console[_0x301f2a(0x13b)](_0x301f2a(0x1eb)),console['log'](_0x301f2a(0x20f)),console[_0x301f2a(0x13b)]('\x20\x20morph-mcp'),console[_0x301f2a(0x13b)](_0x301f2a(0x187));}function a0_0xeb99(){const _0x4dace1=['Warning:\x20Could\x20not\x20initialize\x20workspace\x20mode:\x20','RipgrepNotAvailable','Preview\x20changes\x20without\x20applying\x20them.','\x22.\x20Known\x20tools:\x20','Fallback:\x20Using\x20workspace\x20root\x20','REFLEX_SUMMARY','WHEN\x20TO\x20USE\x20vs\x20native\x20edit/patch\x20tools:\x20prefer\x20this\x20tool\x20for\x20large\x20files,\x20multiple\x20or\x20scattered\x20edits,\x20refactors,\x20and\x20whitespace-sensitive\x20changes.\x20A\x20single\x20tiny\x20exact-string\x20replacement\x20can\x20use\x20the\x20native\x20edit/patch\x20tool.\x20If\x20this\x20tool\x20errors\x20or\x20times\x20out,\x20fall\x20back\x20to\x20native\x20edit\x20with\x20exact\x20string\x20matching.\x0a\x0a','Error\x20accessing\x20directory\x20','toLowerCase','Repository\x20owner/repo\x20shorthand\x20(e.g.\x20\x27vercel/next.js\x27).\x20You\x20must\x20provide\x20either\x20github_url\x20or\x20owner_repo.','roots','\x20(new\x20file)','-\x20Read\x20file\x20`','-\x20path:\x20Absolute\x20file\x20path\x20to\x20edit\x0a','Client\x20returned\x20no\x20roots\x20set,\x20keeping\x20current\x20settings','completed','instruction','parse','unknown\x20error','@morphllm/morphmcp\x20','linesAdded','No\x20Morph\x20API\x20key\x20configured.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20an\x20API\x20key,\x20then\x20set\x20MORPH_API_KEY\x20in\x20your\x20MCP\x20configuration.','MCP','version','ms:','\x20tool\x20unavailable\x20-\x20MORPH_API_KEY\x20not\x20provided\x20in\x20MCP\x20config','errors','ENABLE_WORKSPACE_MODE','timed\x20out','finish','tool_call_id','\x20as\x20allowed\x20directory','provider_created','https://morphllm.com/api/error-report','\x20error(s)','Natural-language\x20question/description\x20about\x20the\x20code\x20you\x20want\x20to\x20understand.\x20Good\x20example:\x20\x22Where\x20does\x20auth\x20get\x20handled,\x20what\x20are\x20the\x20different\x20oauth\x20methods\x20supported?\x22,\x20\x22Trace\x20all\x20code\x20that\x20relates\x20to\x20how\x20data\x20is\x20injested\x20and\x20processed\x22.\x20Bad\x20example:\x20\x22auth()\x22,\x20\x22auth\x20login\x20dashoard\x20google\x20email\x22.\x20This\x20tool\x20does\x20NOT\x20accept\x20regex,\x20keyword\x20dumps,\x20or\x20symbol-only\x20queries.','code_edit','[github_codebase_search]\x20Done\x20in\x20','❌\x20Morph\x20Edit\x20Failed:\x20','etimedout','getClientCapabilities','\x22\x20is\x20disabled\x20via\x20the\x20DISABLED_TOOLS\x20environment\x20variable\x20in\x20your\x20MCP\x20configuration.\x20Please\x20use\x20an\x20alternative\x20approach.','Usage:\x20mcp-server-filesystem\x20[allowed-directory]\x20[additional-directories...]','Use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code\x20blocks.\x20Include\x20just\x20enough\x20surrounding\x20context\x20to\x20locate\x20each\x20edit\x20precisely.\x0a\x0a','codebase_search','unknown','terminated','Morph\x20Fast\x20Context\x20subagent\x20performed\x20search\x20on\x20repository:','list_directory\x20','application/json','glob','Invalid\x20arguments:\x20','LIST_REFLEXES','realpath','match','-\x20For\x20deletions:\x20show\x20context\x20before\x20and\x20after,\x20omit\x20the\x20deleted\x20lines\x0a','morph-mcp','content','Morph\x20Edit\x20','ms.\x20Success:\x20','\x27\x20in\x20`','join','2259816yRkgXf','node_modules','PWD','FileNotFound','Branch\x20to\x20search\x20(uses\x20latest\x20commit)','new_string','Unknown\x20tool:\x20','api-key','catch','metadata','isArray','\x20failed:\x20','MORPH_API_URL','exit','file','Parent\x20directory\x20does\x20not\x20exist:\x20','morph-','Warning:\x20','debug','\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20message\x20and\x20exit','1lPqABQ','\x20\x20--api-key\x20<key>\x20\x20Morph\x20API\x20key\x20(takes\x20priority\x20over\x20MORPH_API_KEY\x20env\x20var)','SymlinkError','-\x20Batch\x20multiple\x20edits\x20to\x20the\x20same\x20file\x20in\x20one\x20call\x0a','warn','\x20-\x20','1259926wFLyDR','timings','mcp-filesystem','map','role','edit_file','Invalid\x20Morph\x20API\x20key\x20format.\x20API\x20keys\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20a\x20valid\x20API\x20key.','log','sep','Relevant\x20context\x20found:','`\x20in\x20`','Rate\x20limited:\x20You\x27ve\x20exceeded\x20your\x20Morph\x20API\x20usage\x20limits.\x20Please\x20visit\x20https://morphllm.com\x20to\x20check\x20your\x20plan\x20and\x20purchase\x20additional\x20credits.','CODEBASE_SEARCH','stringify','2194205OxCVLr','../package.json','push','grep','MORPH_LARGE_APPLY','.git','default',']\x20Done\x20in\x20','Morph\x20FastApply\x20failed\x20without\x20error\x20message','safeParse','Applied','.\x20Changes:\x20','description','WarpGrepError','Warning:\x20Unable\x20to\x20determine\x20package\x20version:','floor','composer.json','lines','toISOString','trim','name','constructor','warp_grep_complete','Created\x20File','now','readFile','argv','text','some','filePath','array','morph-warp-grep-v2.1','1927482MUbXQp','enum','isDirectory','.vscode','GET_REFLEX_TRACES','github_url','error','A\x20brief\x20single\x20first-person\x20sentence\x20instruction\x20describing\x20changes\x20being\x20made\x20to\x20this\x20file.\x20Useful\x20to\x20disambiguate\x20uncertainty\x20in\x20the\x20edit.','dryRun','WORKSPACE_ROOT','string','github_codebase_search','owner_repo','<file\x20path=\x22','--api-key','Error\x20running\x20fast\x20context\x20search:\x20','4670icgccT','file_path','API\x20error\x20(auth/rate-limit)','Bearer\x20','includes','describe','[could\x20not\x20read\x20file:\x20','Warning:\x20Workspace\x20fallback\x20failed:\x20','Failed\x20to\x20request\x20roots\x20from\x20client:','glob\x20\x27','stat','GitHub\x20repository\x20URL\x20to\x20search\x20(e.g.\x20\x27https://github.com/vercel/next.js\x27).\x20You\x20must\x20provide\x20either\x20github_url\x20or\x20owner_repo.','LocalRipgrepProvider','target_filepath','search_string','tool_call_error','source','slice','changes','linesRemoved','repo_path','\x20\x20morph-mcp\x20--api-key\x20sk-xxx\x20~/repo','list_directory','false','path_validation_resolved','resolve','Disabled\x20tools:\x20','optional','stack','Repository\x20identifier','Example\x20format:\x0a','Tool\x20','Fill\x20out\x20extra\x20details\x20that\x20you\x20as\x20a\x20smart\x20model\x20can\x20infer\x20in\x20the\x20question\x20to\x20aid\x20the\x20toolin\x20its\x20search.\x20','response','timeout','Rules:\x0a','searchGitHub','arguments','success','completionId','command','Error:\x20','Here\x20is\x20the\x20content\x20of\x20files:\x0a','--help','read','21555kwvngX','number','linesModified','instructions','Morph\x20Edit\x20Preview','-\x20ALWAYS\x20use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20for\x20unchanged\x20sections\x20(omitting\x20this\x20marker\x20will\x20cause\x20deletions)\x0a','sk-','\x20chars)','//\x20...\x20existing\x20code\x20...\x0aFIRST_EDIT\x0a//\x20...\x20existing\x20code\x20...\x0aSECOND_EDIT\x0a//\x20...\x20existing\x20code\x20...\x0a\x0a','message','oninitialized','status',',\x20removed\x20','Failed\x20to\x20request\x20initial\x20roots\x20from\x20client:','MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.','\x20\x203.\x20Workspace\x20mode\x20(default\x20behavior,\x20set\x20ENABLE_WORKSPACE_MODE=false\x20to\x20disable)','DISABLED_TOOLS','.cursor','\x0a...\x20(truncated,\x20total:\x20','length','-\x20Preserve\x20exact\x20indentation\x0a','RipgrepError','indexOf','Unknown\x20error','GitHub\x20search\x20failed:\x20','**PRIMARY\x20TOOL\x20FOR\x20EDITING\x20FILES.**\x20Fast,\x20accurate,\x20and\x20prevents\x20context\x20pollution.\x20Especially\x20useful\x20when\x20making\x20multiple\x20edits\x20in\x20one\x20file:\x20describe\x20all\x20changes\x20in\x20a\x20single\x20call\x20and\x20the\x20semantic\x20edit\x20applies\x20them\x20all\x20at\x20once,\x20more\x20accurately\x20and\x20faster\x20than\x20sequential\x20edits.\x20Unlike\x20search-and-replace\x20or\x20patch\x20edits\x20which\x20do\x20narrow\x20edits\x20one\x20at\x20a\x20time,\x20with\x20this\x20tool\x20you\x20should\x20do\x20all\x20your\x20code\x20changes\x20in\x20one\x20go\x20separated\x20by\x20`//\x20...\x20existing\x20code\x20...`\x20markers.\x20This\x20saves\x20tokens\x20and\x20improves\x20performance\x20because\x20you\x20do\x20not\x20need\x20to\x20reread\x20files\x20before\x20edits.\x20All\x20three\x20parameters\x20are\x20required.\x0a\x0a','MORPH_WARP_GREP_TIMEOUT','split','.\x20Path:\x20','14636VTYnyk','files','setNotificationHandler','min','EDIT_FILE','FileReadError','-\x20Glob\x20search\x20`','data','Specific\x20commit\x20hash\x20to\x20search','Failed\x20to\x20read\x20file:\x20','\x22>\x0a','The\x20absolute\x20path\x20of\x20the\x20folder\x20where\x20the\x20search\x20should\x20be\x20performed.\x20In\x20multi-repo\x20workspaces,\x20you\x20have\x20to\x20specify\x20a\x20subfolder\x20where\x20the\x20search\x20should\x20be\x20performed,\x20to\x20avoid\x20searching\x20across\x20all\x20repos','assistant','-\x20Listed\x20directory\x20`','grep\x20\x27','-\x20Grepped\x20\x27','Filter\x20to\x20specific\x20directories,\x20empty\x20for\x20all','SubToolError','pattern','tool','ENOENT','user','2135868XivWrU','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20workspace\x20mode','--api-key=','completed_with_file_errors','turns','utf-8','grep_search','substring','boolean','ToolException','path','context','Branch\x20to\x20search\x20(defaults\x20to\x20repo\x27s\x20default\x20branch)','inputSchema','filter','Search\x20type\x20hint.\x20Use\x20\x27node_modules\x27\x20when\x20searching\x20inside\x20node_modules\x20or\x20other\x20dependency\x20directories\x20that\x20are\x20normally\x20excluded.','morph-v3-large','WarpGrep\x20sub-tool\x20errors:\x20','\x20disabled\x20via\x20DISABLED_TOOLS','Invalid\x20arguments\x20for\x20morph_edit_file:\x20','\x22>\x0aError\x20reading\x20file:\x20','edit','TimeoutError','A\x20code\x20exploration\x20tool,\x20use\x20this\x20tool\x20when\x20exploring\x20an\x20unfamiliar\x20codebase,\x20and\x20you\x27re\x20unsure\x20of\x20the\x20exact\x20file\x20or\x20string\x20to\x20look\x20for.\x20This\x20tool\x20will\x20find\x20all\x20relevant\x20bits\x20of\x20code\x20given\x20a\x20natural\x20lanugage\x20description,\x20or\x20questin\x20of\x20the\x20thing\x20you\x27re\x20looking\x20for.\x20','path_validation_failed','\x20\x20-v,\x20--version\x20\x20\x20\x20Print\x20version\x20and\x20exit','messages','PathError','morph-v3-fast','listRoots','runWarpGrep_call','UnknownError','api_request_start','ReadError','dirname','has','[github_codebase_search]\x20Failed\x20in\x20','homedir','Cargo.toml','startsWith','BinaryFile','basename','payload','\x20valid\x20directories','\x0a</file>','cwd','path_validation_start','Updated\x20allowed\x20directories\x20from\x20MCP\x20roots:\x20','-\x20code_edit:\x20Only\x20the\x20changed\x20lines\x20with\x20//\x20...\x20existing\x20code\x20...\x20markers\x0a\x0a','target_file','branch','env','access','code','Tool\x20\x22','0.2.0','object','501bStYrj','No\x20valid\x20root\x20directories\x20provided\x20by\x20client','At\x20least\x20one\x20directory\x20must\x20be\x20provided\x20by\x20EITHER\x20method\x20for\x20the\x20server\x20to\x20operate.','connect','\x0aExamples:','github_search_start','requiresApiKey','Authentication\x20failed:\x20Your\x20Morph\x20API\x20key\x20is\x20invalid\x20or\x20has\x20been\x20revoked.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20a\x20valid\x20API\x20key,\x20then\x20update\x20your\x20MCP\x20configuration.','package.json','all','GITHUB_CODEBASE_SEARCH',',\x20modified\x20','You\x20should\x20ALWAYS\x20use\x20this\x20tool\x20to\x20start\x20your\x20search.\x20','terminationReason','Parameters:\x0a','Workspace\x20mode\x20enabled:\x20Using\x20','tool_calls'];a0_0xeb99=function(){return _0x4dace1;};return a0_0xeb99();}const cliArgs=process[a0_0x457be8(0x15c)]['slice'](0x2),VERSION_FLAGS=new Set(['--version','-v','-V']),HELP_FLAGS=new Set([a0_0x457be8(0x19d),'-h']);cliArgs[a0_0x457be8(0x15e)](_0x5dafe5=>VERSION_FLAGS[a0_0x457be8(0x1f5)](_0x5dafe5))&&(console['log'](a0_0x457be8(0x22f)+getPackageVersion()),process[a0_0x457be8(0x127)](0x0));cliArgs['some'](_0xccba06=>HELP_FLAGS[a0_0x457be8(0x1f5)](_0xccba06))&&(printHelp(),process[a0_0x457be8(0x127)](0x0));function getCliArg(_0x4318ac){const _0x5a4f2c=a0_0x457be8;for(let _0x40d353=0x0;_0x40d353<cliArgs[_0x5a4f2c(0x1b2)];_0x40d353++){const _0x5de584=cliArgs[_0x40d353];if(_0x5de584[_0x5a4f2c(0x1f9)]('--'+_0x4318ac+'='))return _0x5de584['slice'](('--'+_0x4318ac+'=')[_0x5a4f2c(0x1b2)]);if(_0x5de584==='--'+_0x4318ac&&_0x40d353+0x1<cliArgs['length'])return cliArgs[_0x40d353+0x1];}return undefined;}const args=[];for(let i=0x0;i<cliArgs[a0_0x457be8(0x1b2)];i++){const arg=cliArgs[i];if(VERSION_FLAGS['has'](arg)||HELP_FLAGS[a0_0x457be8(0x1f5)](arg))continue;if(arg[a0_0x457be8(0x1f9)](a0_0x457be8(0x1d4)))continue;if(arg===a0_0x457be8(0x170)){i++;continue;}args[a0_0x457be8(0x144)](arg);}const WORKSPACE_ROOT=process[a0_0x457be8(0x205)][a0_0x457be8(0x16b)]||process[a0_0x457be8(0x205)][a0_0x457be8(0x11c)]||process[a0_0x457be8(0x1ff)](),ENABLE_WORKSPACE_MODE=process['env'][a0_0x457be8(0xf7)]!==a0_0x457be8(0x189),MORPH_API_KEY=getCliArg(a0_0x457be8(0x121))??process['env']['MORPH_API_KEY'],MORPH_API_URL=process['env'][a0_0x457be8(0x126)],MORPH_LARGE_APPLY=process[a0_0x457be8(0x205)][a0_0x457be8(0x146)]!==a0_0x457be8(0x189),MORPH_WARP_GREP_TIMEOUT=process[a0_0x457be8(0x205)][a0_0x457be8(0x1b9)]?parseInt(process[a0_0x457be8(0x205)][a0_0x457be8(0x1b9)],0xa):undefined,OPERATING_SYSTEM_TYPE=getOperatingSystemType(),DEFAULT_DISABLED_TOOLS=new Set(),DISABLED_TOOLS=process[a0_0x457be8(0x205)]['DISABLED_TOOLS']?new Set(process['env'][a0_0x457be8(0x1af)][a0_0x457be8(0x1ba)](',')['map'](_0x5baefd=>_0x5baefd[a0_0x457be8(0x155)]())[a0_0x457be8(0x1e0)](_0x4680d4=>_0x4680d4[a0_0x457be8(0x1b2)]>0x0)):DEFAULT_DISABLED_TOOLS;function a0_0x3476(_0x3afb36,_0x1453d1){_0x3afb36=_0x3afb36-0xf5;const _0xeb99fd=a0_0xeb99();let _0x34762c=_0xeb99fd[_0x3afb36];return _0x34762c;}if(DISABLED_TOOLS['size']>0x0){for(const tool of DISABLED_TOOLS){!KNOWN_TOOL_NAMES[a0_0x457be8(0x1f5)](tool)&&console['error']('Warning:\x20DISABLED_TOOLS\x20contains\x20unknown\x20tool\x20\x22'+tool+a0_0x457be8(0x21f)+[...KNOWN_TOOL_NAMES][a0_0x457be8(0x119)](',\x20'));}console[a0_0x457be8(0x168)](a0_0x457be8(0x18c)+[...DISABLED_TOOLS][a0_0x457be8(0x119)](',\x20'));}MORPH_API_KEY&&!MORPH_API_KEY[a0_0x457be8(0x1f9)]('sk-')&&!MORPH_API_KEY[a0_0x457be8(0x1f9)](a0_0x457be8(0x12a))&&logMcpStderr('Warning:\x20API\x20key\x20format\x20may\x20be\x20incorrect.\x20Morph\x20API\x20keys\x20typically\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27');async function reportMorphError(_0x1ec39d){const _0xfc290=a0_0x457be8;try{await a0_0x1ec21a['post'](_0xfc290(0xfd),{..._0x1ec39d,'timestamp':new Date()[_0xfc290(0x154)](),'source':_0x1ec39d['source']||_0xfc290(0x136),'os_type':OPERATING_SYSTEM_TYPE,'context':{'os_type':OPERATING_SYSTEM_TYPE,..._0x1ec39d[_0xfc290(0x1dd)]}},{'timeout':0x1388,'headers':{'Content-Type':_0xfc290(0x10d),'Authorization':_0xfc290(0x175)+MORPH_API_KEY}});}catch{}}function extractStatusCode(_0x452445,_0x3d34c7){const _0x5f2df5=a0_0x457be8;if(_0x452445&&typeof _0x452445===_0x5f2df5(0x20a)&&_0x5f2df5(0x1aa)in _0x452445)return _0x452445['status'];if(_0x452445&&typeof _0x452445===_0x5f2df5(0x20a)&&_0x5f2df5(0x193)in _0x452445)return _0x452445[_0x5f2df5(0x193)]?.[_0x5f2df5(0x1aa)];const _0x199d40=_0x3d34c7[_0x5f2df5(0x112)](/\b(401|429)\b/);return _0x199d40?parseInt(_0x199d40[0x1],0xa):null;}function handleMorphAPIError(_0x43c570){const _0x492fd8=a0_0x457be8,_0xd81c3f=_0x43c570 instanceof Error?_0x43c570[_0x492fd8(0x1a8)]:String(_0x43c570),_0x2baf6e=extractStatusCode(_0x43c570,_0xd81c3f);switch(_0x2baf6e){case 0x191:return{'content':[{'type':'text','text':_0x492fd8(0x212)}],'isError':!![]};case 0x1ad:return{'content':[{'type':_0x492fd8(0x15d),'text':_0x492fd8(0x13f)}],'isError':!![]};default:return null;}}let reflexApi=null;function getReflexApi(){if(!reflexApi)reflexApi=createReflexApi(MORPH_API_KEY,MORPH_API_URL);return reflexApi;}async function runReflexTool(_0x2b3735,_0x53900e){const _0x4412a7=a0_0x457be8,_0x1d1f62=Date[_0x4412a7(0x15a)]();try{const _0x3ecac4=await _0x53900e();return logMcpStderr('['+_0x2b3735+_0x4412a7(0x149)+(Date[_0x4412a7(0x15a)]()-_0x1d1f62)+'ms'),{'content':[{'type':_0x4412a7(0x15d),'text':_0x3ecac4}]};}catch(_0xa0ebac){const _0x55f5f0=handleMorphAPIError(_0xa0ebac);if(_0x55f5f0)return _0x55f5f0;const _0x214837=Date[_0x4412a7(0x15a)]()-_0x1d1f62,_0x326438=_0xa0ebac instanceof Error?_0xa0ebac['message']:String(_0xa0ebac);return logMcpStderr('['+_0x2b3735+']\x20Failed\x20in\x20'+_0x214837+_0x4412a7(0x234),_0x326438),reportMorphError({'error_message':_0x326438,'error_type':_0xa0ebac instanceof Error?_0xa0ebac[_0x4412a7(0x157)]['name']:_0x4412a7(0x1f1),'context':{'tool':_0x2b3735},'stack_trace':_0xa0ebac instanceof Error?_0xa0ebac[_0x4412a7(0x18e)]:undefined,'source':'mcp-filesystem','tool':_0x2b3735,'latency_ms':_0x214837})[_0x4412a7(0x122)](()=>{}),{'content':[{'type':_0x4412a7(0x15d),'text':_0x2b3735+_0x4412a7(0x125)+_0x326438}],'isError':!![]};}}args['length']===0x0&&!ENABLE_WORKSPACE_MODE&&(logMcpStderr(a0_0x457be8(0x106)),logMcpStderr('Note:\x20Allowed\x20directories\x20can\x20be\x20provided\x20via:'),logMcpStderr('\x20\x201.\x20Command-line\x20arguments\x20(shown\x20above)'),logMcpStderr('\x20\x202.\x20MCP\x20roots\x20protocol\x20(if\x20client\x20supports\x20it)'),logMcpStderr(a0_0x457be8(0x1ae)),logMcpStderr(a0_0x457be8(0x20d)));function normalizePath(_0x226c36){return a0_0x5de32a['normalize'](_0x226c36);}function expandHome(_0x2a6b7a){const _0x4ed18d=a0_0x457be8;if(_0x2a6b7a[_0x4ed18d(0x1f9)]('~/')||_0x2a6b7a==='~')return a0_0x5de32a[_0x4ed18d(0x119)](a0_0x4fc83b[_0x4ed18d(0x1f7)](),_0x2a6b7a[_0x4ed18d(0x183)](0x1));return _0x2a6b7a;}let allowedDirectories=await Promise[a0_0x457be8(0x214)](args[a0_0x457be8(0x137)](async _0x34af70=>{const _0x111ae4=a0_0x457be8,_0x474341=expandHome(_0x34af70),_0x11abaf=a0_0x5de32a['resolve'](_0x474341);try{const _0xe0b000=await a0_0x3c8535[_0x111ae4(0x111)](_0x11abaf);return normalizePath(_0xe0b000);}catch(_0x42783d){return normalizePath(_0x11abaf);}}));if(ENABLE_WORKSPACE_MODE&&args[a0_0x457be8(0x1b2)]===0x0)try{const workspaceDir=await detectWorkspaceRoot(WORKSPACE_ROOT);workspaceDir&&(allowedDirectories[a0_0x457be8(0x144)](workspaceDir),logMcpStderr(a0_0x457be8(0x21a)+workspaceDir+a0_0x457be8(0xfb)));}catch(a0_0x28148b){logMcpStderr(a0_0x457be8(0x21c)+a0_0x28148b);}async function detectWorkspaceRoot(_0x3ff906){const _0x3582d6=a0_0x457be8;let _0x25c016=a0_0x5de32a[_0x3582d6(0x18b)](_0x3ff906);const _0x29ec45=[_0x3582d6(0x147),_0x3582d6(0x165),_0x3582d6(0x213),_0x3582d6(0x1f8),'pyproject.toml','go.mod',_0x3582d6(0x1b0),'tsconfig.json',_0x3582d6(0x152)];while(_0x25c016!==a0_0x5de32a[_0x3582d6(0x1f4)](_0x25c016)){for(const _0x1965eb of _0x29ec45){const _0x4500b6=a0_0x5de32a[_0x3582d6(0x119)](_0x25c016,_0x1965eb);try{return await a0_0x3c8535[_0x3582d6(0x206)](_0x4500b6),normalizePath(_0x25c016);}catch{}}_0x25c016=a0_0x5de32a['dirname'](_0x25c016);}return normalizePath(_0x3ff906);}await Promise[a0_0x457be8(0x214)](args['map'](async _0x38ceda=>{const _0x4676df=a0_0x457be8;try{const _0xbe61bb=await a0_0x3c8535[_0x4676df(0x17c)](expandHome(_0x38ceda));!_0xbe61bb[_0x4676df(0x164)]()&&(logMcpStderr(_0x4676df(0x19b)+_0x38ceda+'\x20is\x20not\x20a\x20directory'),process[_0x4676df(0x127)](0x1));}catch(_0x2e821d){logMcpStderr(_0x4676df(0x223)+_0x38ceda+':',_0x2e821d),process[_0x4676df(0x127)](0x1);}}));async function validatePath(_0x5c2c71){const _0x263c5e=a0_0x457be8,_0x23bc9c=expandHome(_0x5c2c71),_0x4fce84=a0_0x5de32a[_0x263c5e(0x18b)](_0x23bc9c);logger[_0x263c5e(0x12c)](_0x263c5e(0x232),_0x263c5e(0x200),{'raw_path':_0x5c2c71,'absolute':_0x4fce84});try{const _0x264624=await a0_0x3c8535[_0x263c5e(0x111)](_0x4fce84);return logger[_0x263c5e(0x12c)]('MCP',_0x263c5e(0x18a),{'resolved':_0x264624,'symlink':_0x264624!==_0x4fce84}),_0x264624;}catch(_0x330375){if(_0x330375['code']===_0x263c5e(0x1d0)){const _0x5df982=a0_0x5de32a['dirname'](_0x4fce84);try{const _0x1f015e=await a0_0x3c8535[_0x263c5e(0x111)](_0x5df982),_0x57b662=a0_0x5de32a['join'](_0x1f015e,a0_0x5de32a[_0x263c5e(0x1fb)](_0x4fce84));return logger[_0x263c5e(0x12c)]('MCP',_0x263c5e(0x18a),{'resolved':_0x57b662,'new_file':!![]}),_0x57b662;}catch{logger[_0x263c5e(0x168)](_0x263c5e(0x232),_0x263c5e(0x1ea),{'raw_path':_0x5c2c71,'error':_0x263c5e(0x129)+_0x5df982});throw new Error('Parent\x20directory\x20does\x20not\x20exist:\x20'+_0x5df982);}}logger['error'](_0x263c5e(0x232),_0x263c5e(0x1ea),{'raw_path':_0x5c2c71,'error':_0x330375[_0x263c5e(0x1a8)]});throw _0x330375;}}const MorphEditFileArgsSchema=z['object']({'path':z[a0_0x457be8(0x16c)](),'code_edit':z['string']()['describe']('Changed\x20lines\x20with\x20minimal\x20context.\x20Use\x20placeholders\x20intelligently\x20like\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code.'),'instruction':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x177)](a0_0x457be8(0x169)),'dryRun':z[a0_0x457be8(0x1da)]()[a0_0x457be8(0x148)](![])[a0_0x457be8(0x177)](a0_0x457be8(0x21e))}),CODEBASE_SEARCH_QUERY_DESCRIPTION=a0_0x457be8(0xff),WarpGrepArgsSchema=z['object']({'search_string':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x177)](CODEBASE_SEARCH_QUERY_DESCRIPTION),'repo_path':z['string']()[a0_0x457be8(0x177)](a0_0x457be8(0x1c7)),'search_type':z[a0_0x457be8(0x163)](['default','node_modules'])[a0_0x457be8(0x18d)]()[a0_0x457be8(0x177)](a0_0x457be8(0x1e1))}),WarpGrepGitHubArgsSchema=z[a0_0x457be8(0x20a)]({'search_string':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x177)](CODEBASE_SEARCH_QUERY_DESCRIPTION),'github_url':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x18d)]()[a0_0x457be8(0x177)](a0_0x457be8(0x17d)),'owner_repo':z['string']()[a0_0x457be8(0x18d)]()['describe'](a0_0x457be8(0x225)),'branch':z[a0_0x457be8(0x16c)]()['optional']()[a0_0x457be8(0x177)](a0_0x457be8(0x1de))}),CodebaseSearchArgsSchema=z[a0_0x457be8(0x20a)]({'query':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x177)](CODEBASE_SEARCH_QUERY_DESCRIPTION),'repoId':z[a0_0x457be8(0x16c)]()['describe'](a0_0x457be8(0x18f)),'branch':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x18d)]()[a0_0x457be8(0x177)](a0_0x457be8(0x11e)),'commitHash':z[a0_0x457be8(0x16c)]()[a0_0x457be8(0x18d)]()[a0_0x457be8(0x177)](a0_0x457be8(0x1c4)),'targetDirectories':z[a0_0x457be8(0x160)](z[a0_0x457be8(0x16c)]())[a0_0x457be8(0x148)]([])[a0_0x457be8(0x177)](a0_0x457be8(0x1cc)),'limit':z[a0_0x457be8(0x1a0)]()['optional']()[a0_0x457be8(0x148)](0xa)['describe']('Max\x20results\x20to\x20return')}),server=new Server({'name':a0_0x457be8(0x114),'version':a0_0x457be8(0x209)},{'capabilities':{'tools':{}}});server['setRequestHandler'](ListToolsRequestSchema,async()=>{const _0x24d00b=a0_0x457be8,_0x4ac014=[{'name':TOOL_NAMES[_0x24d00b(0x1c0)],'description':_0x24d00b(0x1b8)+_0x24d00b(0x222)+_0x24d00b(0x219)+_0x24d00b(0x229)+'-\x20instruction:\x20Brief\x20first-person\x20description\x20of\x20what\x20you\x27re\x20changing\x0a'+_0x24d00b(0x202)+_0x24d00b(0x107)+_0x24d00b(0x190)+_0x24d00b(0x1a7)+_0x24d00b(0x195)+_0x24d00b(0x1a4)+_0x24d00b(0x1b3)+_0x24d00b(0x113)+_0x24d00b(0x131),'inputSchema':zodToJsonSchema(MorphEditFileArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES['CODEBASE_SEARCH'],'description':_0x24d00b(0x1e9)+CODEBASE_SEARCH_QUERY_DESCRIPTION+'\x20'+_0x24d00b(0x192)+_0x24d00b(0x217)+'','inputSchema':zodToJsonSchema(WarpGrepArgsSchema),'requiresApiKey':!![]},{'name':GITHUB_SEARCH_TOOL_NAME,'description':GITHUB_SEARCH_DESCRIPTION,'inputSchema':zodToJsonSchema(WarpGrepGitHubArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x24d00b(0x110)],'description':LIST_REFLEXES_DESCRIPTION,'inputSchema':zodToJsonSchema(ListReflexesArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES['REFLEX_SUMMARY'],'description':REFLEX_SUMMARY_DESCRIPTION,'inputSchema':zodToJsonSchema(ReflexSummaryArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x24d00b(0x166)],'description':GET_REFLEX_TRACES_DESCRIPTION,'inputSchema':zodToJsonSchema(GetReflexTracesArgsSchema),'requiresApiKey':!![]}],_0x4b2fb9=_0x4ac014[_0x24d00b(0x1e0)](_0x4eb399=>{const _0x338576=_0x24d00b;if(DISABLED_TOOLS[_0x338576(0x1f5)](_0x4eb399[_0x338576(0x156)]))return console[_0x338576(0x168)](_0x338576(0x191)+_0x4eb399[_0x338576(0x156)]+_0x338576(0x1e4)),![];if(_0x338576(0x211)in _0x4eb399&&_0x4eb399['requiresApiKey']&&!MORPH_API_KEY)return logMcpStderr(_0x338576(0x12b)+_0x4eb399[_0x338576(0x156)]+_0x338576(0xf5)),![];return!![];});return{'tools':_0x4b2fb9[_0x24d00b(0x137)](_0x933f97=>({'name':_0x933f97['name'],'description':_0x933f97[_0x24d00b(0x14e)],'inputSchema':_0x933f97[_0x24d00b(0x1df)]}))};}),server['setRequestHandler'](CallToolRequestSchema,async _0x345d8b=>{const _0x5ecd8a=a0_0x457be8,{name:_0x3d9e3d,arguments:_0x40ca10}=_0x345d8b['params'],_0x395344=Date['now']();logger['debug'](_0x5ecd8a(0x232),'tool_call_received',{'tool':_0x3d9e3d,'args':_0x3d9e3d===_0x5ecd8a(0x139)?{'path':_0x40ca10?.[_0x5ecd8a(0x1dc)],'instruction':_0x40ca10?.[_0x5ecd8a(0x22c)]||_0x40ca10?.[_0x5ecd8a(0x1a2)],'dryRun':_0x40ca10?.['dryRun']}:_0x40ca10});try{if(!MORPH_API_KEY)return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x231)}],'isError':!![]};if(!MORPH_API_KEY[_0x5ecd8a(0x1f9)](_0x5ecd8a(0x1a5))&&!MORPH_API_KEY['startsWith'](_0x5ecd8a(0x12a)))return{'content':[{'type':'text','text':_0x5ecd8a(0x13a)}],'isError':!![]};if(DISABLED_TOOLS['has'](_0x3d9e3d))return{'content':[{'type':'text','text':_0x5ecd8a(0x208)+_0x3d9e3d+_0x5ecd8a(0x105)}],'isError':![]};switch(_0x3d9e3d){case TOOL_NAMES[_0x5ecd8a(0x1c0)]:{let _0x20ffd6=_0x40ca10;if(_0x20ffd6&&typeof _0x20ffd6===_0x5ecd8a(0x20a)){if(!(_0x5ecd8a(0x1dc)in _0x20ffd6)){const _0x4bf471=_0x20ffd6[_0x5ecd8a(0x203)]??_0x20ffd6[_0x5ecd8a(0x15f)]??_0x20ffd6[_0x5ecd8a(0x17f)]??_0x20ffd6[_0x5ecd8a(0x173)]??_0x20ffd6[_0x5ecd8a(0x128)];if(_0x4bf471)_0x20ffd6={..._0x20ffd6,'path':_0x4bf471};}'instructions'in _0x20ffd6&&!(_0x5ecd8a(0x22c)in _0x20ffd6)&&(_0x20ffd6={..._0x20ffd6,'instruction':_0x20ffd6[_0x5ecd8a(0x1a2)]});if(!(_0x5ecd8a(0x100)in _0x20ffd6)){const _0x57374a=_0x20ffd6[_0x5ecd8a(0x207)]??_0x20ffd6[_0x5ecd8a(0x11f)]??_0x20ffd6['content']??_0x20ffd6[_0x5ecd8a(0x1e7)];if(_0x57374a)_0x20ffd6={..._0x20ffd6,'code_edit':_0x57374a};}}const _0x419f49=MorphEditFileArgsSchema[_0x5ecd8a(0x14b)](_0x20ffd6);if(!_0x419f49[_0x5ecd8a(0x198)])throw new Error(_0x5ecd8a(0x1e5)+_0x419f49[_0x5ecd8a(0x168)]);const _0x71042d=await validatePath(_0x419f49['data'][_0x5ecd8a(0x1dc)]);let _0x4faf09=null,_0x9b6df0=!![],_0x64ba2d=null;try{_0x4faf09=await a0_0x3c8535[_0x5ecd8a(0x15b)](_0x71042d,_0x5ecd8a(0x1d7)),logger['debug'](_0x5ecd8a(0x232),'file_read_complete',{'path':_0x71042d,'size_bytes':_0x4faf09[_0x5ecd8a(0x1b2)]});}catch(_0x4a2dad){const _0x284403=_0x4a2dad['code'];_0x284403===_0x5ecd8a(0x1d0)?(_0x9b6df0=![],_0x4faf09='',logger[_0x5ecd8a(0x12c)](_0x5ecd8a(0x232),'file_read_complete',{'path':_0x71042d,'exists':![]})):(_0x64ba2d=_0x5ecd8a(0x1c5)+(_0x284403||'unknown')+_0x5ecd8a(0x133)+(_0x4a2dad instanceof Error?_0x4a2dad[_0x5ecd8a(0x1a8)]:String(_0x4a2dad)),logger[_0x5ecd8a(0x168)](_0x5ecd8a(0x232),'file_read_failed',{'path':_0x71042d,'error':_0x64ba2d}),logMcpStderr(_0x5ecd8a(0x12b)+_0x64ba2d));}let _0x8a68dd;try{const _0x59d528=MORPH_API_KEY;if(!_0x59d528)throw new Error(_0x5ecd8a(0x1ad));const _0x338505=a0_0x5de32a['dirname'](_0x71042d),_0x15848a=a0_0x5de32a['basename'](_0x71042d);logger[_0x5ecd8a(0x12c)](_0x5ecd8a(0x232),_0x5ecd8a(0x1f2),{'model':_0x5ecd8a(0x1ee),'path':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x1dc)],'instruction_len':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x22c)]['length'],'code_edit_len':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x100)]['length'],'original_code_len':_0x4faf09?.[_0x5ecd8a(0x1b2)]??0x0,'dry_run':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x16a)]});const _0x35d54f=Date['now'](),_0x19dd33=await executeEditFile({'target_filepath':_0x15848a,'code_edit':_0x419f49[_0x5ecd8a(0x1c3)]['code_edit'],'instruction':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x22c)]},{'morphApiKey':_0x59d528,'morphApiUrl':MORPH_API_URL,'large':MORPH_LARGE_APPLY,'baseDir':_0x338505,'autoWrite':!_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x16a)],'generateUdiff':![],'debug':![]}),_0x46ae19=Date['now']()-_0x35d54f;_0x8a68dd=_0x19dd33[_0x5ecd8a(0x199)];if(!_0x19dd33['success'])throw new Error(_0x19dd33[_0x5ecd8a(0x168)]||_0x5ecd8a(0x14a));const _0x342a55=_0x19dd33[_0x5ecd8a(0x184)],_0x340643='added\x20'+_0x342a55[_0x5ecd8a(0x230)]+_0x5ecd8a(0x1ab)+_0x342a55[_0x5ecd8a(0x185)]+_0x5ecd8a(0x216)+_0x342a55[_0x5ecd8a(0x1a1)];logger['debug']('MCP','tool_call_complete',{'tool':'edit_file','success':!![],'latency_ms':Date[_0x5ecd8a(0x15a)]()-_0x395344,'edit_latency_ms':_0x46ae19,'changes':{'added':_0x342a55[_0x5ecd8a(0x230)],'removed':_0x342a55['linesRemoved'],'modified':_0x342a55[_0x5ecd8a(0x1a1)]},'completion_id':_0x8a68dd});if(_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x16a)])return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x1a3)+(_0x9b6df0?'':_0x5ecd8a(0x227))+':\x20'+_0x419f49[_0x5ecd8a(0x1c3)]['instruction']+_0x5ecd8a(0x14d)+_0x340643+_0x5ecd8a(0x1bb)+_0x419f49['data'][_0x5ecd8a(0x1dc)]+'.'}]};return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x116)+(_0x9b6df0?_0x5ecd8a(0x14c):_0x5ecd8a(0x159))+':\x20'+_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x22c)]+_0x5ecd8a(0x14d)+_0x340643+_0x5ecd8a(0x1bb)+_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x1dc)]+'.'}]};}catch(_0x5d2754){const _0x39fc6b=handleMorphAPIError(_0x5d2754);if(_0x39fc6b)return logger[_0x5ecd8a(0x168)](_0x5ecd8a(0x232),'tool_call_error',{'tool':'edit_file','error':_0x5ecd8a(0x174),'latency_ms':Date['now']()-_0x395344}),_0x39fc6b;const _0x3df290=_0x5d2754 instanceof Error?_0x5d2754[_0x5ecd8a(0x1a8)]:String(_0x5d2754);return logger[_0x5ecd8a(0x168)](_0x5ecd8a(0x232),_0x5ecd8a(0x181),{'tool':_0x5ecd8a(0x139),'error':_0x3df290,'path':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x1dc)],'validated_path':_0x71042d,'latency_ms':Date[_0x5ecd8a(0x15a)]()-_0x395344,'stack':_0x5d2754 instanceof Error?_0x5d2754[_0x5ecd8a(0x18e)]:undefined}),reportMorphError({'error_message':_0x3df290,'error_type':_0x5d2754 instanceof Error?_0x5d2754['constructor'][_0x5ecd8a(0x156)]:_0x5ecd8a(0x1f1),'context':{'tool':_0x5ecd8a(0x139),'completion_id':_0x8a68dd,'file_path':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x1dc)],'validated_path':_0x71042d,'instruction':_0x419f49[_0x5ecd8a(0x1c3)]['instruction'],'model':MORPH_LARGE_APPLY?_0x5ecd8a(0x1e2):_0x5ecd8a(0x1ee),'dry_run':_0x419f49['data']['dryRun'],'file_exists':_0x9b6df0,'file_read_error':_0x64ba2d,'file_readable':_0x4faf09!==null,'request_content':{'path':_0x419f49[_0x5ecd8a(0x1c3)]['path'],'code_edit':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x100)],'instruction':_0x419f49['data']['instruction'],'original_code':_0x4faf09!==null?_0x4faf09[_0x5ecd8a(0x1b2)]>0xc350?_0x4faf09[_0x5ecd8a(0x1d9)](0x0,0xc350)+_0x5ecd8a(0x1b1)+_0x4faf09['length']+_0x5ecd8a(0x1a6):_0x4faf09:_0x5ecd8a(0x178)+(_0x64ba2d||_0x5ecd8a(0x22e))+']','original_code_length':_0x4faf09?.[_0x5ecd8a(0x1b2)]??0x0,'model':MORPH_LARGE_APPLY?'morph-v3-large':'morph-v3-fast','dry_run':_0x419f49[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x16a)]}},'stack_trace':_0x5d2754 instanceof Error?_0x5d2754[_0x5ecd8a(0x18e)]:undefined,'source':'mcp-filesystem'})[_0x5ecd8a(0x122)](()=>{}),{'content':[{'type':'text','text':_0x5ecd8a(0x102)+_0x3df290}],'isError':!![]};}}case TOOL_NAMES[_0x5ecd8a(0x140)]:{const _0x16d9f4=WarpGrepArgsSchema['safeParse'](_0x40ca10);if(!_0x16d9f4['success'])return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x10f)+_0x16d9f4[_0x5ecd8a(0x168)]}],'isError':!![]};const _0x5753cd=_0x13f46e=>{const _0x488105=_0x5ecd8a,_0x4cc38a=[];for(const _0x4c3538 of _0x13f46e||[]){if(_0x4c3538[_0x488105(0x138)]==='assistant'&&Array[_0x488105(0x124)](_0x4c3538['tool_calls']))for(const _0x422200 of _0x4c3538[_0x488105(0x21b)]){try{const _0xb2c0b9=_0x422200['function']?.[_0x488105(0x156)],_0x1e5586=JSON[_0x488105(0x22d)](_0x422200['function']?.[_0x488105(0x197)]||'{}');if(_0xb2c0b9===_0x488105(0x1d8))_0x4cc38a[_0x488105(0x144)](_0x488105(0x1ca)+_0x1e5586[_0x488105(0x1ce)]+'\x27\x20'+(_0x1e5586['path']||'.'));else{if(_0xb2c0b9===_0x488105(0x19e))_0x4cc38a[_0x488105(0x144)]('read\x20'+_0x1e5586[_0x488105(0x1dc)]);else{if(_0xb2c0b9===_0x488105(0x188))_0x4cc38a[_0x488105(0x144)](_0x488105(0x10c)+(_0x1e5586[_0x488105(0x19a)]||'.'));else{if(_0xb2c0b9===_0x488105(0x10e))_0x4cc38a['push'](_0x488105(0x17b)+_0x1e5586[_0x488105(0x1ce)]+'\x27\x20'+(_0x1e5586[_0x488105(0x1dc)]||'.'));else _0xb2c0b9===_0x488105(0xf9)&&_0x4cc38a[_0x488105(0x144)](_0x488105(0xf9));}}}}catch{}}}return _0x4cc38a;},_0xb37e0d=_0x18157b=>{const _0x1976df=_0x5ecd8a,_0x3eb9c4=[];if(!_0x18157b||!Array['isArray'](_0x18157b))return _0x3eb9c4;const _0x3f236b=[{'pattern':/\[FILE NOT FOUND\]/,'error_type':_0x1976df(0x11d),'tool':_0x1976df(0x19e)},{'pattern':/\[PATH ERROR\]/,'error_type':_0x1976df(0x1ed),'tool':_0x1976df(0x19e)},{'pattern':/\[READ ERROR\]/,'error_type':_0x1976df(0x1f3),'tool':_0x1976df(0x19e)},{'pattern':/\[UNREADABLE FILE\]/,'error_type':_0x1976df(0x1fa),'tool':_0x1976df(0x19e)},{'pattern':/\[RIPGREP ERROR\]/,'error_type':_0x1976df(0x1b4),'tool':_0x1976df(0x145)},{'pattern':/\[RIPGREP NOT AVAILABLE\]/,'error_type':_0x1976df(0x21d),'tool':_0x1976df(0x145)},{'pattern':/\[BINARY FILE\]/,'error_type':_0x1976df(0x1fa),'tool':_0x1976df(0x19e)},{'pattern':/\[SYMLINK\]/,'error_type':'SymlinkError','tool':'read'},{'pattern':/not a text file/,'error_type':_0x1976df(0x1fa),'tool':_0x1976df(0x19e)},{'pattern':/symbolic link/,'error_type':_0x1976df(0x130),'tool':'read'},{'pattern':/Error reading file:/,'error_type':_0x1976df(0x1f3),'tool':'read'},{'pattern':/status="error"/,'error_type':_0x1976df(0x1db),'tool':_0x1976df(0x109)}];let _0x13942b=0x0;for(const _0x169ea1 of _0x18157b){_0x169ea1[_0x1976df(0x138)]===_0x1976df(0x1c8)&&Array['isArray'](_0x169ea1[_0x1976df(0x21b)])&&_0x13942b++;const _0x2e8263=_0x169ea1['content'];if((_0x169ea1[_0x1976df(0x138)]===_0x1976df(0x1cf)||_0x169ea1[_0x1976df(0x138)]===_0x1976df(0x1d1))&&_0x2e8263&&typeof _0x2e8263==='string')for(const {pattern:_0x342241,error_type:_0x526d13,tool:_0x3c704d}of _0x3f236b){const _0x22fc4a=_0x2e8263[_0x1976df(0x112)](new RegExp(_0x342241[_0x1976df(0x182)],'g'));if(_0x22fc4a)for(const _0x85f1e9 of _0x22fc4a){const _0x16706c=_0x2e8263[_0x1976df(0x1b5)](_0x85f1e9),_0x3edfb4=_0x2e8263['substring'](_0x16706c,Math[_0x1976df(0x1bf)](_0x16706c+0xc8,_0x2e8263[_0x1976df(0x1b2)]));_0x3eb9c4[_0x1976df(0x144)]({'tool':_0x3c704d,'error_type':_0x526d13,'error_message':_0x3edfb4[_0x1976df(0x1ba)]('\x0a')[0x0],'turn':_0x13942b});}}}return _0x3eb9c4;};try{const _0x11205c=a0_0x5de32a['resolve'](_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)]),_0x50500a=_0x16d9f4['data']['search_type'],_0x4fbe9d=_0x50500a===_0x5ecd8a(0x11b)?{'allowNames':[_0x5ecd8a(0x11b)]}:undefined,_0x4157da=new LocalRipgrepProvider(_0x11205c,undefined,_0x4fbe9d);logger[_0x5ecd8a(0x12c)](_0x5ecd8a(0x232),_0x5ecd8a(0xfc),{'type':_0x5ecd8a(0x17e),'repo_root':_0x11205c,'search_type':_0x50500a||_0x5ecd8a(0x148)}),logger['debug'](_0x5ecd8a(0x232),'warp_grep_start',{'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'repo_root':_0x11205c,'timeout_ms':MORPH_WARP_GREP_TIMEOUT});const _0x579e5a=Date[_0x5ecd8a(0x15a)](),_0x3ba15b=await runWarpGrep({'searchTerm':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'repoRoot':_0x11205c,'morphApiKey':MORPH_API_KEY,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT,'provider':_0x4157da,'search_type':_0x50500a}),_0x1a9490=Date[_0x5ecd8a(0x15a)]()-_0x579e5a,_0x400c8a=_0x3ba15b['finish']?.[_0x5ecd8a(0x123)]?.[_0x5ecd8a(0x1bd)]?.['length']??0x0;logger[_0x5ecd8a(0x12c)](_0x5ecd8a(0x232),_0x5ecd8a(0x158),{'termination':_0x3ba15b[_0x5ecd8a(0x218)],'turns':_0x3ba15b['timings']?.[_0x5ecd8a(0x1d6)]??0x0,'files_found':_0x400c8a,'latency_ms':_0x1a9490});const _0x25a2a5=_0xb37e0d(_0x3ba15b[_0x5ecd8a(0x1ec)]);_0x25a2a5[_0x5ecd8a(0x1b2)]>0x0&&reportMorphError({'error_message':_0x5ecd8a(0x1e3)+_0x25a2a5[_0x5ecd8a(0x1b2)]+_0x5ecd8a(0xfe),'error_type':_0x5ecd8a(0x1cd),'level':_0x5ecd8a(0x132),'tool':_0x5ecd8a(0x108),'context':{'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'model':_0x5ecd8a(0x161),'termination_reason':_0x3ba15b[_0x5ecd8a(0x218)],'sub_tool_errors':_0x25a2a5,'timings':_0x3ba15b[_0x5ecd8a(0x135)],'tool_calls':_0x5753cd(_0x3ba15b[_0x5ecd8a(0x1ec)]),'messages':_0x3ba15b[_0x5ecd8a(0x1ec)]?.[_0x5ecd8a(0x137)](_0x4c7388=>({'role':_0x4c7388[_0x5ecd8a(0x138)],'content':_0x4c7388[_0x5ecd8a(0x115)],..._0x4c7388[_0x5ecd8a(0x21b)]?{'tool_calls':_0x4c7388['tool_calls'][_0x5ecd8a(0x1b2)]}:{},..._0x4c7388[_0x5ecd8a(0xfa)]?{'tool_call_id':_0x4c7388['tool_call_id']}:{}}))},'source':_0x5ecd8a(0x136)})[_0x5ecd8a(0x122)](()=>{});let _0x2596c5='';if(_0x3ba15b['terminationReason']===_0x5ecd8a(0x22b)&&_0x3ba15b[_0x5ecd8a(0xf9)]?.[_0x5ecd8a(0x123)]?.[_0x5ecd8a(0x1bd)]){const _0x2a9cbe=_0x3ba15b[_0x5ecd8a(0xf9)][_0x5ecd8a(0x123)][_0x5ecd8a(0x1bd)];if(_0x2a9cbe['length']===0x0)return _0x2596c5=_0x3ba15b[_0x5ecd8a(0xf9)][_0x5ecd8a(0x1fc)]||'No\x20relevant\x20code\x20found\x20for\x20the\x20query.',{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x2596c5}]};const _0xb87722=[],_0x3733a9=[_0x5ecd8a(0x10b)];for(const _0x1c0bd3 of _0x3ba15b['messages']){if(_0x1c0bd3['role']===_0x5ecd8a(0x1c8)&&Array[_0x5ecd8a(0x124)](_0x1c0bd3['tool_calls']))for(const _0x53521a of _0x1c0bd3['tool_calls']){try{const _0x415b2e=_0x53521a['function']?.[_0x5ecd8a(0x156)],_0x237a35=JSON['parse'](_0x53521a['function']?.[_0x5ecd8a(0x197)]||'{}');if(_0x415b2e===_0x5ecd8a(0x1d8))_0x3733a9[_0x5ecd8a(0x144)](_0x5ecd8a(0x1cb)+_0x237a35[_0x5ecd8a(0x1ce)]+_0x5ecd8a(0x118)+(_0x237a35['path']||'.')+'`');else{if(_0x415b2e===_0x5ecd8a(0x19e))_0x3733a9[_0x5ecd8a(0x144)](_0x5ecd8a(0x228)+_0x237a35[_0x5ecd8a(0x1dc)]+'`');else{if(_0x415b2e==='list_directory')_0x3733a9[_0x5ecd8a(0x144)](_0x5ecd8a(0x1c9)+(_0x237a35[_0x5ecd8a(0x19a)]||'.')+'`');else _0x415b2e===_0x5ecd8a(0x10e)&&_0x3733a9[_0x5ecd8a(0x144)](_0x5ecd8a(0x1c2)+_0x237a35[_0x5ecd8a(0x1ce)]+_0x5ecd8a(0x13e)+(_0x237a35['path']||'.')+'`');}}}catch{}}}_0xb87722['push'](_0x3733a9[_0x5ecd8a(0x119)]('\x0a'));const _0x1b3457=['',_0x5ecd8a(0x13d)];for(const _0x401b4f of _0x2a9cbe){if(_0x401b4f[_0x5ecd8a(0x153)]==='*')_0x1b3457['push']('-\x20'+_0x401b4f[_0x5ecd8a(0x1dc)]+':*');else{if(Array[_0x5ecd8a(0x124)](_0x401b4f[_0x5ecd8a(0x153)])){const _0x583791=_0x401b4f[_0x5ecd8a(0x153)][_0x5ecd8a(0x137)](([_0xee7ed,_0x514c83])=>{if(_0xee7ed===_0x514c83)return''+_0xee7ed;return _0xee7ed+'-'+_0x514c83;});_0x1b3457[_0x5ecd8a(0x144)]('-\x20'+_0x401b4f[_0x5ecd8a(0x1dc)]+':'+_0x583791[_0x5ecd8a(0x119)](','));}else _0x1b3457[_0x5ecd8a(0x144)]('-\x20'+_0x401b4f[_0x5ecd8a(0x1dc)]+':*');}}_0x1b3457[_0x5ecd8a(0x144)](''),_0xb87722['push'](_0x1b3457[_0x5ecd8a(0x119)]('\x0a')),_0xb87722['push'](_0x5ecd8a(0x19c));const _0x55d15b=[],_0x42ddec=[];for(const _0x18cfbf of _0x2a9cbe){let _0x400412=a0_0x5de32a['resolve'](_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],_0x18cfbf['path']),_0x1ebe83=null,_0x334fc8=null;try{_0x1ebe83=await a0_0x3c8535[_0x5ecd8a(0x15b)](_0x400412,{'encoding':_0x5ecd8a(0x1d7)});}catch(_0x2825aa){const _0x1a689e=fixPathRepetition(_0x400412);if(_0x1a689e)try{_0x1ebe83=await a0_0x3c8535[_0x5ecd8a(0x15b)](_0x1a689e,{'encoding':_0x5ecd8a(0x1d7)}),_0x400412=_0x1a689e;}catch{_0x334fc8=_0x2825aa instanceof Error?_0x2825aa:new Error(String(_0x2825aa));}else _0x334fc8=_0x2825aa instanceof Error?_0x2825aa:new Error(String(_0x2825aa));}if(_0x1ebe83!==null){const _0x2cf49d=_0x1ebe83[_0x5ecd8a(0x1ba)](/\r?\n/),_0x12c1db=[];if(_0x18cfbf[_0x5ecd8a(0x153)]==='*'||!Array[_0x5ecd8a(0x124)](_0x18cfbf['lines']))for(let _0x47bfe9=0x1;_0x47bfe9<=_0x2cf49d[_0x5ecd8a(0x1b2)];_0x47bfe9++){const _0x580552=_0x2cf49d[_0x47bfe9-0x1];_0x12c1db[_0x5ecd8a(0x144)](_0x47bfe9+'|\x20'+_0x580552);}else for(const [_0x5cb89c,_0xd7863e]of _0x18cfbf[_0x5ecd8a(0x153)]){_0x12c1db[_0x5ecd8a(0x1b2)]>0x0&&_0x12c1db[_0x5ecd8a(0x144)]('');for(let _0x5dd3fa=_0x5cb89c;_0x5dd3fa<=_0xd7863e&&_0x5dd3fa<=_0x2cf49d[_0x5ecd8a(0x1b2)];_0x5dd3fa++){const _0x342078=_0x2cf49d[_0x5dd3fa-0x1];_0x12c1db[_0x5ecd8a(0x144)](_0x5dd3fa+'|\x20'+_0x342078);}}_0x42ddec[_0x5ecd8a(0x144)]({'path':_0x18cfbf[_0x5ecd8a(0x1dc)],'content':_0x12c1db[_0x5ecd8a(0x119)]('\x0a')});}else _0x55d15b[_0x5ecd8a(0x144)](_0x5ecd8a(0x16f)+_0x18cfbf['path']+_0x5ecd8a(0x1e6)+(_0x334fc8?.[_0x5ecd8a(0x1a8)]||_0x5ecd8a(0x1b6))+_0x5ecd8a(0x1fe));}try{const _0x2fc1bc=await compactFileContexts(_0x42ddec,_0x16d9f4['data'][_0x5ecd8a(0x180)],MORPH_API_KEY,MORPH_API_URL);for(const _0x57ee2e of _0x2fc1bc){_0x55d15b[_0x5ecd8a(0x144)]('<file\x20path=\x22'+_0x57ee2e[_0x5ecd8a(0x1dc)]+_0x5ecd8a(0x1c6)+_0x57ee2e[_0x5ecd8a(0x115)]+_0x5ecd8a(0x1fe));}}catch(_0x137b08){logger[_0x5ecd8a(0x132)](_0x5ecd8a(0x232),'compaction_failed',{'error':_0x137b08 instanceof Error?_0x137b08['message']:String(_0x137b08),'files_count':_0x42ddec[_0x5ecd8a(0x1b2)]});for(const _0x1115c8 of _0x42ddec){_0x55d15b[_0x5ecd8a(0x144)](_0x5ecd8a(0x16f)+_0x1115c8['path']+_0x5ecd8a(0x1c6)+_0x1115c8[_0x5ecd8a(0x115)]+_0x5ecd8a(0x1fe));}}_0xb87722[_0x5ecd8a(0x144)](_0x55d15b['join']('\x0a\x0a')),_0x2596c5=_0xb87722[_0x5ecd8a(0x119)]('\x0a');const _0x318fbf=_0x3ba15b[_0x5ecd8a(0xf6)]?.[_0x5ecd8a(0x1e0)](_0x873c7f=>_0x873c7f[_0x5ecd8a(0x1a8)]?.['startsWith']('File\x20read\x20error:'))||[];if(_0x318fbf[_0x5ecd8a(0x1b2)]>0x0){const _0xac18cb=_0x318fbf[_0x5ecd8a(0x137)](_0x1b462b=>_0x1b462b[_0x5ecd8a(0x1a8)])['join'](';\x20');reportMorphError({'error_message':_0xac18cb,'error_type':_0x5ecd8a(0x1c1),'context':{'tool':'codebase_search','repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'model':_0x5ecd8a(0x161),'termination_reason':_0x5ecd8a(0x1d5),'error_count':_0x318fbf['length'],'is_timeout':![],'timings':_0x3ba15b[_0x5ecd8a(0x135)],'files_attempted':_0x2a9cbe[_0x5ecd8a(0x137)](_0x471ca7=>({'path':_0x471ca7['path'],'lines':_0x471ca7[_0x5ecd8a(0x153)]})),'tool_calls':_0x5753cd(_0x3ba15b[_0x5ecd8a(0x1ec)]),'messages':_0x3ba15b[_0x5ecd8a(0x1ec)]?.[_0x5ecd8a(0x137)](_0x4d9169=>({'role':_0x4d9169[_0x5ecd8a(0x138)],'content':_0x4d9169['content'],..._0x4d9169[_0x5ecd8a(0x21b)]?{'tool_calls':_0x4d9169[_0x5ecd8a(0x21b)][_0x5ecd8a(0x1b2)]}:{},..._0x4d9169[_0x5ecd8a(0xfa)]?{'tool_call_id':_0x4d9169[_0x5ecd8a(0xfa)]}:{}})),'request_content':{'query':_0x16d9f4['data'][_0x5ecd8a(0x180)],'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],'repoRoot':a0_0x5de32a['resolve'](_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)]),'model':_0x5ecd8a(0x161)}},'source':_0x5ecd8a(0x136)})[_0x5ecd8a(0x122)](()=>{});}}else{if(_0x3ba15b[_0x5ecd8a(0x218)]===_0x5ecd8a(0x10a)&&_0x3ba15b['errors'][_0x5ecd8a(0x1b2)]>0x0){const _0x2d413a=_0x3ba15b[_0x5ecd8a(0xf6)]['map'](_0x13a0c5=>_0x13a0c5[_0x5ecd8a(0x1a8)])[_0x5ecd8a(0x119)](';\x20');_0x2596c5=_0x5ecd8a(0x19b)+_0x2d413a;const _0x590e2a=_0x2d413a['toLowerCase']()[_0x5ecd8a(0x176)](_0x5ecd8a(0x194))||_0x2d413a[_0x5ecd8a(0x224)]()[_0x5ecd8a(0x176)](_0x5ecd8a(0xf8))||_0x2d413a[_0x5ecd8a(0x224)]()[_0x5ecd8a(0x176)](_0x5ecd8a(0x103)),_0x56ff00=_0x3ba15b[_0x5ecd8a(0xf9)]?.[_0x5ecd8a(0x123)]?.['files'],_0x2db6e3=_0x3ba15b[_0x5ecd8a(0xf6)][0x0];reportMorphError({'error_message':_0x2d413a,'error_type':_0x590e2a?_0x5ecd8a(0x1e8):_0x2db6e3?.['constructor']?.['name']||_0x5ecd8a(0x14f),'context':{'tool':'codebase_search','repo_path':_0x16d9f4['data']['repo_path'],'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'model':'morph-warp-grep-v2.1','termination_reason':_0x3ba15b['terminationReason'],'error_count':_0x3ba15b[_0x5ecd8a(0xf6)][_0x5ecd8a(0x1b2)],'is_timeout':_0x590e2a,'timings':_0x3ba15b['timings'],'files_attempted':_0x56ff00?.[_0x5ecd8a(0x137)](_0x428be6=>({'path':_0x428be6[_0x5ecd8a(0x1dc)],'lines':_0x428be6[_0x5ecd8a(0x153)]})),'tool_calls':_0x5753cd(_0x3ba15b['messages']),'messages':_0x3ba15b['messages']?.[_0x5ecd8a(0x137)](_0x3f8b4d=>({'role':_0x3f8b4d[_0x5ecd8a(0x138)],'content':_0x3f8b4d[_0x5ecd8a(0x115)],..._0x3f8b4d[_0x5ecd8a(0x21b)]?{'tool_calls':_0x3f8b4d[_0x5ecd8a(0x21b)][_0x5ecd8a(0x1b2)]}:{},..._0x3f8b4d[_0x5ecd8a(0xfa)]?{'tool_call_id':_0x3f8b4d[_0x5ecd8a(0xfa)]}:{}})),'request_content':{'query':_0x16d9f4[_0x5ecd8a(0x1c3)]['search_string'],'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],'repoRoot':a0_0x5de32a['resolve'](_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)]),'model':_0x5ecd8a(0x161)}},'stack_trace':_0x2db6e3?.[_0x5ecd8a(0x18e)]||undefined,'source':_0x5ecd8a(0x136)})['catch'](()=>{});}else _0x2596c5='Agent\x20completed\x20but\x20did\x20not\x20call\x20finish\x20tool.';}return{'content':[{'type':'text','text':_0x2596c5}]};}catch(_0x48d488){const _0x1b5306=handleMorphAPIError(_0x48d488);if(_0x1b5306)return logger[_0x5ecd8a(0x168)](_0x5ecd8a(0x232),'tool_call_error',{'tool':_0x5ecd8a(0x108),'error':_0x5ecd8a(0x174),'latency_ms':Date[_0x5ecd8a(0x15a)]()-_0x395344}),_0x1b5306;const _0x20088b=_0x48d488 instanceof Error?_0x48d488[_0x5ecd8a(0x1a8)]:String(_0x48d488);logger[_0x5ecd8a(0x168)](_0x5ecd8a(0x232),_0x5ecd8a(0x181),{'tool':_0x5ecd8a(0x108),'error':_0x20088b,'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)]['repo_path'],'query':_0x16d9f4[_0x5ecd8a(0x1c3)]['search_string'],'latency_ms':Date[_0x5ecd8a(0x15a)]()-_0x395344});const _0x343da2=_0x20088b[_0x5ecd8a(0x224)]()['includes'](_0x5ecd8a(0x194))||_0x20088b[_0x5ecd8a(0x224)]()['includes']('timed\x20out')||_0x20088b['toLowerCase']()[_0x5ecd8a(0x176)]('etimedout')||_0x48d488 instanceof Error&&_0x48d488[_0x5ecd8a(0x156)]===_0x5ecd8a(0x1e8);return reportMorphError({'error_message':_0x20088b,'error_type':_0x343da2?_0x5ecd8a(0x1e8):_0x48d488 instanceof Error?_0x48d488[_0x5ecd8a(0x157)][_0x5ecd8a(0x156)]:'UnknownError','context':{'tool':_0x5ecd8a(0x108),'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x186)],'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'model':_0x5ecd8a(0x161),'is_timeout':_0x343da2,'exception_phase':_0x5ecd8a(0x1f0),'request_content':{'query':_0x16d9f4[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'repo_path':_0x16d9f4[_0x5ecd8a(0x1c3)]['repo_path'],'repoRoot':a0_0x5de32a['resolve'](_0x16d9f4['data'][_0x5ecd8a(0x186)]),'model':'morph-warp-grep-v2.1'}},'stack_trace':_0x48d488 instanceof Error?_0x48d488[_0x5ecd8a(0x18e)]:undefined,'source':_0x5ecd8a(0x136)})[_0x5ecd8a(0x122)](()=>{}),{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x171)+_0x20088b}],'isError':![]};}}case TOOL_NAMES[_0x5ecd8a(0x215)]:{const _0x57af38=WarpGrepGitHubArgsSchema['safeParse'](_0x40ca10);if(!_0x57af38['success'])return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x10f)+_0x57af38[_0x5ecd8a(0x168)]}],'isError':!![]};const _0x4c92d7=_0x57af38['data'][_0x5ecd8a(0x167)]||_0x57af38[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x16e)];if(!_0x4c92d7)return{'content':[{'type':_0x5ecd8a(0x15d),'text':'Please\x20provide\x20github\x20search\x20url\x20or\x20owner/repo\x20id'}],'isError':!![]};const _0x3be848=MORPH_API_KEY;if(!_0x3be848)throw new Error('MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.');const _0x555b8c=Date[_0x5ecd8a(0x15a)]();logger['debug'](_0x5ecd8a(0x232),_0x5ecd8a(0x210),{'identifier':_0x4c92d7,'query':_0x57af38[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'branch':_0x57af38[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x204)]});try{const _0x9c3eb=new WarpGrepClient({'morphApiKey':_0x3be848,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT}),_0x4bc2f8=await _0x9c3eb[_0x5ecd8a(0x196)]({'searchTerm':_0x57af38['data'][_0x5ecd8a(0x180)],'github':_0x4c92d7,'branch':_0x57af38[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x204)]}),_0x787f4a=Date[_0x5ecd8a(0x15a)]()-_0x555b8c;logMcpStderr(_0x5ecd8a(0x101)+_0x787f4a+_0x5ecd8a(0x117)+_0x4bc2f8[_0x5ecd8a(0x198)]);const _0x2021e0=formatResult(_0x4bc2f8);return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x2021e0}]};}catch(_0x3d77e2){const _0x3be3e4=handleMorphAPIError(_0x3d77e2);if(_0x3be3e4)return _0x3be3e4;const _0x5b75f3=Date[_0x5ecd8a(0x15a)]()-_0x555b8c,_0x1bce14=_0x3d77e2 instanceof Error?_0x3d77e2['message']:String(_0x3d77e2);return logMcpStderr(_0x5ecd8a(0x1f6)+_0x5b75f3+_0x5ecd8a(0x234),_0x1bce14),reportMorphError({'error_message':_0x1bce14,'error_type':_0x3d77e2 instanceof Error?_0x3d77e2['constructor']['name']:_0x5ecd8a(0x1f1),'context':{'tool':_0x5ecd8a(0x16d),'github_url':_0x4c92d7,'search_string':_0x57af38[_0x5ecd8a(0x1c3)][_0x5ecd8a(0x180)],'branch':_0x57af38['data']['branch']},'stack_trace':_0x3d77e2 instanceof Error?_0x3d77e2[_0x5ecd8a(0x18e)]:undefined,'source':_0x5ecd8a(0x136),'tool':'github_codebase_search','latency_ms':_0x5b75f3})[_0x5ecd8a(0x122)](()=>{}),{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x1b7)+_0x1bce14}],'isError':![]};}}case TOOL_NAMES[_0x5ecd8a(0x110)]:{const _0x5acc7d=ListReflexesArgsSchema['safeParse'](_0x40ca10??{});if(!_0x5acc7d[_0x5ecd8a(0x198)])return{'content':[{'type':'text','text':_0x5ecd8a(0x10f)+_0x5acc7d[_0x5ecd8a(0x168)]}],'isError':!![]};return runReflexTool(TOOL_NAMES[_0x5ecd8a(0x110)],()=>runListReflexes(getReflexApi()));}case TOOL_NAMES[_0x5ecd8a(0x221)]:{const _0x2d7360=ReflexSummaryArgsSchema[_0x5ecd8a(0x14b)](_0x40ca10??{});if(!_0x2d7360[_0x5ecd8a(0x198)])return{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x10f)+_0x2d7360[_0x5ecd8a(0x168)]}],'isError':!![]};return runReflexTool(TOOL_NAMES['REFLEX_SUMMARY'],()=>runReflexSummary(getReflexApi(),_0x2d7360[_0x5ecd8a(0x1c3)]));}case TOOL_NAMES[_0x5ecd8a(0x166)]:{const _0x49eee5=GetReflexTracesArgsSchema[_0x5ecd8a(0x14b)](_0x40ca10??{});if(!_0x49eee5[_0x5ecd8a(0x198)])return{'content':[{'type':_0x5ecd8a(0x15d),'text':'Invalid\x20arguments:\x20'+_0x49eee5['error']}],'isError':!![]};return runReflexTool(TOOL_NAMES[_0x5ecd8a(0x166)],()=>runGetReflexTraces(getReflexApi(),_0x49eee5[_0x5ecd8a(0x1c3)]));}default:throw new Error(_0x5ecd8a(0x120)+_0x3d9e3d);}}catch(_0x52754e){const _0xde3c92=_0x52754e instanceof Error?_0x52754e[_0x5ecd8a(0x1a8)]:String(_0x52754e);return reportMorphError({'error_message':_0xde3c92,'error_type':_0x52754e instanceof Error?_0x52754e[_0x5ecd8a(0x157)]['name']:_0x5ecd8a(0x1f1),'context':{'tool':_0x3d9e3d,'arguments':_0x40ca10?JSON[_0x5ecd8a(0x141)](_0x40ca10)['substring'](0x0,0x1f4):undefined,'mcp_server_version':_0x5ecd8a(0x209)},'stack_trace':_0x52754e instanceof Error?_0x52754e['stack']:undefined,'source':_0x5ecd8a(0x136)})['catch'](()=>{}),{'content':[{'type':_0x5ecd8a(0x15d),'text':_0x5ecd8a(0x19b)+_0xde3c92}],'isError':!![]};}});async function updateAllowedDirectoriesFromRoots(_0x380605){const _0xcade97=a0_0x457be8,_0x16be46=await getValidRootDirectories(_0x380605);if(_0x16be46[_0xcade97(0x1b2)]>0x0)allowedDirectories=[..._0x16be46],logMcpStderr(_0xcade97(0x201)+_0x16be46[_0xcade97(0x1b2)]+_0xcade97(0x1fd));else{logMcpStderr(_0xcade97(0x20c));if(ENABLE_WORKSPACE_MODE)try{const _0x2bfb3f=await detectWorkspaceRoot(WORKSPACE_ROOT);_0x2bfb3f&&(allowedDirectories=[_0x2bfb3f],logMcpStderr(_0xcade97(0x220)+_0x2bfb3f));}catch(_0x1baf3c){logMcpStderr(_0xcade97(0x179)+_0x1baf3c);}}}server[a0_0x457be8(0x1be)](RootsListChangedNotificationSchema,async()=>{const _0x59a574=a0_0x457be8;try{const _0x4a5204=await server['listRoots']();_0x4a5204&&_0x59a574(0x226)in _0x4a5204&&await updateAllowedDirectoriesFromRoots(_0x4a5204['roots']);}catch(_0x2714c2){logMcpStderr(_0x59a574(0x17a),_0x2714c2 instanceof Error?_0x2714c2[_0x59a574(0x1a8)]:String(_0x2714c2));}}),server[a0_0x457be8(0x1a9)]=async()=>{const _0x2440bf=a0_0x457be8,_0x5e58fe=server[_0x2440bf(0x104)]();if(_0x5e58fe?.['roots'])try{const _0xaf1fba=await server[_0x2440bf(0x1ef)]();_0xaf1fba&&_0x2440bf(0x226)in _0xaf1fba?await updateAllowedDirectoriesFromRoots(_0xaf1fba[_0x2440bf(0x226)]):logMcpStderr(_0x2440bf(0x22a));}catch(_0x20674e){logMcpStderr(_0x2440bf(0x1ac),_0x20674e instanceof Error?_0x20674e['message']:String(_0x20674e));}else{if(allowedDirectories[_0x2440bf(0x1b2)]>0x0)logMcpStderr('Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20allowed\x20directories\x20set\x20from\x20server\x20args:',allowedDirectories);else{if(ENABLE_WORKSPACE_MODE)logMcpStderr(_0x2440bf(0x1d3));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 _0x322e67=a0_0x457be8,_0x3dc046=new StdioServerTransport();await server[_0x322e67(0x20e)](_0x3dc046),logMcpStderr('Secure\x20MCP\x20Filesystem\x20Server\x20running\x20on\x20stdio'),allowedDirectories[_0x322e67(0x1b2)]===0x0&&logMcpStderr('Started\x20without\x20allowed\x20directories\x20-\x20waiting\x20for\x20client\x20to\x20provide\x20roots\x20via\x20MCP\x20protocol');}runServer()[a0_0x457be8(0x122)](_0x5166a8=>{logMcpStderr('Fatal\x20error\x20running\x20server:',_0x5166a8),process['exit'](0x1);});
|
|
2
|
+
const a0_0x1bd0c4=a0_0x1a5e;(function(_0x4a1d43,_0x17da32){const _0x3bf7ae=a0_0x1a5e,_0x15cbf4=_0x4a1d43();while(!![]){try{const _0x40ace3=parseInt(_0x3bf7ae(0x2d7))/0x1*(parseInt(_0x3bf7ae(0x2c0))/0x2)+parseInt(_0x3bf7ae(0x28e))/0x3*(parseInt(_0x3bf7ae(0x213))/0x4)+-parseInt(_0x3bf7ae(0x2e2))/0x5+-parseInt(_0x3bf7ae(0x231))/0x6*(-parseInt(_0x3bf7ae(0x2ee))/0x7)+parseInt(_0x3bf7ae(0x207))/0x8*(parseInt(_0x3bf7ae(0x244))/0x9)+parseInt(_0x3bf7ae(0x293))/0xa*(-parseInt(_0x3bf7ae(0x265))/0xb)+-parseInt(_0x3bf7ae(0x260))/0xc;if(_0x40ace3===_0x17da32)break;else _0x15cbf4['push'](_0x15cbf4['shift']());}catch(_0x813bf0){_0x15cbf4['push'](_0x15cbf4['shift']());}}}(a0_0x4f2f,0x892ca));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_0x5d80a6 from'fs/promises';import a0_0x2a77ef from'path';import a0_0x485af4 from'os';import{createRequire}from'module';import{z}from'zod';import{zodToJsonSchema}from'zod-to-json-schema';import{getValidRootDirectories}from'./roots-utils.js';import{getOperatingSystemType,logMcpStderr}from'./log-utils.js';import{logger}from'./logger.js';import{executeEditFile}from'@morphllm/morphsdk/tools/fastapply';import{runWarpGrep,LocalRipgrepProvider,GITHUB_SEARCH_TOOL_NAME,GITHUB_SEARCH_DESCRIPTION}from'@morphllm/morphsdk/tools/warp-grep';import{WarpGrepClient,formatResult}from'@morphllm/morphsdk/tools/warp-grep/client';function a0_0x4f2f(){const _0x47e3=['RipgrepNotAvailable','new_string','Example\x20format:\x0a','LIST_REFLEXES','GitHub\x20search\x20failed:\x20','.git','Error\x20accessing\x20directory\x20','FileReadError','Rules:\x0a','2452Kmlhfr','toLowerCase','terminated','@morphllm/morphmcp\x20','instruction','Failed\x20to\x20request\x20initial\x20roots\x20from\x20client:','tool_call_id','enum','.cursor','Fill\x20out\x20extra\x20details\x20that\x20you\x20as\x20a\x20smart\x20model\x20can\x20infer\x20in\x20the\x20question\x20to\x20aid\x20the\x20toolin\x20its\x20search.\x20','morph-v3-fast','-\x20ALWAYS\x20use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20for\x20unchanged\x20sections\x20(omitting\x20this\x20marker\x20will\x20cause\x20deletions)\x0a','text','ENOENT','UnknownError','REFLEX_SUMMARY','metadata','status','toISOString','pattern','ToolException','content','Usage:\x20mcp-server-filesystem\x20[allowed-directory]\x20[additional-directories...]','function','Use\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code\x20blocks.\x20Include\x20just\x20enough\x20surrounding\x20context\x20to\x20locate\x20each\x20edit\x20precisely.\x0a\x0a','<file\x20path=\x22','path_validation_failed','params','BinaryFile','Parent\x20directory\x20does\x20not\x20exist:\x20','2952FjcmpQ','pyproject.toml','debug','searchGitHub','API\x20error\x20(auth/rate-limit)','name','object','has','\x20\x20morph-mcp','glob\x20\x27','You\x20should\x20ALWAYS\x20use\x20this\x20tool\x20to\x20start\x20your\x20search.\x20','No\x20Morph\x20API\x20key\x20configured.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20an\x20API\x20key,\x20then\x20set\x20MORPH_API_KEY\x20in\x20your\x20MCP\x20configuration.','Branch\x20to\x20search\x20(uses\x20latest\x20commit)','\x20\x20--api-key\x20<key>\x20\x20Morph\x20API\x20key\x20(takes\x20priority\x20over\x20MORPH_API_KEY\x20env\x20var)','default','file_path','floor','Changed\x20lines\x20with\x20minimal\x20context.\x20Use\x20placeholders\x20intelligently\x20like\x20\x22//\x20...\x20existing\x20code\x20...\x22\x20to\x20represent\x20unchanged\x20code.','startsWith','869895qLKUeu','GITHUB_CODEBASE_SEARCH','MORPH_API_URL','\x20\x20-v,\x20--version\x20\x20\x20\x20Print\x20version\x20and\x20exit','match','`\x20in\x20`','file_read_failed','search_type','[could\x20not\x20read\x20file:\x20','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20workspace\x20mode','package.json','Natural-language\x20question/description\x20about\x20the\x20code\x20you\x20want\x20to\x20understand.\x20Good\x20example:\x20\x22Where\x20does\x20auth\x20get\x20handled,\x20what\x20are\x20the\x20different\x20oauth\x20methods\x20supported?\x22,\x20\x22Trace\x20all\x20code\x20that\x20relates\x20to\x20how\x20data\x20is\x20injested\x20and\x20processed\x22.\x20Bad\x20example:\x20\x22auth()\x22,\x20\x22auth\x20login\x20dashoard\x20google\x20email\x22.\x20This\x20tool\x20does\x20NOT\x20accept\x20regex,\x20keyword\x20dumps,\x20or\x20symbol-only\x20queries.','stack','completed_with_file_errors','PWD','target_filepath','source','Started\x20without\x20allowed\x20directories\x20-\x20waiting\x20for\x20client\x20to\x20provide\x20roots\x20via\x20MCP\x20protocol','boolean','Search\x20type\x20hint.\x20Use\x20\x27node_modules\x27\x20when\x20searching\x20inside\x20node_modules\x20or\x20other\x20dependency\x20directories\x20that\x20are\x20normally\x20excluded.','version','morph-warp-grep-v2.1','WarpGrep\x20sub-tool\x20errors:\x20','arguments','exit','array','Unknown\x20tool:\x20','Repository\x20identifier','14912172PfaTDm','File\x20read\x20error:','ReadError','catch','now','4114583xSgGkw','morph-mcp','lines','some','api-key','listRoots','\x22>\x0a','success','added\x20','roots','readFile','mcp-filesystem','message','isDirectory','min','tool_call_error','isArray','filter','number','oninitialized','tool_call_received','basename','morph-','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.','Agent\x20completed\x20but\x20did\x20not\x20call\x20finish\x20tool.','changes','\x20(new\x20file)','path','Rate\x20limited:\x20You\x27ve\x20exceeded\x20your\x20Morph\x20API\x20usage\x20limits.\x20Please\x20visit\x20https://morphllm.com\x20to\x20check\x20your\x20plan\x20and\x20purchase\x20additional\x20credits.','normalize','join','includes','\x20valid\x20directories','Invalid\x20arguments\x20for\x20morph_edit_file:\x20','path_validation_start','push','list_directory','--api-key=','\x0aExamples:','files','Authentication\x20failed:\x20Your\x20Morph\x20API\x20key\x20is\x20invalid\x20or\x20has\x20been\x20revoked.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20a\x20valid\x20API\x20key,\x20then\x20update\x20your\x20MCP\x20configuration.','4827GoaiNz','CODEBASE_SEARCH','\x0aOptions:','edit','role','10YqiOse','file','Invalid\x20arguments:\x20','map','completionId','Error\x20running\x20fast\x20context\x20search:\x20','terminationReason','every','GET_REFLEX_TRACES','-\x20Glob\x20search\x20`','application/json','optional','Filter\x20to\x20specific\x20directories,\x20empty\x20for\x20all','-\x20path:\x20Absolute\x20file\x20path\x20to\x20edit\x0a','unknown\x20error','\x20-\x20','stringify','setNotificationHandler','branch','MCP','constructor','string','homedir','all','inputSchema','read','indexOf','❌\x20Morph\x20Edit\x20Failed:\x20','Specific\x20commit\x20hash\x20to\x20search','grep\x20\x27','timings','completed','setRequestHandler','user','At\x20least\x20one\x20directory\x20must\x20be\x20provided\x20by\x20EITHER\x20method\x20for\x20the\x20server\x20to\x20operate.','timed\x20out','\x20as\x20allowed\x20directory',']\x20Done\x20in\x20','0.2.0','--help','go.mod','\x20failed:\x20','length','.vscode','\x20disabled\x20via\x20DISABLED_TOOLS','676ftlDyv','Disabled\x20tools:\x20','describe','safeParse','Warning:\x20API\x20key\x20format\x20may\x20be\x20incorrect.\x20Morph\x20API\x20keys\x20typically\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27','post','\x0aUsage:\x20morph-mcp\x20[options]\x20[allowed-directory\x20...]','warp_grep_complete','DISABLED_TOOLS','cwd','\x20\x20morph-mcp\x20--api-key\x20sk-xxx\x20~/repo','payload','//\x20...\x20existing\x20code\x20...\x0aFIRST_EDIT\x0a//\x20...\x20existing\x20code\x20...\x0aSECOND_EDIT\x0a//\x20...\x20existing\x20code\x20...\x0a\x0a','connect','instructions','ENABLE_WORKSPACE_MODE','getClientCapabilities','node_modules','ms.\x20Success:\x20','\x20\x201.\x20Command-line\x20arguments\x20(shown\x20above)','SubToolError','Tool\x20','code','2036wcDIog','split','Parameters:\x0a','Relevant\x20context\x20found:','utf-8','Client\x20does\x20not\x20support\x20MCP\x20Roots,\x20using\x20allowed\x20directories\x20set\x20from\x20server\x20args:','-\x20Read\x20file\x20`','Branch\x20to\x20search\x20(defaults\x20to\x20repo\x27s\x20default\x20branch)','Warning:\x20Unable\x20to\x20determine\x20package\x20version:','Created\x20File','runWarpGrep_call','1588510hAJCeW','MORPH_WARP_GREP_TIMEOUT','resolve','dryRun','\x20\x202.\x20MCP\x20roots\x20protocol\x20(if\x20client\x20supports\x20it)','search_string','\x0a</file>','file_read_complete','A\x20brief\x20single\x20first-person\x20sentence\x20instruction\x20describing\x20changes\x20being\x20made\x20to\x20this\x20file.\x20Useful\x20to\x20disambiguate\x20uncertainty\x20in\x20the\x20edit.','substring','\x22>\x0aError\x20reading\x20file:\x20','https://morphllm.com/api/error-report','7567veDIij','\x20tool\x20unavailable\x20-\x20MORPH_API_KEY\x20not\x20provided\x20in\x20MCP\x20config','GitHub\x20repository\x20URL\x20to\x20search\x20(e.g.\x20\x27https://github.com/vercel/next.js\x27).\x20You\x20must\x20provide\x20either\x20github_url\x20or\x20owner_repo.','sep','filePath','assistant','error','target_file','trim','Warning:\x20Workspace\x20fallback\x20failed:\x20','read\x20','.\x20Path:\x20','MORPH_API_KEY','-\x20Preserve\x20exact\x20indentation\x0a',',\x20modified\x20','compaction_failed','dirname','requiresApiKey','code_edit','Morph\x20Fast\x20Context\x20subagent\x20performed\x20search\x20on\x20repository:','env','Warning:\x20DISABLED_TOOLS\x20contains\x20unknown\x20tool\x20\x22','grep','\x27\x20in\x20`','--version','path_validation_resolved','realpath','Applied','finish','morph-v3-large','Failed\x20to\x20request\x20roots\x20from\x20client:','ms:','edit_file','Fatal\x20error\x20running\x20server:','Tool\x20\x22','repo_path','tool_calls','.\x20Changes:\x20','WORKSPACE_ROOT','false','Failed\x20to\x20read\x20file:\x20','EDIT_FILE','sk-','MORPH_LARGE_APPLY','No\x20relevant\x20code\x20found\x20for\x20the\x20query.','Warning:\x20Could\x20not\x20initialize\x20workspace\x20mode:\x20','\x22.\x20Known\x20tools:\x20','messages','SymlinkError','Warning:\x20','tool','[github_codebase_search]\x20Done\x20in\x20','owner_repo','glob','errors','No\x20valid\x20root\x20directories\x20provided\x20by\x20client','response','-\x20For\x20deletions:\x20show\x20context\x20before\x20and\x20after,\x20omit\x20the\x20deleted\x20lines\x0a','slice','linesModified','RipgrepError','github_codebase_search','argv','command','A\x20code\x20exploration\x20tool,\x20use\x20this\x20tool\x20when\x20exploring\x20an\x20unfamiliar\x20codebase,\x20and\x20you\x27re\x20unsure\x20of\x20the\x20exact\x20file\x20or\x20string\x20to\x20look\x20for.\x20This\x20tool\x20will\x20find\x20all\x20relevant\x20bits\x20of\x20code\x20given\x20a\x20natural\x20lanugage\x20description,\x20or\x20questin\x20of\x20the\x20thing\x20you\x27re\x20looking\x20for.\x20','log','\x20chars)','WHEN\x20TO\x20USE\x20vs\x20native\x20edit/patch\x20tools:\x20prefer\x20this\x20tool\x20for\x20large\x20files,\x20multiple\x20or\x20scattered\x20edits,\x20refactors,\x20and\x20whitespace-sensitive\x20changes.\x20A\x20single\x20tiny\x20exact-string\x20replacement\x20can\x20use\x20the\x20native\x20edit/patch\x20tool.\x20If\x20this\x20tool\x20errors\x20or\x20times\x20out,\x20fall\x20back\x20to\x20native\x20edit\x20with\x20exact\x20string\x20matching.\x0a\x0a','warn','grep_search','TimeoutError','FileNotFound','access','-\x20code_edit:\x20Only\x20the\x20changed\x20lines\x20with\x20//\x20...\x20existing\x20code\x20...\x20markers\x0a\x0a','unknown','timeout','--api-key','Error:\x20','-\x20Grepped\x20\x27','Secure\x20MCP\x20Filesystem\x20Server\x20running\x20on\x20stdio','\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20message\x20and\x20exit','codebase_search','Client\x20returned\x20no\x20roots\x20set,\x20keeping\x20current\x20settings','24fpTeHC','data','Repository\x20owner/repo\x20shorthand\x20(e.g.\x20\x27vercel/next.js\x27).\x20You\x20must\x20provide\x20either\x20github_url\x20or\x20owner_repo.'];a0_0x4f2f=function(){return _0x47e3;};return a0_0x4f2f();}import{compactFileContexts}from'@morphllm/morphsdk/tools/compact';import a0_0x169a3e from'axios';import{KNOWN_TOOL_NAMES,TOOL_NAMES}from'./tool-definitions.js';import{ListReflexesArgsSchema,ReflexSummaryArgsSchema,GetReflexTracesArgsSchema,LIST_REFLEXES_DESCRIPTION,REFLEX_SUMMARY_DESCRIPTION,GET_REFLEX_TRACES_DESCRIPTION,createReflexApi,runListReflexes,runReflexSummary,runGetReflexTraces}from'./reflex-tools.js';function fixPathRepetition(_0x48ebc1){const _0x3d98f2=a0_0x1a5e,_0x406235=_0x48ebc1[_0x3d98f2(0x2d8)](a0_0x2a77ef[_0x3d98f2(0x2f1)])['filter'](Boolean);if(_0x406235[_0x3d98f2(0x2bd)]<0x2)return null;for(let _0x4903ef=Math[_0x3d98f2(0x241)](_0x406235[_0x3d98f2(0x2bd)]/0x2);_0x4903ef>=0x1;_0x4903ef--){for(let _0x3b343b=0x0;_0x3b343b<=_0x406235[_0x3d98f2(0x2bd)]-0x2*_0x4903ef;_0x3b343b++){const _0xed6cbc=_0x406235[_0x3d98f2(0x1ee)](_0x3b343b,_0x3b343b+_0x4903ef),_0x11025c=_0x406235['slice'](_0x3b343b+_0x4903ef,_0x3b343b+0x2*_0x4903ef);if(_0xed6cbc[_0x3d98f2(0x29a)]((_0x44bf3a,_0x4e6a85)=>_0x44bf3a===_0x11025c[_0x4e6a85])){const _0x5d1196=[..._0x406235[_0x3d98f2(0x1ee)](0x0,_0x3b343b),..._0x406235[_0x3d98f2(0x1ee)](_0x3b343b+_0x4903ef)];return a0_0x2a77ef[_0x3d98f2(0x2f1)]+_0x5d1196[_0x3d98f2(0x283)](a0_0x2a77ef['sep']);}}}return null;}const require=createRequire(import.meta.url);function getPackageVersion(){const _0xf744d4=a0_0x1a5e;try{const _0x396260=require('../package.json');return _0x396260[_0xf744d4(0x258)]??_0xf744d4(0x1fe);}catch(_0x2e4729){return logMcpStderr(_0xf744d4(0x2df),_0x2e4729),_0xf744d4(0x1fe);}}function printHelp(){const _0xf11ed9=a0_0x1a5e;console[_0xf11ed9(0x1f5)](_0xf11ed9(0x216)+getPackageVersion()),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x2c6)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x290)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x23e)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x204)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x247)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x28b)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x239)),console[_0xf11ed9(0x1f5)](_0xf11ed9(0x2ca));}const cliArgs=process[a0_0x1bd0c4(0x1f2)]['slice'](0x2),VERSION_FLAGS=new Set([a0_0x1bd0c4(0x306),'-v','-V']),HELP_FLAGS=new Set([a0_0x1bd0c4(0x2ba),'-h']);cliArgs[a0_0x1bd0c4(0x268)](_0x359190=>VERSION_FLAGS[a0_0x1bd0c4(0x238)](_0x359190))&&(console[a0_0x1bd0c4(0x1f5)](a0_0x1bd0c4(0x216)+getPackageVersion()),process[a0_0x1bd0c4(0x25c)](0x0));cliArgs[a0_0x1bd0c4(0x268)](_0x5e7889=>HELP_FLAGS['has'](_0x5e7889))&&(printHelp(),process[a0_0x1bd0c4(0x25c)](0x0));function a0_0x1a5e(_0xf9165b,_0xc6522e){_0xf9165b=_0xf9165b-0x1d1;const _0x4f2f57=a0_0x4f2f();let _0x1a5e05=_0x4f2f57[_0xf9165b];return _0x1a5e05;}function getCliArg(_0x435079){const _0x3b19ea=a0_0x1bd0c4;for(let _0x540002=0x0;_0x540002<cliArgs['length'];_0x540002++){const _0x1b5e86=cliArgs[_0x540002];if(_0x1b5e86['startsWith']('--'+_0x435079+'='))return _0x1b5e86[_0x3b19ea(0x1ee)](('--'+_0x435079+'=')[_0x3b19ea(0x2bd)]);if(_0x1b5e86==='--'+_0x435079&&_0x540002+0x1<cliArgs['length'])return cliArgs[_0x540002+0x1];}return undefined;}const args=[];for(let i=0x0;i<cliArgs[a0_0x1bd0c4(0x2bd)];i++){const arg=cliArgs[i];if(VERSION_FLAGS['has'](arg)||HELP_FLAGS[a0_0x1bd0c4(0x238)](arg))continue;if(arg[a0_0x1bd0c4(0x243)](a0_0x1bd0c4(0x28a)))continue;if(arg===a0_0x1bd0c4(0x200)){i++;continue;}args['push'](arg);}const WORKSPACE_ROOT=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x1da)]||process['env'][a0_0x1bd0c4(0x252)]||process[a0_0x1bd0c4(0x2c9)](),ENABLE_WORKSPACE_MODE=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x2cf)]!=='false',MORPH_API_KEY=getCliArg(a0_0x1bd0c4(0x269))??process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x2fa)],MORPH_API_URL=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x246)],MORPH_LARGE_APPLY=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x1df)]!==a0_0x1bd0c4(0x1db),MORPH_WARP_GREP_TIMEOUT=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x2e3)]?parseInt(process[a0_0x1bd0c4(0x302)]['MORPH_WARP_GREP_TIMEOUT'],0xa):undefined,OPERATING_SYSTEM_TYPE=getOperatingSystemType(),DEFAULT_DISABLED_TOOLS=new Set(),DISABLED_TOOLS=process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x2c8)]?new Set(process[a0_0x1bd0c4(0x302)][a0_0x1bd0c4(0x2c8)][a0_0x1bd0c4(0x2d8)](',')[a0_0x1bd0c4(0x296)](_0x16037c=>_0x16037c[a0_0x1bd0c4(0x2f6)]())[a0_0x1bd0c4(0x276)](_0x46c0af=>_0x46c0af[a0_0x1bd0c4(0x2bd)]>0x0)):DEFAULT_DISABLED_TOOLS;if(DISABLED_TOOLS['size']>0x0){for(const tool of DISABLED_TOOLS){!KNOWN_TOOL_NAMES[a0_0x1bd0c4(0x238)](tool)&&console[a0_0x1bd0c4(0x2f4)](a0_0x1bd0c4(0x303)+tool+a0_0x1bd0c4(0x1e2)+[...KNOWN_TOOL_NAMES][a0_0x1bd0c4(0x283)](',\x20'));}console[a0_0x1bd0c4(0x2f4)](a0_0x1bd0c4(0x2c1)+[...DISABLED_TOOLS][a0_0x1bd0c4(0x283)](',\x20'));}MORPH_API_KEY&&!MORPH_API_KEY[a0_0x1bd0c4(0x243)](a0_0x1bd0c4(0x1de))&&!MORPH_API_KEY['startsWith'](a0_0x1bd0c4(0x27b))&&logMcpStderr(a0_0x1bd0c4(0x2c4));async function reportMorphError(_0x2b0f11){const _0x35ca82=a0_0x1bd0c4;try{await a0_0x169a3e[_0x35ca82(0x2c5)](_0x35ca82(0x2ed),{..._0x2b0f11,'timestamp':new Date()[_0x35ca82(0x225)](),'source':_0x2b0f11[_0x35ca82(0x254)]||_0x35ca82(0x270),'os_type':OPERATING_SYSTEM_TYPE,'context':{'os_type':OPERATING_SYSTEM_TYPE,..._0x2b0f11['context']}},{'timeout':0x1388,'headers':{'Content-Type':_0x35ca82(0x29d),'Authorization':'Bearer\x20'+MORPH_API_KEY}});}catch{}}function extractStatusCode(_0x238b42,_0x5195ef){const _0xbc8d05=a0_0x1bd0c4;if(_0x238b42&&typeof _0x238b42===_0xbc8d05(0x237)&&_0xbc8d05(0x224)in _0x238b42)return _0x238b42[_0xbc8d05(0x224)];if(_0x238b42&&typeof _0x238b42===_0xbc8d05(0x237)&&_0xbc8d05(0x1ec)in _0x238b42)return _0x238b42[_0xbc8d05(0x1ec)]?.['status'];const _0x15c30f=_0x5195ef[_0xbc8d05(0x248)](/\b(401|429)\b/);return _0x15c30f?parseInt(_0x15c30f[0x1],0xa):null;}function handleMorphAPIError(_0x195d2f){const _0x365f2b=a0_0x1bd0c4,_0x137284=_0x195d2f instanceof Error?_0x195d2f[_0x365f2b(0x271)]:String(_0x195d2f),_0x258a9c=extractStatusCode(_0x195d2f,_0x137284);switch(_0x258a9c){case 0x191:return{'content':[{'type':_0x365f2b(0x21f),'text':_0x365f2b(0x28d)}],'isError':!![]};case 0x1ad:return{'content':[{'type':'text','text':_0x365f2b(0x281)}],'isError':!![]};default:return null;}}let reflexApi=null;function getReflexApi(){if(!reflexApi)reflexApi=createReflexApi(MORPH_API_KEY,MORPH_API_URL);return reflexApi;}async function runReflexTool(_0x4e9713,_0x178c1c){const _0x368776=a0_0x1bd0c4,_0x19f192=Date['now']();try{const _0xfe7a9d=await _0x178c1c();return logMcpStderr('['+_0x4e9713+_0x368776(0x2b8)+(Date['now']()-_0x19f192)+'ms'),{'content':[{'type':'text','text':_0xfe7a9d}]};}catch(_0x3855cc){const _0x4bf6b9=handleMorphAPIError(_0x3855cc);if(_0x4bf6b9)return _0x4bf6b9;const _0x341c50=Date[_0x368776(0x264)]()-_0x19f192,_0x28c485=_0x3855cc instanceof Error?_0x3855cc[_0x368776(0x271)]:String(_0x3855cc);return logMcpStderr('['+_0x4e9713+']\x20Failed\x20in\x20'+_0x341c50+_0x368776(0x1d3),_0x28c485),reportMorphError({'error_message':_0x28c485,'error_type':_0x3855cc instanceof Error?_0x3855cc[_0x368776(0x2a7)][_0x368776(0x236)]:'UnknownError','context':{'tool':_0x4e9713},'stack_trace':_0x3855cc instanceof Error?_0x3855cc[_0x368776(0x250)]:undefined,'source':_0x368776(0x270),'tool':_0x4e9713,'latency_ms':_0x341c50})[_0x368776(0x263)](()=>{}),{'content':[{'type':'text','text':_0x4e9713+_0x368776(0x2bc)+_0x28c485}],'isError':!![]};}}args[a0_0x1bd0c4(0x2bd)]===0x0&&!ENABLE_WORKSPACE_MODE&&(logMcpStderr(a0_0x1bd0c4(0x229)),logMcpStderr('Note:\x20Allowed\x20directories\x20can\x20be\x20provided\x20via:'),logMcpStderr(a0_0x1bd0c4(0x2d3)),logMcpStderr(a0_0x1bd0c4(0x2e6)),logMcpStderr('\x20\x203.\x20Workspace\x20mode\x20(default\x20behavior,\x20set\x20ENABLE_WORKSPACE_MODE=false\x20to\x20disable)'),logMcpStderr(a0_0x1bd0c4(0x2b5)));function normalizePath(_0x1c07ca){const _0x4db27d=a0_0x1bd0c4;return a0_0x2a77ef[_0x4db27d(0x282)](_0x1c07ca);}function expandHome(_0x17217e){const _0x377a9c=a0_0x1bd0c4;if(_0x17217e[_0x377a9c(0x243)]('~/')||_0x17217e==='~')return a0_0x2a77ef[_0x377a9c(0x283)](a0_0x485af4[_0x377a9c(0x2a9)](),_0x17217e['slice'](0x1));return _0x17217e;}let allowedDirectories=await Promise[a0_0x1bd0c4(0x2aa)](args[a0_0x1bd0c4(0x296)](async _0x51d840=>{const _0x3a0569=a0_0x1bd0c4,_0x5f3651=expandHome(_0x51d840),_0x8ef0d6=a0_0x2a77ef['resolve'](_0x5f3651);try{const _0x1759f5=await a0_0x5d80a6[_0x3a0569(0x308)](_0x8ef0d6);return normalizePath(_0x1759f5);}catch(_0x523006){return normalizePath(_0x8ef0d6);}}));if(ENABLE_WORKSPACE_MODE&&args[a0_0x1bd0c4(0x2bd)]===0x0)try{const workspaceDir=await detectWorkspaceRoot(WORKSPACE_ROOT);workspaceDir&&(allowedDirectories[a0_0x1bd0c4(0x288)](workspaceDir),logMcpStderr('Workspace\x20mode\x20enabled:\x20Using\x20'+workspaceDir+a0_0x1bd0c4(0x2b7)));}catch(a0_0x597fed){logMcpStderr(a0_0x1bd0c4(0x1e1)+a0_0x597fed);}async function detectWorkspaceRoot(_0x37c901){const _0x29f480=a0_0x1bd0c4;let _0x5e650c=a0_0x2a77ef['resolve'](_0x37c901);const _0xac15e2=[_0x29f480(0x20f),_0x29f480(0x2be),_0x29f480(0x24e),'Cargo.toml',_0x29f480(0x232),_0x29f480(0x2bb),_0x29f480(0x21b),'tsconfig.json','composer.json'];while(_0x5e650c!==a0_0x2a77ef['dirname'](_0x5e650c)){for(const _0x4919eb of _0xac15e2){const _0x1e88cf=a0_0x2a77ef['join'](_0x5e650c,_0x4919eb);try{return await a0_0x5d80a6[_0x29f480(0x1fc)](_0x1e88cf),normalizePath(_0x5e650c);}catch{}}_0x5e650c=a0_0x2a77ef[_0x29f480(0x2fe)](_0x5e650c);}return normalizePath(_0x37c901);}await Promise[a0_0x1bd0c4(0x2aa)](args['map'](async _0x7d120b=>{const _0x56b71d=a0_0x1bd0c4;try{const _0x56efe5=await a0_0x5d80a6['stat'](expandHome(_0x7d120b));!_0x56efe5[_0x56b71d(0x272)]()&&(logMcpStderr('Error:\x20'+_0x7d120b+'\x20is\x20not\x20a\x20directory'),process['exit'](0x1));}catch(_0x2e526a){logMcpStderr(_0x56b71d(0x210)+_0x7d120b+':',_0x2e526a),process[_0x56b71d(0x25c)](0x1);}}));async function validatePath(_0x26c4a8){const _0x5467af=a0_0x1bd0c4,_0x34bd18=expandHome(_0x26c4a8),_0x27c362=a0_0x2a77ef[_0x5467af(0x2e4)](_0x34bd18);logger[_0x5467af(0x233)](_0x5467af(0x2a6),_0x5467af(0x287),{'raw_path':_0x26c4a8,'absolute':_0x27c362});try{const _0x1c68de=await a0_0x5d80a6[_0x5467af(0x308)](_0x27c362);return logger['debug'](_0x5467af(0x2a6),'path_validation_resolved',{'resolved':_0x1c68de,'symlink':_0x1c68de!==_0x27c362}),_0x1c68de;}catch(_0x50eb0d){if(_0x50eb0d[_0x5467af(0x2d6)]==='ENOENT'){const _0x267747=a0_0x2a77ef[_0x5467af(0x2fe)](_0x27c362);try{const _0x4418e0=await a0_0x5d80a6[_0x5467af(0x308)](_0x267747),_0x3b4244=a0_0x2a77ef[_0x5467af(0x283)](_0x4418e0,a0_0x2a77ef[_0x5467af(0x27a)](_0x27c362));return logger['debug'](_0x5467af(0x2a6),_0x5467af(0x307),{'resolved':_0x3b4244,'new_file':!![]}),_0x3b4244;}catch{logger['error'](_0x5467af(0x2a6),_0x5467af(0x22d),{'raw_path':_0x26c4a8,'error':_0x5467af(0x230)+_0x267747});throw new Error('Parent\x20directory\x20does\x20not\x20exist:\x20'+_0x267747);}}logger[_0x5467af(0x2f4)](_0x5467af(0x2a6),_0x5467af(0x22d),{'raw_path':_0x26c4a8,'error':_0x50eb0d[_0x5467af(0x271)]});throw _0x50eb0d;}}const MorphEditFileArgsSchema=z[a0_0x1bd0c4(0x237)]({'path':z['string'](),'code_edit':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x242)),'instruction':z[a0_0x1bd0c4(0x2a8)]()['describe'](a0_0x1bd0c4(0x2ea)),'dryRun':z[a0_0x1bd0c4(0x256)]()[a0_0x1bd0c4(0x23f)](![])[a0_0x1bd0c4(0x2c2)]('Preview\x20changes\x20without\x20applying\x20them.')}),CODEBASE_SEARCH_QUERY_DESCRIPTION=a0_0x1bd0c4(0x24f),WarpGrepArgsSchema=z['object']({'search_string':z[a0_0x1bd0c4(0x2a8)]()['describe'](CODEBASE_SEARCH_QUERY_DESCRIPTION),'repo_path':z[a0_0x1bd0c4(0x2a8)]()['describe']('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'),'search_type':z[a0_0x1bd0c4(0x21a)]([a0_0x1bd0c4(0x23f),a0_0x1bd0c4(0x2d1)])[a0_0x1bd0c4(0x29e)]()['describe'](a0_0x1bd0c4(0x257))}),WarpGrepGitHubArgsSchema=z[a0_0x1bd0c4(0x237)]({'search_string':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x2c2)](CODEBASE_SEARCH_QUERY_DESCRIPTION),'github_url':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x29e)]()[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x2f0)),'owner_repo':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x29e)]()[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x209)),'branch':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x29e)]()['describe'](a0_0x1bd0c4(0x2de))}),CodebaseSearchArgsSchema=z[a0_0x1bd0c4(0x237)]({'query':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x2c2)](CODEBASE_SEARCH_QUERY_DESCRIPTION),'repoId':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x25f)),'branch':z['string']()[a0_0x1bd0c4(0x29e)]()[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x23d)),'commitHash':z[a0_0x1bd0c4(0x2a8)]()[a0_0x1bd0c4(0x29e)]()['describe'](a0_0x1bd0c4(0x2af)),'targetDirectories':z[a0_0x1bd0c4(0x25d)](z[a0_0x1bd0c4(0x2a8)]())[a0_0x1bd0c4(0x23f)]([])[a0_0x1bd0c4(0x2c2)](a0_0x1bd0c4(0x29f)),'limit':z[a0_0x1bd0c4(0x277)]()[a0_0x1bd0c4(0x29e)]()[a0_0x1bd0c4(0x23f)](0xa)[a0_0x1bd0c4(0x2c2)]('Max\x20results\x20to\x20return')}),server=new Server({'name':a0_0x1bd0c4(0x266),'version':a0_0x1bd0c4(0x2b9)},{'capabilities':{'tools':{}}});server[a0_0x1bd0c4(0x2b3)](ListToolsRequestSchema,async()=>{const _0x2c51cb=a0_0x1bd0c4,_0x2a890e=[{'name':TOOL_NAMES['EDIT_FILE'],'description':'**PRIMARY\x20TOOL\x20FOR\x20EDITING\x20FILES.**\x20Fast,\x20accurate,\x20and\x20prevents\x20context\x20pollution.\x20Especially\x20useful\x20when\x20making\x20multiple\x20edits\x20in\x20one\x20file:\x20describe\x20all\x20changes\x20in\x20a\x20single\x20call\x20and\x20the\x20semantic\x20edit\x20applies\x20them\x20all\x20at\x20once,\x20more\x20accurately\x20and\x20faster\x20than\x20sequential\x20edits.\x20Unlike\x20search-and-replace\x20or\x20patch\x20edits\x20which\x20do\x20narrow\x20edits\x20one\x20at\x20a\x20time,\x20with\x20this\x20tool\x20you\x20should\x20do\x20all\x20your\x20code\x20changes\x20in\x20one\x20go\x20separated\x20by\x20`//\x20...\x20existing\x20code\x20...`\x20markers.\x20This\x20saves\x20tokens\x20and\x20improves\x20performance\x20because\x20you\x20do\x20not\x20need\x20to\x20reread\x20files\x20before\x20edits.\x20All\x20three\x20parameters\x20are\x20required.\x0a\x0a'+_0x2c51cb(0x1f7)+_0x2c51cb(0x2d9)+_0x2c51cb(0x2a0)+'-\x20instruction:\x20Brief\x20first-person\x20description\x20of\x20what\x20you\x27re\x20changing\x0a'+_0x2c51cb(0x1fd)+_0x2c51cb(0x22b)+_0x2c51cb(0x20c)+_0x2c51cb(0x2cc)+_0x2c51cb(0x212)+_0x2c51cb(0x21e)+_0x2c51cb(0x2fb)+_0x2c51cb(0x1ed)+'-\x20Batch\x20multiple\x20edits\x20to\x20the\x20same\x20file\x20in\x20one\x20call\x0a','inputSchema':zodToJsonSchema(MorphEditFileArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x2c51cb(0x28f)],'description':_0x2c51cb(0x1f4)+CODEBASE_SEARCH_QUERY_DESCRIPTION+'\x20'+_0x2c51cb(0x21c)+_0x2c51cb(0x23b)+'','inputSchema':zodToJsonSchema(WarpGrepArgsSchema),'requiresApiKey':!![]},{'name':GITHUB_SEARCH_TOOL_NAME,'description':GITHUB_SEARCH_DESCRIPTION,'inputSchema':zodToJsonSchema(WarpGrepGitHubArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x2c51cb(0x20d)],'description':LIST_REFLEXES_DESCRIPTION,'inputSchema':zodToJsonSchema(ListReflexesArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x2c51cb(0x222)],'description':REFLEX_SUMMARY_DESCRIPTION,'inputSchema':zodToJsonSchema(ReflexSummaryArgsSchema),'requiresApiKey':!![]},{'name':TOOL_NAMES[_0x2c51cb(0x29b)],'description':GET_REFLEX_TRACES_DESCRIPTION,'inputSchema':zodToJsonSchema(GetReflexTracesArgsSchema),'requiresApiKey':!![]}],_0x5752c7=_0x2a890e[_0x2c51cb(0x276)](_0x191c23=>{const _0x9e57e6=_0x2c51cb;if(DISABLED_TOOLS[_0x9e57e6(0x238)](_0x191c23[_0x9e57e6(0x236)]))return console[_0x9e57e6(0x2f4)](_0x9e57e6(0x2d5)+_0x191c23[_0x9e57e6(0x236)]+_0x9e57e6(0x2bf)),![];if(_0x9e57e6(0x2ff)in _0x191c23&&_0x191c23['requiresApiKey']&&!MORPH_API_KEY)return logMcpStderr(_0x9e57e6(0x1e5)+_0x191c23[_0x9e57e6(0x236)]+_0x9e57e6(0x2ef)),![];return!![];});return{'tools':_0x5752c7[_0x2c51cb(0x296)](_0x26c2ba=>({'name':_0x26c2ba[_0x2c51cb(0x236)],'description':_0x26c2ba['description'],'inputSchema':_0x26c2ba[_0x2c51cb(0x2ab)]}))};}),server[a0_0x1bd0c4(0x2b3)](CallToolRequestSchema,async _0x17905e=>{const _0x54599f=a0_0x1bd0c4,{name:_0x336537,arguments:_0x5980ef}=_0x17905e[_0x54599f(0x22e)],_0xfdf9fd=Date[_0x54599f(0x264)]();logger['debug'](_0x54599f(0x2a6),_0x54599f(0x279),{'tool':_0x336537,'args':_0x336537===_0x54599f(0x1d4)?{'path':_0x5980ef?.['path'],'instruction':_0x5980ef?.[_0x54599f(0x217)]||_0x5980ef?.['instructions'],'dryRun':_0x5980ef?.['dryRun']}:_0x5980ef});try{if(!MORPH_API_KEY)return{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x23c)}],'isError':!![]};if(!MORPH_API_KEY['startsWith'](_0x54599f(0x1de))&&!MORPH_API_KEY['startsWith'](_0x54599f(0x27b)))return{'content':[{'type':_0x54599f(0x21f),'text':'Invalid\x20Morph\x20API\x20key\x20format.\x20API\x20keys\x20start\x20with\x20\x27sk-\x27\x20or\x20\x27morph-\x27.\x20Please\x20visit\x20https://morphllm.com\x20to\x20get\x20a\x20valid\x20API\x20key.'}],'isError':!![]};if(DISABLED_TOOLS[_0x54599f(0x238)](_0x336537))return{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x1d6)+_0x336537+'\x22\x20is\x20disabled\x20via\x20the\x20DISABLED_TOOLS\x20environment\x20variable\x20in\x20your\x20MCP\x20configuration.\x20Please\x20use\x20an\x20alternative\x20approach.'}],'isError':![]};switch(_0x336537){case TOOL_NAMES[_0x54599f(0x1dd)]:{let _0x32b370=_0x5980ef;if(_0x32b370&&typeof _0x32b370==='object'){if(!('path'in _0x32b370)){const _0x256a73=_0x32b370[_0x54599f(0x2f5)]??_0x32b370[_0x54599f(0x2f2)]??_0x32b370[_0x54599f(0x253)]??_0x32b370[_0x54599f(0x240)]??_0x32b370[_0x54599f(0x294)];if(_0x256a73)_0x32b370={..._0x32b370,'path':_0x256a73};}_0x54599f(0x2ce)in _0x32b370&&!(_0x54599f(0x217)in _0x32b370)&&(_0x32b370={..._0x32b370,'instruction':_0x32b370[_0x54599f(0x2ce)]});if(!('code_edit'in _0x32b370)){const _0xa3c6a4=_0x32b370[_0x54599f(0x2d6)]??_0x32b370[_0x54599f(0x20b)]??_0x32b370[_0x54599f(0x228)]??_0x32b370[_0x54599f(0x291)];if(_0xa3c6a4)_0x32b370={..._0x32b370,'code_edit':_0xa3c6a4};}}const _0x349d38=MorphEditFileArgsSchema['safeParse'](_0x32b370);if(!_0x349d38[_0x54599f(0x26c)])throw new Error(_0x54599f(0x286)+_0x349d38[_0x54599f(0x2f4)]);const _0x46fe47=await validatePath(_0x349d38[_0x54599f(0x208)][_0x54599f(0x280)]);let _0x499044=null,_0x301025=!![],_0x9d21b7=null;try{_0x499044=await a0_0x5d80a6[_0x54599f(0x26f)](_0x46fe47,_0x54599f(0x2db)),logger[_0x54599f(0x233)](_0x54599f(0x2a6),_0x54599f(0x2e9),{'path':_0x46fe47,'size_bytes':_0x499044[_0x54599f(0x2bd)]});}catch(_0x3817ae){const _0x2330ca=_0x3817ae[_0x54599f(0x2d6)];_0x2330ca===_0x54599f(0x220)?(_0x301025=![],_0x499044='',logger[_0x54599f(0x233)](_0x54599f(0x2a6),_0x54599f(0x2e9),{'path':_0x46fe47,'exists':![]})):(_0x9d21b7=_0x54599f(0x1dc)+(_0x2330ca||_0x54599f(0x1fe))+_0x54599f(0x2a2)+(_0x3817ae instanceof Error?_0x3817ae[_0x54599f(0x271)]:String(_0x3817ae)),logger[_0x54599f(0x2f4)](_0x54599f(0x2a6),_0x54599f(0x24a),{'path':_0x46fe47,'error':_0x9d21b7}),logMcpStderr(_0x54599f(0x1e5)+_0x9d21b7));}let _0x575329;try{const _0x4bfa75=MORPH_API_KEY;if(!_0x4bfa75)throw new Error('MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.');const _0x2f9794=a0_0x2a77ef[_0x54599f(0x2fe)](_0x46fe47),_0x12bb71=a0_0x2a77ef[_0x54599f(0x27a)](_0x46fe47);logger['debug'](_0x54599f(0x2a6),'api_request_start',{'model':'morph-v3-fast','path':_0x349d38[_0x54599f(0x208)][_0x54599f(0x280)],'instruction_len':_0x349d38[_0x54599f(0x208)]['instruction'][_0x54599f(0x2bd)],'code_edit_len':_0x349d38[_0x54599f(0x208)][_0x54599f(0x300)][_0x54599f(0x2bd)],'original_code_len':_0x499044?.[_0x54599f(0x2bd)]??0x0,'dry_run':_0x349d38[_0x54599f(0x208)]['dryRun']});const _0x226854=Date['now'](),_0x3022b4=await executeEditFile({'target_filepath':_0x12bb71,'code_edit':_0x349d38['data']['code_edit'],'instruction':_0x349d38[_0x54599f(0x208)][_0x54599f(0x217)]},{'morphApiKey':_0x4bfa75,'morphApiUrl':MORPH_API_URL,'large':MORPH_LARGE_APPLY,'baseDir':_0x2f9794,'autoWrite':!_0x349d38[_0x54599f(0x208)][_0x54599f(0x2e5)],'generateUdiff':![],'debug':![]}),_0x1ebf9d=Date['now']()-_0x226854;_0x575329=_0x3022b4[_0x54599f(0x297)];if(!_0x3022b4[_0x54599f(0x26c)])throw new Error(_0x3022b4['error']||'Morph\x20FastApply\x20failed\x20without\x20error\x20message');const _0x515e5d=_0x3022b4[_0x54599f(0x27e)],_0x3e6e9b=_0x54599f(0x26d)+_0x515e5d['linesAdded']+',\x20removed\x20'+_0x515e5d['linesRemoved']+_0x54599f(0x2fc)+_0x515e5d[_0x54599f(0x1ef)];logger[_0x54599f(0x233)](_0x54599f(0x2a6),'tool_call_complete',{'tool':'edit_file','success':!![],'latency_ms':Date['now']()-_0xfdf9fd,'edit_latency_ms':_0x1ebf9d,'changes':{'added':_0x515e5d['linesAdded'],'removed':_0x515e5d['linesRemoved'],'modified':_0x515e5d['linesModified']},'completion_id':_0x575329});if(_0x349d38['data'][_0x54599f(0x2e5)])return{'content':[{'type':_0x54599f(0x21f),'text':'Morph\x20Edit\x20Preview'+(_0x301025?'':_0x54599f(0x27f))+':\x20'+_0x349d38[_0x54599f(0x208)][_0x54599f(0x217)]+_0x54599f(0x1d9)+_0x3e6e9b+_0x54599f(0x2f9)+_0x349d38[_0x54599f(0x208)][_0x54599f(0x280)]+'.'}]};return{'content':[{'type':_0x54599f(0x21f),'text':'Morph\x20Edit\x20'+(_0x301025?_0x54599f(0x309):_0x54599f(0x2e0))+':\x20'+_0x349d38[_0x54599f(0x208)]['instruction']+_0x54599f(0x1d9)+_0x3e6e9b+_0x54599f(0x2f9)+_0x349d38['data'][_0x54599f(0x280)]+'.'}]};}catch(_0x4cd6ae){const _0x4b913c=handleMorphAPIError(_0x4cd6ae);if(_0x4b913c)return logger[_0x54599f(0x2f4)](_0x54599f(0x2a6),_0x54599f(0x274),{'tool':_0x54599f(0x1d4),'error':'API\x20error\x20(auth/rate-limit)','latency_ms':Date[_0x54599f(0x264)]()-_0xfdf9fd}),_0x4b913c;const _0x18736c=_0x4cd6ae instanceof Error?_0x4cd6ae[_0x54599f(0x271)]:String(_0x4cd6ae);return logger[_0x54599f(0x2f4)](_0x54599f(0x2a6),_0x54599f(0x274),{'tool':'edit_file','error':_0x18736c,'path':_0x349d38[_0x54599f(0x208)][_0x54599f(0x280)],'validated_path':_0x46fe47,'latency_ms':Date[_0x54599f(0x264)]()-_0xfdf9fd,'stack':_0x4cd6ae instanceof Error?_0x4cd6ae[_0x54599f(0x250)]:undefined}),reportMorphError({'error_message':_0x18736c,'error_type':_0x4cd6ae instanceof Error?_0x4cd6ae['constructor'][_0x54599f(0x236)]:_0x54599f(0x221),'context':{'tool':'edit_file','completion_id':_0x575329,'file_path':_0x349d38[_0x54599f(0x208)]['path'],'validated_path':_0x46fe47,'instruction':_0x349d38[_0x54599f(0x208)][_0x54599f(0x217)],'model':MORPH_LARGE_APPLY?'morph-v3-large':_0x54599f(0x21d),'dry_run':_0x349d38[_0x54599f(0x208)][_0x54599f(0x2e5)],'file_exists':_0x301025,'file_read_error':_0x9d21b7,'file_readable':_0x499044!==null,'request_content':{'path':_0x349d38['data'][_0x54599f(0x280)],'code_edit':_0x349d38['data'][_0x54599f(0x300)],'instruction':_0x349d38[_0x54599f(0x208)][_0x54599f(0x217)],'original_code':_0x499044!==null?_0x499044[_0x54599f(0x2bd)]>0xc350?_0x499044[_0x54599f(0x2eb)](0x0,0xc350)+'\x0a...\x20(truncated,\x20total:\x20'+_0x499044['length']+_0x54599f(0x1f6):_0x499044:_0x54599f(0x24c)+(_0x9d21b7||_0x54599f(0x2a1))+']','original_code_length':_0x499044?.[_0x54599f(0x2bd)]??0x0,'model':MORPH_LARGE_APPLY?_0x54599f(0x1d1):_0x54599f(0x21d),'dry_run':_0x349d38[_0x54599f(0x208)][_0x54599f(0x2e5)]}},'stack_trace':_0x4cd6ae instanceof Error?_0x4cd6ae[_0x54599f(0x250)]:undefined,'source':_0x54599f(0x270)})[_0x54599f(0x263)](()=>{}),{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x2ae)+_0x18736c}],'isError':!![]};}}case TOOL_NAMES[_0x54599f(0x28f)]:{const _0x11cfee=WarpGrepArgsSchema[_0x54599f(0x2c3)](_0x5980ef);if(!_0x11cfee['success'])return{'content':[{'type':'text','text':_0x54599f(0x295)+_0x11cfee[_0x54599f(0x2f4)]}],'isError':!![]};const _0x13aa1d=_0x113e69=>{const _0xd82d36=_0x54599f,_0x3a8f95=[];for(const _0xf4164b of _0x113e69||[]){if(_0xf4164b[_0xd82d36(0x292)]==='assistant'&&Array['isArray'](_0xf4164b[_0xd82d36(0x1d8)]))for(const _0x31b523 of _0xf4164b['tool_calls']){try{const _0x355e5c=_0x31b523[_0xd82d36(0x22a)]?.[_0xd82d36(0x236)],_0x2b7233=JSON['parse'](_0x31b523['function']?.[_0xd82d36(0x25b)]||'{}');if(_0x355e5c===_0xd82d36(0x1f9))_0x3a8f95['push'](_0xd82d36(0x2b0)+_0x2b7233[_0xd82d36(0x226)]+'\x27\x20'+(_0x2b7233[_0xd82d36(0x280)]||'.'));else{if(_0x355e5c===_0xd82d36(0x2ac))_0x3a8f95[_0xd82d36(0x288)](_0xd82d36(0x2f8)+_0x2b7233[_0xd82d36(0x280)]);else{if(_0x355e5c==='list_directory')_0x3a8f95[_0xd82d36(0x288)]('list_directory\x20'+(_0x2b7233[_0xd82d36(0x1f3)]||'.'));else{if(_0x355e5c===_0xd82d36(0x1e9))_0x3a8f95['push'](_0xd82d36(0x23a)+_0x2b7233[_0xd82d36(0x226)]+'\x27\x20'+(_0x2b7233[_0xd82d36(0x280)]||'.'));else _0x355e5c===_0xd82d36(0x30a)&&_0x3a8f95[_0xd82d36(0x288)](_0xd82d36(0x30a));}}}}catch{}}}return _0x3a8f95;},_0x503346=_0x58eb02=>{const _0xde4561=_0x54599f,_0x257604=[];if(!_0x58eb02||!Array[_0xde4561(0x275)](_0x58eb02))return _0x257604;const _0x5ec8c7=[{'pattern':/\[FILE NOT FOUND\]/,'error_type':_0xde4561(0x1fb),'tool':'read'},{'pattern':/\[PATH ERROR\]/,'error_type':'PathError','tool':'read'},{'pattern':/\[READ ERROR\]/,'error_type':'ReadError','tool':_0xde4561(0x2ac)},{'pattern':/\[UNREADABLE FILE\]/,'error_type':'BinaryFile','tool':_0xde4561(0x2ac)},{'pattern':/\[RIPGREP ERROR\]/,'error_type':_0xde4561(0x1f0),'tool':_0xde4561(0x304)},{'pattern':/\[RIPGREP NOT AVAILABLE\]/,'error_type':_0xde4561(0x20a),'tool':_0xde4561(0x304)},{'pattern':/\[BINARY FILE\]/,'error_type':_0xde4561(0x22f),'tool':_0xde4561(0x2ac)},{'pattern':/\[SYMLINK\]/,'error_type':_0xde4561(0x1e4),'tool':_0xde4561(0x2ac)},{'pattern':/not a text file/,'error_type':_0xde4561(0x22f),'tool':_0xde4561(0x2ac)},{'pattern':/symbolic link/,'error_type':_0xde4561(0x1e4),'tool':_0xde4561(0x2ac)},{'pattern':/Error reading file:/,'error_type':_0xde4561(0x262),'tool':_0xde4561(0x2ac)},{'pattern':/status="error"/,'error_type':_0xde4561(0x227),'tool':_0xde4561(0x1fe)}];let _0xc037c4=0x0;for(const _0x56a3b6 of _0x58eb02){_0x56a3b6[_0xde4561(0x292)]===_0xde4561(0x2f3)&&Array[_0xde4561(0x275)](_0x56a3b6[_0xde4561(0x1d8)])&&_0xc037c4++;const _0x5775f1=_0x56a3b6['content'];if((_0x56a3b6[_0xde4561(0x292)]===_0xde4561(0x1e6)||_0x56a3b6[_0xde4561(0x292)]===_0xde4561(0x2b4))&&_0x5775f1&&typeof _0x5775f1===_0xde4561(0x2a8))for(const {pattern:_0x459331,error_type:_0x4c89b3,tool:_0x2fa292}of _0x5ec8c7){const _0x24ac6f=_0x5775f1[_0xde4561(0x248)](new RegExp(_0x459331[_0xde4561(0x254)],'g'));if(_0x24ac6f)for(const _0x4e7562 of _0x24ac6f){const _0x37a560=_0x5775f1[_0xde4561(0x2ad)](_0x4e7562),_0x14f07e=_0x5775f1[_0xde4561(0x2eb)](_0x37a560,Math[_0xde4561(0x273)](_0x37a560+0xc8,_0x5775f1[_0xde4561(0x2bd)]));_0x257604[_0xde4561(0x288)]({'tool':_0x2fa292,'error_type':_0x4c89b3,'error_message':_0x14f07e['split']('\x0a')[0x0],'turn':_0xc037c4});}}}return _0x257604;};try{const _0x5e1dde=a0_0x2a77ef['resolve'](_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)]),_0x3a64d7=_0x11cfee[_0x54599f(0x208)][_0x54599f(0x24b)],_0x3a29af=_0x3a64d7===_0x54599f(0x2d1)?{'allowNames':[_0x54599f(0x2d1)]}:undefined,_0x10f73f=new LocalRipgrepProvider(_0x5e1dde,undefined,_0x3a29af);logger['debug']('MCP','provider_created',{'type':'LocalRipgrepProvider','repo_root':_0x5e1dde,'search_type':_0x3a64d7||_0x54599f(0x23f)}),logger[_0x54599f(0x233)](_0x54599f(0x2a6),'warp_grep_start',{'query':_0x11cfee[_0x54599f(0x208)]['search_string'],'repo_root':_0x5e1dde,'timeout_ms':MORPH_WARP_GREP_TIMEOUT});const _0x51ee09=Date[_0x54599f(0x264)](),_0x55d2b1=await runWarpGrep({'searchTerm':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x2e7)],'repoRoot':_0x5e1dde,'morphApiKey':MORPH_API_KEY,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT,'provider':_0x10f73f,'search_type':_0x3a64d7}),_0xb3f290=Date[_0x54599f(0x264)]()-_0x51ee09,_0x58f27c=_0x55d2b1[_0x54599f(0x30a)]?.[_0x54599f(0x223)]?.[_0x54599f(0x28c)]?.[_0x54599f(0x2bd)]??0x0;logger['debug'](_0x54599f(0x2a6),_0x54599f(0x2c7),{'termination':_0x55d2b1[_0x54599f(0x299)],'turns':_0x55d2b1[_0x54599f(0x2b1)]?.['turns']??0x0,'files_found':_0x58f27c,'latency_ms':_0xb3f290});const _0x40d664=_0x503346(_0x55d2b1['messages']);_0x40d664[_0x54599f(0x2bd)]>0x0&&reportMorphError({'error_message':_0x54599f(0x25a)+_0x40d664['length']+'\x20error(s)','error_type':_0x54599f(0x2d4),'level':_0x54599f(0x1f8),'tool':_0x54599f(0x205),'context':{'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'query':_0x11cfee[_0x54599f(0x208)]['search_string'],'model':'morph-warp-grep-v2.1','termination_reason':_0x55d2b1[_0x54599f(0x299)],'sub_tool_errors':_0x40d664,'timings':_0x55d2b1[_0x54599f(0x2b1)],'tool_calls':_0x13aa1d(_0x55d2b1['messages']),'messages':_0x55d2b1[_0x54599f(0x1e3)]?.[_0x54599f(0x296)](_0x1a94d9=>({'role':_0x1a94d9[_0x54599f(0x292)],'content':_0x1a94d9[_0x54599f(0x228)],..._0x1a94d9[_0x54599f(0x1d8)]?{'tool_calls':_0x1a94d9[_0x54599f(0x1d8)][_0x54599f(0x2bd)]}:{},..._0x1a94d9[_0x54599f(0x219)]?{'tool_call_id':_0x1a94d9[_0x54599f(0x219)]}:{}}))},'source':_0x54599f(0x270)})['catch'](()=>{});let _0x1a9189='';if(_0x55d2b1[_0x54599f(0x299)]===_0x54599f(0x2b2)&&_0x55d2b1[_0x54599f(0x30a)]?.[_0x54599f(0x223)]?.[_0x54599f(0x28c)]){const _0x148533=_0x55d2b1[_0x54599f(0x30a)][_0x54599f(0x223)][_0x54599f(0x28c)];if(_0x148533[_0x54599f(0x2bd)]===0x0)return _0x1a9189=_0x55d2b1[_0x54599f(0x30a)][_0x54599f(0x2cb)]||_0x54599f(0x1e0),{'content':[{'type':_0x54599f(0x21f),'text':_0x1a9189}]};const _0x4a7e2e=[],_0xde2eb6=[_0x54599f(0x301)];for(const _0x35fae5 of _0x55d2b1[_0x54599f(0x1e3)]){if(_0x35fae5['role']===_0x54599f(0x2f3)&&Array[_0x54599f(0x275)](_0x35fae5[_0x54599f(0x1d8)]))for(const _0x4f2bf9 of _0x35fae5[_0x54599f(0x1d8)]){try{const _0x14a838=_0x4f2bf9[_0x54599f(0x22a)]?.[_0x54599f(0x236)],_0x4ce728=JSON['parse'](_0x4f2bf9[_0x54599f(0x22a)]?.[_0x54599f(0x25b)]||'{}');if(_0x14a838===_0x54599f(0x1f9))_0xde2eb6[_0x54599f(0x288)](_0x54599f(0x202)+_0x4ce728['pattern']+_0x54599f(0x305)+(_0x4ce728[_0x54599f(0x280)]||'.')+'`');else{if(_0x14a838===_0x54599f(0x2ac))_0xde2eb6['push'](_0x54599f(0x2dd)+_0x4ce728[_0x54599f(0x280)]+'`');else{if(_0x14a838===_0x54599f(0x289))_0xde2eb6[_0x54599f(0x288)]('-\x20Listed\x20directory\x20`'+(_0x4ce728[_0x54599f(0x1f3)]||'.')+'`');else _0x14a838===_0x54599f(0x1e9)&&_0xde2eb6[_0x54599f(0x288)](_0x54599f(0x29c)+_0x4ce728['pattern']+_0x54599f(0x249)+(_0x4ce728[_0x54599f(0x280)]||'.')+'`');}}}catch{}}}_0x4a7e2e['push'](_0xde2eb6[_0x54599f(0x283)]('\x0a'));const _0x15d250=['',_0x54599f(0x2da)];for(const _0x3c2d63 of _0x148533){if(_0x3c2d63[_0x54599f(0x267)]==='*')_0x15d250[_0x54599f(0x288)]('-\x20'+_0x3c2d63['path']+':*');else{if(Array['isArray'](_0x3c2d63[_0x54599f(0x267)])){const _0x4c58d8=_0x3c2d63[_0x54599f(0x267)][_0x54599f(0x296)](([_0x172379,_0x43c462])=>{if(_0x172379===_0x43c462)return''+_0x172379;return _0x172379+'-'+_0x43c462;});_0x15d250[_0x54599f(0x288)]('-\x20'+_0x3c2d63[_0x54599f(0x280)]+':'+_0x4c58d8[_0x54599f(0x283)](','));}else _0x15d250[_0x54599f(0x288)]('-\x20'+_0x3c2d63[_0x54599f(0x280)]+':*');}}_0x15d250[_0x54599f(0x288)](''),_0x4a7e2e['push'](_0x15d250[_0x54599f(0x283)]('\x0a')),_0x4a7e2e['push']('Here\x20is\x20the\x20content\x20of\x20files:\x0a');const _0x54929c=[],_0x2d3e94=[];for(const _0x45a559 of _0x148533){let _0x4bbaeb=a0_0x2a77ef[_0x54599f(0x2e4)](_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],_0x45a559[_0x54599f(0x280)]),_0x1b5c1e=null,_0x2419c8=null;try{_0x1b5c1e=await a0_0x5d80a6[_0x54599f(0x26f)](_0x4bbaeb,{'encoding':_0x54599f(0x2db)});}catch(_0x4fb02f){const _0x42b575=fixPathRepetition(_0x4bbaeb);if(_0x42b575)try{_0x1b5c1e=await a0_0x5d80a6[_0x54599f(0x26f)](_0x42b575,{'encoding':_0x54599f(0x2db)}),_0x4bbaeb=_0x42b575;}catch{_0x2419c8=_0x4fb02f instanceof Error?_0x4fb02f:new Error(String(_0x4fb02f));}else _0x2419c8=_0x4fb02f instanceof Error?_0x4fb02f:new Error(String(_0x4fb02f));}if(_0x1b5c1e!==null){const _0x17c323=_0x1b5c1e[_0x54599f(0x2d8)](/\r?\n/),_0x475634=[];if(_0x45a559[_0x54599f(0x267)]==='*'||!Array['isArray'](_0x45a559[_0x54599f(0x267)]))for(let _0x3543a9=0x1;_0x3543a9<=_0x17c323[_0x54599f(0x2bd)];_0x3543a9++){const _0x42496a=_0x17c323[_0x3543a9-0x1];_0x475634[_0x54599f(0x288)](_0x3543a9+'|\x20'+_0x42496a);}else for(const [_0x3573c3,_0x5afb6f]of _0x45a559[_0x54599f(0x267)]){_0x475634[_0x54599f(0x2bd)]>0x0&&_0x475634[_0x54599f(0x288)]('');for(let _0x27cf6b=_0x3573c3;_0x27cf6b<=_0x5afb6f&&_0x27cf6b<=_0x17c323[_0x54599f(0x2bd)];_0x27cf6b++){const _0x263fd5=_0x17c323[_0x27cf6b-0x1];_0x475634[_0x54599f(0x288)](_0x27cf6b+'|\x20'+_0x263fd5);}}_0x2d3e94[_0x54599f(0x288)]({'path':_0x45a559['path'],'content':_0x475634[_0x54599f(0x283)]('\x0a')});}else _0x54929c[_0x54599f(0x288)](_0x54599f(0x22c)+_0x45a559['path']+_0x54599f(0x2ec)+(_0x2419c8?.[_0x54599f(0x271)]||'Unknown\x20error')+_0x54599f(0x2e8));}try{const _0x4eb1bd=await compactFileContexts(_0x2d3e94,_0x11cfee['data'][_0x54599f(0x2e7)],MORPH_API_KEY,MORPH_API_URL);for(const _0x15b850 of _0x4eb1bd){_0x54929c[_0x54599f(0x288)]('<file\x20path=\x22'+_0x15b850['path']+_0x54599f(0x26b)+_0x15b850[_0x54599f(0x228)]+_0x54599f(0x2e8));}}catch(_0x1086b9){logger[_0x54599f(0x1f8)]('MCP',_0x54599f(0x2fd),{'error':_0x1086b9 instanceof Error?_0x1086b9['message']:String(_0x1086b9),'files_count':_0x2d3e94[_0x54599f(0x2bd)]});for(const _0x488348 of _0x2d3e94){_0x54929c[_0x54599f(0x288)]('<file\x20path=\x22'+_0x488348['path']+'\x22>\x0a'+_0x488348[_0x54599f(0x228)]+_0x54599f(0x2e8));}}_0x4a7e2e[_0x54599f(0x288)](_0x54929c['join']('\x0a\x0a')),_0x1a9189=_0x4a7e2e[_0x54599f(0x283)]('\x0a');const _0x418d95=_0x55d2b1[_0x54599f(0x1ea)]?.['filter'](_0x34efbb=>_0x34efbb['message']?.['startsWith'](_0x54599f(0x261)))||[];if(_0x418d95['length']>0x0){const _0x335271=_0x418d95[_0x54599f(0x296)](_0x4cdba0=>_0x4cdba0['message'])['join'](';\x20');reportMorphError({'error_message':_0x335271,'error_type':_0x54599f(0x211),'context':{'tool':_0x54599f(0x205),'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'query':_0x11cfee['data'][_0x54599f(0x2e7)],'model':_0x54599f(0x259),'termination_reason':_0x54599f(0x251),'error_count':_0x418d95[_0x54599f(0x2bd)],'is_timeout':![],'timings':_0x55d2b1[_0x54599f(0x2b1)],'files_attempted':_0x148533[_0x54599f(0x296)](_0x5bfc92=>({'path':_0x5bfc92[_0x54599f(0x280)],'lines':_0x5bfc92['lines']})),'tool_calls':_0x13aa1d(_0x55d2b1['messages']),'messages':_0x55d2b1['messages']?.[_0x54599f(0x296)](_0x4f710e=>({'role':_0x4f710e[_0x54599f(0x292)],'content':_0x4f710e[_0x54599f(0x228)],..._0x4f710e[_0x54599f(0x1d8)]?{'tool_calls':_0x4f710e[_0x54599f(0x1d8)][_0x54599f(0x2bd)]}:{},..._0x4f710e[_0x54599f(0x219)]?{'tool_call_id':_0x4f710e[_0x54599f(0x219)]}:{}})),'request_content':{'query':_0x11cfee[_0x54599f(0x208)]['search_string'],'repo_path':_0x11cfee[_0x54599f(0x208)]['repo_path'],'repoRoot':a0_0x2a77ef[_0x54599f(0x2e4)](_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)]),'model':_0x54599f(0x259)}},'source':_0x54599f(0x270)})['catch'](()=>{});}}else{if(_0x55d2b1[_0x54599f(0x299)]===_0x54599f(0x215)&&_0x55d2b1[_0x54599f(0x1ea)][_0x54599f(0x2bd)]>0x0){const _0x4a7824=_0x55d2b1['errors']['map'](_0x375b65=>_0x375b65['message'])[_0x54599f(0x283)](';\x20');_0x1a9189='Error:\x20'+_0x4a7824;const _0x24d498=_0x4a7824[_0x54599f(0x214)]()[_0x54599f(0x284)](_0x54599f(0x1ff))||_0x4a7824[_0x54599f(0x214)]()[_0x54599f(0x284)](_0x54599f(0x2b6))||_0x4a7824[_0x54599f(0x214)]()[_0x54599f(0x284)]('etimedout'),_0x31d85d=_0x55d2b1[_0x54599f(0x30a)]?.[_0x54599f(0x223)]?.['files'],_0x38d616=_0x55d2b1[_0x54599f(0x1ea)][0x0];reportMorphError({'error_message':_0x4a7824,'error_type':_0x24d498?_0x54599f(0x1fa):_0x38d616?.[_0x54599f(0x2a7)]?.[_0x54599f(0x236)]||'WarpGrepError','context':{'tool':'codebase_search','repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'query':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x2e7)],'model':_0x54599f(0x259),'termination_reason':_0x55d2b1[_0x54599f(0x299)],'error_count':_0x55d2b1[_0x54599f(0x1ea)]['length'],'is_timeout':_0x24d498,'timings':_0x55d2b1['timings'],'files_attempted':_0x31d85d?.['map'](_0x38b4e4=>({'path':_0x38b4e4[_0x54599f(0x280)],'lines':_0x38b4e4[_0x54599f(0x267)]})),'tool_calls':_0x13aa1d(_0x55d2b1[_0x54599f(0x1e3)]),'messages':_0x55d2b1[_0x54599f(0x1e3)]?.[_0x54599f(0x296)](_0x374361=>({'role':_0x374361[_0x54599f(0x292)],'content':_0x374361[_0x54599f(0x228)],..._0x374361['tool_calls']?{'tool_calls':_0x374361[_0x54599f(0x1d8)][_0x54599f(0x2bd)]}:{},..._0x374361[_0x54599f(0x219)]?{'tool_call_id':_0x374361[_0x54599f(0x219)]}:{}})),'request_content':{'query':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x2e7)],'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'repoRoot':a0_0x2a77ef[_0x54599f(0x2e4)](_0x11cfee['data']['repo_path']),'model':_0x54599f(0x259)}},'stack_trace':_0x38d616?.[_0x54599f(0x250)]||undefined,'source':_0x54599f(0x270)})[_0x54599f(0x263)](()=>{});}else _0x1a9189=_0x54599f(0x27d);}return{'content':[{'type':_0x54599f(0x21f),'text':_0x1a9189}]};}catch(_0x233b4e){const _0x5e2a47=handleMorphAPIError(_0x233b4e);if(_0x5e2a47)return logger[_0x54599f(0x2f4)](_0x54599f(0x2a6),_0x54599f(0x274),{'tool':_0x54599f(0x205),'error':_0x54599f(0x235),'latency_ms':Date['now']()-_0xfdf9fd}),_0x5e2a47;const _0x2a4c39=_0x233b4e instanceof Error?_0x233b4e[_0x54599f(0x271)]:String(_0x233b4e);logger[_0x54599f(0x2f4)](_0x54599f(0x2a6),_0x54599f(0x274),{'tool':_0x54599f(0x205),'error':_0x2a4c39,'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'query':_0x11cfee[_0x54599f(0x208)]['search_string'],'latency_ms':Date['now']()-_0xfdf9fd});const _0x2db249=_0x2a4c39[_0x54599f(0x214)]()[_0x54599f(0x284)](_0x54599f(0x1ff))||_0x2a4c39[_0x54599f(0x214)]()[_0x54599f(0x284)]('timed\x20out')||_0x2a4c39['toLowerCase']()[_0x54599f(0x284)]('etimedout')||_0x233b4e instanceof Error&&_0x233b4e[_0x54599f(0x236)]===_0x54599f(0x1fa);return reportMorphError({'error_message':_0x2a4c39,'error_type':_0x2db249?_0x54599f(0x1fa):_0x233b4e instanceof Error?_0x233b4e[_0x54599f(0x2a7)][_0x54599f(0x236)]:'UnknownError','context':{'tool':_0x54599f(0x205),'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'query':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x2e7)],'model':_0x54599f(0x259),'is_timeout':_0x2db249,'exception_phase':_0x54599f(0x2e1),'request_content':{'query':_0x11cfee[_0x54599f(0x208)]['search_string'],'repo_path':_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)],'repoRoot':a0_0x2a77ef[_0x54599f(0x2e4)](_0x11cfee[_0x54599f(0x208)][_0x54599f(0x1d7)]),'model':_0x54599f(0x259)}},'stack_trace':_0x233b4e instanceof Error?_0x233b4e[_0x54599f(0x250)]:undefined,'source':_0x54599f(0x270)})[_0x54599f(0x263)](()=>{}),{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x298)+_0x2a4c39}],'isError':![]};}}case TOOL_NAMES[_0x54599f(0x245)]:{const _0x423efb=WarpGrepGitHubArgsSchema[_0x54599f(0x2c3)](_0x5980ef);if(!_0x423efb[_0x54599f(0x26c)])return{'content':[{'type':'text','text':_0x54599f(0x295)+_0x423efb[_0x54599f(0x2f4)]}],'isError':!![]};const _0x14598e=_0x423efb[_0x54599f(0x208)]['github_url']||_0x423efb[_0x54599f(0x208)][_0x54599f(0x1e8)];if(!_0x14598e)return{'content':[{'type':'text','text':'Please\x20provide\x20github\x20search\x20url\x20or\x20owner/repo\x20id'}],'isError':!![]};const _0x47c968=MORPH_API_KEY;if(!_0x47c968)throw new Error('MORPH_API_KEY\x20environment\x20variable\x20must\x20be\x20set\x20in\x20MCP\x20config.\x20Check\x20your\x20global\x20MCP\x20configuration.');const _0x1018b5=Date[_0x54599f(0x264)]();logger[_0x54599f(0x233)]('MCP','github_search_start',{'identifier':_0x14598e,'query':_0x423efb[_0x54599f(0x208)]['search_string'],'branch':_0x423efb['data'][_0x54599f(0x2a5)]});try{const _0x1ed2f6=new WarpGrepClient({'morphApiKey':_0x47c968,'morphApiUrl':MORPH_API_URL,'timeout':MORPH_WARP_GREP_TIMEOUT}),_0x4a7917=await _0x1ed2f6[_0x54599f(0x234)]({'searchTerm':_0x423efb[_0x54599f(0x208)]['search_string'],'github':_0x14598e,'branch':_0x423efb['data'][_0x54599f(0x2a5)]}),_0x23f9df=Date[_0x54599f(0x264)]()-_0x1018b5;logMcpStderr(_0x54599f(0x1e7)+_0x23f9df+_0x54599f(0x2d2)+_0x4a7917[_0x54599f(0x26c)]);const _0x10b0db=formatResult(_0x4a7917);return{'content':[{'type':_0x54599f(0x21f),'text':_0x10b0db}]};}catch(_0x1ae2f4){const _0x3d8ada=handleMorphAPIError(_0x1ae2f4);if(_0x3d8ada)return _0x3d8ada;const _0x13e5c7=Date[_0x54599f(0x264)]()-_0x1018b5,_0x367467=_0x1ae2f4 instanceof Error?_0x1ae2f4[_0x54599f(0x271)]:String(_0x1ae2f4);return logMcpStderr('[github_codebase_search]\x20Failed\x20in\x20'+_0x13e5c7+_0x54599f(0x1d3),_0x367467),reportMorphError({'error_message':_0x367467,'error_type':_0x1ae2f4 instanceof Error?_0x1ae2f4['constructor']['name']:_0x54599f(0x221),'context':{'tool':'github_codebase_search','github_url':_0x14598e,'search_string':_0x423efb['data']['search_string'],'branch':_0x423efb['data'][_0x54599f(0x2a5)]},'stack_trace':_0x1ae2f4 instanceof Error?_0x1ae2f4['stack']:undefined,'source':_0x54599f(0x270),'tool':_0x54599f(0x1f1),'latency_ms':_0x13e5c7})[_0x54599f(0x263)](()=>{}),{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x20e)+_0x367467}],'isError':![]};}}case TOOL_NAMES[_0x54599f(0x20d)]:{const _0x41a05f=ListReflexesArgsSchema['safeParse'](_0x5980ef??{});if(!_0x41a05f[_0x54599f(0x26c)])return{'content':[{'type':_0x54599f(0x21f),'text':'Invalid\x20arguments:\x20'+_0x41a05f['error']}],'isError':!![]};return runReflexTool(TOOL_NAMES['LIST_REFLEXES'],()=>runListReflexes(getReflexApi()));}case TOOL_NAMES[_0x54599f(0x222)]:{const _0x5b21e3=ReflexSummaryArgsSchema[_0x54599f(0x2c3)](_0x5980ef??{});if(!_0x5b21e3[_0x54599f(0x26c)])return{'content':[{'type':'text','text':_0x54599f(0x295)+_0x5b21e3[_0x54599f(0x2f4)]}],'isError':!![]};return runReflexTool(TOOL_NAMES[_0x54599f(0x222)],()=>runReflexSummary(getReflexApi(),_0x5b21e3['data']));}case TOOL_NAMES[_0x54599f(0x29b)]:{const _0x1e5b01=GetReflexTracesArgsSchema[_0x54599f(0x2c3)](_0x5980ef??{});if(!_0x1e5b01['success'])return{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x295)+_0x1e5b01[_0x54599f(0x2f4)]}],'isError':!![]};return runReflexTool(TOOL_NAMES[_0x54599f(0x29b)],()=>runGetReflexTraces(getReflexApi(),_0x1e5b01[_0x54599f(0x208)]));}default:throw new Error(_0x54599f(0x25e)+_0x336537);}}catch(_0x2aa5de){const _0x227d79=_0x2aa5de instanceof Error?_0x2aa5de[_0x54599f(0x271)]:String(_0x2aa5de);return reportMorphError({'error_message':_0x227d79,'error_type':_0x2aa5de instanceof Error?_0x2aa5de[_0x54599f(0x2a7)][_0x54599f(0x236)]:_0x54599f(0x221),'context':{'tool':_0x336537,'arguments':_0x5980ef?JSON[_0x54599f(0x2a3)](_0x5980ef)['substring'](0x0,0x1f4):undefined,'mcp_server_version':_0x54599f(0x2b9)},'stack_trace':_0x2aa5de instanceof Error?_0x2aa5de[_0x54599f(0x250)]:undefined,'source':_0x54599f(0x270)})[_0x54599f(0x263)](()=>{}),{'content':[{'type':_0x54599f(0x21f),'text':_0x54599f(0x201)+_0x227d79}],'isError':!![]};}});async function updateAllowedDirectoriesFromRoots(_0x26db5f){const _0x1c7478=a0_0x1bd0c4,_0x14b4fd=await getValidRootDirectories(_0x26db5f);if(_0x14b4fd['length']>0x0)allowedDirectories=[..._0x14b4fd],logMcpStderr('Updated\x20allowed\x20directories\x20from\x20MCP\x20roots:\x20'+_0x14b4fd['length']+_0x1c7478(0x285));else{logMcpStderr(_0x1c7478(0x1eb));if(ENABLE_WORKSPACE_MODE)try{const _0x320a18=await detectWorkspaceRoot(WORKSPACE_ROOT);_0x320a18&&(allowedDirectories=[_0x320a18],logMcpStderr('Fallback:\x20Using\x20workspace\x20root\x20'+_0x320a18));}catch(_0xa0e892){logMcpStderr(_0x1c7478(0x2f7)+_0xa0e892);}}}server[a0_0x1bd0c4(0x2a4)](RootsListChangedNotificationSchema,async()=>{const _0x4d8fbf=a0_0x1bd0c4;try{const _0x495315=await server['listRoots']();_0x495315&&_0x4d8fbf(0x26e)in _0x495315&&await updateAllowedDirectoriesFromRoots(_0x495315[_0x4d8fbf(0x26e)]);}catch(_0xfe5d37){logMcpStderr(_0x4d8fbf(0x1d2),_0xfe5d37 instanceof Error?_0xfe5d37[_0x4d8fbf(0x271)]:String(_0xfe5d37));}}),server[a0_0x1bd0c4(0x278)]=async()=>{const _0x45f510=a0_0x1bd0c4,_0x31b59d=server[_0x45f510(0x2d0)]();if(_0x31b59d?.[_0x45f510(0x26e)])try{const _0x250465=await server[_0x45f510(0x26a)]();_0x250465&&_0x45f510(0x26e)in _0x250465?await updateAllowedDirectoriesFromRoots(_0x250465[_0x45f510(0x26e)]):logMcpStderr(_0x45f510(0x206));}catch(_0x319138){logMcpStderr(_0x45f510(0x218),_0x319138 instanceof Error?_0x319138[_0x45f510(0x271)]:String(_0x319138));}else{if(allowedDirectories[_0x45f510(0x2bd)]>0x0)logMcpStderr(_0x45f510(0x2dc),allowedDirectories);else{if(ENABLE_WORKSPACE_MODE)logMcpStderr(_0x45f510(0x24d));else throw new Error(_0x45f510(0x27c));}}};async function runServer(){const _0x3d1c85=a0_0x1bd0c4,_0x381e8f=new StdioServerTransport();await server[_0x3d1c85(0x2cd)](_0x381e8f),logMcpStderr(_0x3d1c85(0x203)),allowedDirectories[_0x3d1c85(0x2bd)]===0x0&&logMcpStderr(_0x3d1c85(0x255));}runServer()[a0_0x1bd0c4(0x263)](_0x2e2353=>{const _0x30d03a=a0_0x1bd0c4;logMcpStderr(_0x30d03a(0x1d5),_0x2e2353),process[_0x30d03a(0x25c)](0x1);});
|
package/dist/log-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
function a1_0x3b1e(_0x588b7c,_0x86cfa9){_0x588b7c=_0x588b7c-0x1e7;var _0xc3a7d=a1_0xc3a7();var _0x3b1e9d=_0xc3a7d[_0x588b7c];return _0x3b1e9d;}var a1_0x564578=a1_0x3b1e;function a1_0xc3a7(){var _0x41b700=['1622488UWQRNa','darwin','info','9498kwlEYr','[os=','1081584UzDFwE','MCP','win32','linux','1TSaRwv','204648IhPzjP','length','695CFCglc','2472147fFkOnT','Unknown','3thIfyN','669163NaFYDE','10xQbFgL','macOS','map','platform','360964bPMeXu'];a1_0xc3a7=function(){return _0x41b700;};return a1_0xc3a7();}(function(_0x5cfac3,_0x447796){var _0x178acf=a1_0x3b1e,_0x5ecd5d=_0x5cfac3();while(!![]){try{var _0x118814=parseInt(_0x178acf(0x1ee))/0x1*(parseInt(_0x178acf(0x1ef))/0x2)+parseInt(_0x178acf(0x1f4))/0x3*(parseInt(_0x178acf(0x1fa))/0x4)+parseInt(_0x178acf(0x1f1))/0x5*(-parseInt(_0x178acf(0x1e8))/0x6)+parseInt(_0x178acf(0x1ea))/0x7+-parseInt(_0x178acf(0x1fb))/0x8+parseInt(_0x178acf(0x1f2))/0x9+-parseInt(_0x178acf(0x1f6))/0xa*(parseInt(_0x178acf(0x1f5))/0xb);if(_0x118814===_0x447796)break;else _0x5ecd5d['push'](_0x5ecd5d['shift']());}catch(_0x1f8f2e){_0x5ecd5d['push'](_0x5ecd5d['shift']());}}}(a1_0xc3a7,0x21b5f));import a1_0x49e0e7 from'os';import{logger}from'./logger.js';export function getOperatingSystemType(_0x3e40e8=a1_0x49e0e7['platform']()){var _0x5acd6b=a1_0x3b1e;switch(_0x3e40e8){case _0x5acd6b(0x1fc):return _0x5acd6b(0x1f7);case _0x5acd6b(0x1ec):return'Windows';case _0x5acd6b(0x1ed):return'Linux';default:return _0x5acd6b(0x1f3);}}export function formatMcpLogMessage(_0x50e566,_0x4fdc06=a1_0x49e0e7[a1_0x564578(0x1f9)]()){var _0xacbbc3=a1_0x564578;return _0xacbbc3(0x1e9)+getOperatingSystemType(_0x4fdc06)+']\x20'+_0x50e566;}export function logMcpStderr(_0x101153,..._0x532fa6){var _0x44f76f=a1_0x564578;console['error'](formatMcpLogMessage(_0x101153),..._0x532fa6),logger[_0x44f76f(0x1e7)](_0x44f76f(0x1eb),_0x101153,_0x532fa6[_0x44f76f(0x1f0)]?{'args':_0x532fa6[_0x44f76f(0x1f8)](_0x4f4d30=>String(_0x4f4d30))}:undefined);}
|
package/dist/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a2_0x51a6(){const _0x2474e4=['1978346yCRyCj','22601650PiZNZI','env','_log','21xAygRb','41514OeoBAS','write',']\x20[','info','warn','stringify','612khUDSz','7465xSnqmn','enable','toUpperCase','8AQKtzu','debug','error','toISOString','isEnabled','MORPH_LOG_FILE','1051746InatFN','MORPH_DEBUG','fileStream','8299854OjQqSP','2484915TgZXfy','enabled'];a2_0x51a6=function(){return _0x2474e4;};return a2_0x51a6();}const a2_0x46c7fe=a2_0x231a;(function(_0xa4c17a,_0x20563c){const _0xd552a=a2_0x231a,_0x1613e9=_0xa4c17a();while(!![]){try{const _0x2bcd7e=-parseInt(_0xd552a(0x192))/0x1+-parseInt(_0xd552a(0x18d))/0x2+-parseInt(_0xd552a(0x18b))/0x3+-parseInt(_0xd552a(0x198))/0x4*(parseInt(_0xd552a(0x199))/0x5)+-parseInt(_0xd552a(0x1a2))/0x6*(parseInt(_0xd552a(0x191))/0x7)+-parseInt(_0xd552a(0x19c))/0x8*(-parseInt(_0xd552a(0x18a))/0x9)+parseInt(_0xd552a(0x18e))/0xa;if(_0x2bcd7e===_0x20563c)break;else _0x1613e9['push'](_0x1613e9['shift']());}catch(_0xbe3cac){_0x1613e9['push'](_0x1613e9['shift']());}}}(a2_0x51a6,0x8aef5));import{createWriteStream}from'fs';function a2_0x231a(_0x58202f,_0xba75e0){_0x58202f=_0x58202f-0x188;const _0x51a601=a2_0x51a6();let _0x231a8b=_0x51a601[_0x58202f];return _0x231a8b;}class MorphLogger{['enabled'];['fileStream'];constructor(){const _0x47ac76=a2_0x231a;this[_0x47ac76(0x18c)]=process[_0x47ac76(0x18f)][_0x47ac76(0x188)]==='1'||!!process[_0x47ac76(0x18f)][_0x47ac76(0x1a1)];const _0x413bd5=process[_0x47ac76(0x18f)]['MORPH_LOG_FILE'];this['fileStream']=_0x413bd5?createWriteStream(_0x413bd5,{'flags':'a'}):null;}[a2_0x46c7fe(0x19d)](_0x4d7041,_0x2abb6d,_0x589295){this['_log']('debug',_0x4d7041,_0x2abb6d,_0x589295);}[a2_0x46c7fe(0x195)](_0x212bed,_0x1232ea,_0x197af0){const _0x30b1b0=a2_0x46c7fe;this[_0x30b1b0(0x190)](_0x30b1b0(0x195),_0x212bed,_0x1232ea,_0x197af0);}[a2_0x46c7fe(0x196)](_0x2fc629,_0x46fdb8,_0x1af55e){const _0x5b308e=a2_0x46c7fe;this['_log'](_0x5b308e(0x196),_0x2fc629,_0x46fdb8,_0x1af55e);}['error'](_0x260416,_0x107786,_0x163d2d){const _0x1bfe18=a2_0x46c7fe;this['_log'](_0x1bfe18(0x19e),_0x260416,_0x107786,_0x163d2d);}[a2_0x46c7fe(0x19a)](){const _0x43bb6a=a2_0x46c7fe;this[_0x43bb6a(0x18c)]=!![];}get[a2_0x46c7fe(0x1a0)](){const _0x1b0015=a2_0x46c7fe;return this[_0x1b0015(0x18c)];}[a2_0x46c7fe(0x190)](_0x4cbe06,_0x33f286,_0x17f024,_0x4b9710){const _0x287da0=a2_0x46c7fe;if(_0x4cbe06!==_0x287da0(0x19e)&&!this[_0x287da0(0x18c)])return;const _0xae44b6=new Date()[_0x287da0(0x19f)](),_0x3ce593='['+_0xae44b6+_0x287da0(0x194)+_0x4cbe06[_0x287da0(0x19b)]()+_0x287da0(0x194)+_0x33f286+']';console[_0x287da0(0x19e)](_0x4b9710?_0x3ce593+'\x20'+_0x17f024+'\x20'+JSON[_0x287da0(0x197)](_0x4b9710):_0x3ce593+'\x20'+_0x17f024),this[_0x287da0(0x189)]?.[_0x287da0(0x193)](JSON[_0x287da0(0x197)]({'ts':_0xae44b6,'level':_0x4cbe06,'component':_0x33f286,'msg':_0x17f024,..._0x4b9710&&{'data':_0x4b9710}})+'\x0a');}}export const logger=new MorphLogger();
|
package/dist/path-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x344800,_0x3f01a2){const _0x4b366e=a3_0x3310,_0x455363=_0x344800();while(!![]){try{const _0x56b15b=-parseInt(_0x4b366e(0x155))/0x1+parseInt(_0x4b366e(0x154))/0x2+-parseInt(_0x4b366e(0x14f))/0x3+parseInt(_0x4b366e(0x150))/0x4*(-parseInt(_0x4b366e(0x15e))/0x5)+-parseInt(_0x4b366e(0x152))/0x6+parseInt(_0x4b366e(0x161))/0x7+parseInt(_0x4b366e(0x14e))/0x8;if(_0x56b15b===_0x3f01a2)break;else _0x455363['push'](_0x455363['shift']());}catch(_0x215dda){_0x455363['push'](_0x455363['shift']());}}}(a3_0x43d7,0xdae9f));import a3_0x165f4b from'path';import a3_0x5e5f17 from'os';export function convertToWindowsPath(_0x4c189c){const _0x210b03=a3_0x3310;if(_0x4c189c[_0x210b03(0x160)](_0x210b03(0x156))){const _0x2772ec=_0x4c189c[_0x210b03(0x157)](0x5)[_0x210b03(0x15d)](),_0x51b354=_0x4c189c[_0x210b03(0x15c)](0x6)['replace'](/\//g,'\x5c');return _0x2772ec+':'+_0x51b354;}if(_0x4c189c[_0x210b03(0x158)](/^\/[a-zA-Z]\//)){const _0x3c90b=_0x4c189c[_0x210b03(0x157)](0x1)['toUpperCase'](),_0x2e5df4=_0x4c189c['slice'](0x2)[_0x210b03(0x151)](/\//g,'\x5c');return _0x3c90b+':'+_0x2e5df4;}if(_0x4c189c[_0x210b03(0x158)](/^[a-zA-Z]:/))return _0x4c189c[_0x210b03(0x151)](/\//g,'\x5c');return _0x4c189c;}function a3_0x3310(_0x4de169,_0x561a2b){_0x4de169=_0x4de169-0x14e;const _0x43d705=a3_0x43d7();let _0x3310d8=_0x43d705[_0x4de169];return _0x3310d8;}export function normalizePath(_0x54804b){const _0x2cae56=a3_0x3310;_0x54804b=_0x54804b[_0x2cae56(0x153)]()['replace'](/^["']|["']$/g,'');const _0x518a27=_0x54804b[_0x2cae56(0x160)]('/')&&!_0x54804b[_0x2cae56(0x158)](/^\/mnt\/[a-z]\//i)&&!_0x54804b[_0x2cae56(0x158)](/^\/[a-zA-Z]\//);if(_0x518a27)return _0x54804b[_0x2cae56(0x151)](/\/+/g,'/')['replace'](/\/+$/,'');_0x54804b=convertToWindowsPath(_0x54804b);if(_0x54804b[_0x2cae56(0x160)]('\x5c\x5c')){let _0x27f362=_0x54804b;_0x27f362=_0x27f362[_0x2cae56(0x151)](/^\\{2,}/,'\x5c\x5c');const _0x23d1e0=_0x27f362['substring'](0x2)[_0x2cae56(0x151)](/\\\\/g,'\x5c');_0x54804b='\x5c\x5c'+_0x23d1e0;}else _0x54804b=_0x54804b[_0x2cae56(0x151)](/\\\\/g,'\x5c');let _0x580320=a3_0x165f4b[_0x2cae56(0x15a)](_0x54804b);_0x54804b['startsWith']('\x5c\x5c')&&!_0x580320[_0x2cae56(0x160)]('\x5c\x5c')&&(_0x580320='\x5c'+_0x580320);if(_0x580320[_0x2cae56(0x158)](/^[a-zA-Z]:/)){let _0x3d6d50=_0x580320[_0x2cae56(0x151)](/\//g,'\x5c');return/^[a-z]:/[_0x2cae56(0x15b)](_0x3d6d50)&&(_0x3d6d50=_0x3d6d50['charAt'](0x0)[_0x2cae56(0x15d)]()+_0x3d6d50[_0x2cae56(0x15c)](0x1)),_0x3d6d50;}return _0x580320['replace'](/\//g,'\x5c');}export function expandHome(_0x35511e){const _0x4a1c04=a3_0x3310;if(_0x35511e['startsWith']('~/')||_0x35511e==='~')return a3_0x165f4b[_0x4a1c04(0x159)](a3_0x5e5f17[_0x4a1c04(0x15f)](),_0x35511e[_0x4a1c04(0x15c)](0x1));return _0x35511e;}function a3_0x43d7(){const _0x4799f2=['344429iDrHUi','/mnt/','charAt','match','join','normalize','test','slice','toUpperCase','50WIdLMy','homedir','startsWith','10794371gFLZqV','32969272pJCTAo','5359488SoCKaJ','628692jdybuo','replace','6814818SgUvAQ','trim','143834dzYEUJ'];a3_0x43d7=function(){return _0x4799f2;};return a3_0x43d7();}
|
package/dist/path-validation.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a4_0x3fa8(){const _0x33aa91=['string','308790RyiOhz','535468GuJFSR','7psUHJF','normalize','4ddQsVV','sep','1237784sLPlnX','startsWith','isAbsolute','length','10phWpqX','includes','isArray','8826804lfOTHj','Path\x20must\x20be\x20absolute\x20after\x20normalization','resolve','2207336XjhTfo','2767881GNGSxp','some','5082066sVaEAE'];a4_0x3fa8=function(){return _0x33aa91;};return a4_0x3fa8();}(function(_0x5869e4,_0x41efcb){const _0x7086de=a4_0x3609,_0x115448=_0x5869e4();while(!![]){try{const _0x5d4ca5=-parseInt(_0x7086de(0x126))/0x1+-parseInt(_0x7086de(0x12b))/0x2+parseInt(_0x7086de(0x121))/0x3*(parseInt(_0x7086de(0x129))/0x4)+-parseInt(_0x7086de(0x125))/0x5+parseInt(_0x7086de(0x132))/0x6*(parseInt(_0x7086de(0x127))/0x7)+parseInt(_0x7086de(0x120))/0x8+parseInt(_0x7086de(0x123))/0x9*(-parseInt(_0x7086de(0x12f))/0xa);if(_0x5d4ca5===_0x41efcb)break;else _0x115448['push'](_0x115448['shift']());}catch(_0xcfe59b){_0x115448['push'](_0x115448['shift']());}}}(a4_0x3fa8,0xd9036));import a4_0x549f58 from'path';function a4_0x3609(_0x17ef5c,_0x33dcb6){_0x17ef5c=_0x17ef5c-0x11e;const _0x3fa83c=a4_0x3fa8();let _0x360993=_0x3fa83c[_0x17ef5c];return _0x360993;}export function isPathWithinAllowedDirectories(_0x26ec0d,_0x4fe4c1){const _0x3f10fb=a4_0x3609;if(typeof _0x26ec0d!==_0x3f10fb(0x124)||!Array[_0x3f10fb(0x131)](_0x4fe4c1))return![];if(!_0x26ec0d||_0x4fe4c1[_0x3f10fb(0x12e)]===0x0)return![];if(_0x26ec0d[_0x3f10fb(0x130)]('\x00'))return![];let _0x39de0a;try{_0x39de0a=a4_0x549f58[_0x3f10fb(0x11f)](a4_0x549f58[_0x3f10fb(0x128)](_0x26ec0d));}catch{return![];}if(!a4_0x549f58[_0x3f10fb(0x12d)](_0x39de0a))throw new Error(_0x3f10fb(0x11e));return _0x4fe4c1[_0x3f10fb(0x122)](_0x45ab1f=>{const _0x363905=_0x3f10fb;if(typeof _0x45ab1f!==_0x363905(0x124)||!_0x45ab1f)return![];if(_0x45ab1f[_0x363905(0x130)]('\x00'))return![];let _0x17e759;try{_0x17e759=a4_0x549f58[_0x363905(0x11f)](a4_0x549f58[_0x363905(0x128)](_0x45ab1f));}catch{return![];}if(!a4_0x549f58[_0x363905(0x12d)](_0x17e759))throw new Error('Allowed\x20directories\x20must\x20be\x20absolute\x20paths\x20after\x20normalization');if(_0x39de0a===_0x17e759)return!![];if(_0x17e759===a4_0x549f58[_0x363905(0x12a)])return _0x39de0a[_0x363905(0x12c)](a4_0x549f58[_0x363905(0x12a)]);return _0x39de0a[_0x363905(0x12c)](_0x17e759+a4_0x549f58[_0x363905(0x12a)]);});}
|
package/dist/reflex-tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a5_0x3dfa15=a5_0x35eb;(function(_0x21e568,_0x3d7d92){const _0x178cc9=a5_0x35eb,_0x145e35=_0x21e568();while(!![]){try{const _0x207d91=-parseInt(_0x178cc9(0x15a))/0x1+-parseInt(_0x178cc9(0x16a))/0x2+parseInt(_0x178cc9(0x101))/0x3+-parseInt(_0x178cc9(0xe6))/0x4+-parseInt(_0x178cc9(0xe5))/0x5*(-parseInt(_0x178cc9(0x117))/0x6)+parseInt(_0x178cc9(0xcf))/0x7+-parseInt(_0x178cc9(0xc4))/0x8*(parseInt(_0x178cc9(0xe1))/0x9);if(_0x207d91===_0x3d7d92)break;else _0x145e35['push'](_0x145e35['shift']());}catch(_0x57f6d7){_0x145e35['push'](_0x145e35['shift']());}}}(a5_0x59ad,0xa143d));import{z}from'zod';import{MorphAPIClient}from'@morphllm/morphsdk';import{TracesClient}from'@morphllm/morphsdk/tools/traces';import{ReflexClient}from'@morphllm/morphsdk/tools/reflex';const OUTPUT_CHAR_BUDGET=0x9c40,SNIPPET_CHARS=0x190,TRACES_PAGE_SIZE=0x1f4,FILTER_SCAN_BOUND=0x1f4,TOP_CONVERSATIONS=0xa,TRACING_DOCS_URL='https://docs.morphllm.com/guides/reflex-tracing',DEFAULT_REFLEXES=[{'alias':a5_0x3dfa15(0x166),'classes':a5_0x3dfa15(0x138),'catches':'Prompt-injection\x20and\x20jailbreak\x20attempts'},{'alias':a5_0x3dfa15(0xfe),'classes':a5_0x3dfa15(0xf4),'catches':'Harassment\x20or\x20NSFW\x20content'},{'alias':'leaked-thinking','classes':a5_0x3dfa15(0xd1),'catches':a5_0x3dfa15(0x120)},{'alias':'stuck-in-a-loop','classes':'progressing\x20/\x20looping','catches':a5_0x3dfa15(0xcc)},{'alias':'incomplete-thought','classes':'complete\x20/\x20incomplete','catches':'User\x20sent\x20a\x20truncated\x20prompt'},{'alias':'user-frustrated','classes':a5_0x3dfa15(0xc3),'catches':'User\x20is\x20frustrated\x20with\x20the\x20agent'},{'alias':a5_0x3dfa15(0xc1),'classes':a5_0x3dfa15(0x148),'catches':a5_0x3dfa15(0x104)},{'alias':a5_0x3dfa15(0x13d),'classes':a5_0x3dfa15(0x168),'catches':a5_0x3dfa15(0x116)},{'alias':a5_0x3dfa15(0x12a),'classes':a5_0x3dfa15(0xdf),'catches':a5_0x3dfa15(0x16e)},{'alias':'domain','classes':a5_0x3dfa15(0x10a),'catches':a5_0x3dfa15(0xc9)},{'alias':a5_0x3dfa15(0x108),'classes':a5_0x3dfa15(0x152),'catches':a5_0x3dfa15(0xd6)}],POSITIVE_LABELS_BY_ALIAS={'jailbreak':[a5_0x3dfa15(0x166)],'guardrail':[a5_0x3dfa15(0x14f)],'user-frustrated':[a5_0x3dfa15(0x100)],'user-joy':[a5_0x3dfa15(0x10c)],'incomplete-thought':[a5_0x3dfa15(0xc5)],'difficulty':['hard','needs_info'],'ambiguity':[a5_0x3dfa15(0x124)],'leaked-thinking':[a5_0x3dfa15(0xe3)],'stuck-in-a-loop':[a5_0x3dfa15(0x123)],'health-emergency':[a5_0x3dfa15(0x111)]},CATEGORY_ALIASES=new Set(['domain']),BASELINE_LABELS=new Set(['benign',a5_0x3dfa15(0x160),a5_0x3dfa15(0xc8),a5_0x3dfa15(0x13c),a5_0x3dfa15(0x11d),'ok',a5_0x3dfa15(0xf8),a5_0x3dfa15(0x163),'no',a5_0x3dfa15(0xf7),'neutral',a5_0x3dfa15(0x13f),a5_0x3dfa15(0xe4),'easy',a5_0x3dfa15(0xd3),'allowed','pass',a5_0x3dfa15(0xec)]),NEGATION_PREFIX=/^(not|non|no)[ _-]/;function isFiringLabel(_0xa3362,_0x24e590){const _0x4d0ec6=a5_0x3dfa15;if(CATEGORY_ALIASES['has'](_0xa3362))return![];const _0x220841=_0x24e590[_0x4d0ec6(0x13b)]()[_0x4d0ec6(0xe9)](),_0x339647=POSITIVE_LABELS_BY_ALIAS[_0xa3362];if(_0x339647)return _0x339647[_0x4d0ec6(0x10e)](_0x220841);return!BASELINE_LABELS['has'](_0x220841)&&!NEGATION_PREFIX[_0x4d0ec6(0x128)](_0x220841);}function labelsOf(_0x563393){const _0x5b37c7=a5_0x3dfa15;if(_0x563393[_0x5b37c7(0x12c)][_0x5b37c7(0xf9)]>0x0)return _0x563393[_0x5b37c7(0x12c)];return _0x563393[_0x5b37c7(0x132)]?[_0x563393[_0x5b37c7(0x132)]]:[];}export const ListReflexesArgsSchema=z[a5_0x3dfa15(0xeb)]({});function a5_0x59ad(){const _0x5c482e=['toISOString','list','benign\x20/\x20jailbreak','label=','max_events','trim','none','ambiguity','Only\x20turns\x20where\x20a\x20Reflex\x20assigned\x20this\x20label,\x20e.g.\x20\x22frustrated\x22,\x20\x22looping\x22,\x20\x22jailbreak\x22.','complete','time','trimEnd','pendingResults',':\x20fired\x20','createdAt','slice','Look-back\x20window\x20in\x20hours\x20(default\x2024,\x20max\x20168).','\x20—\x20labels:\x20','joy\x20/\x20not_joy','startTime','Snippets\x20are\x20truncated;\x20page\x20with\x20limit/offset.','\x20traced\x20turns\x20across\x20','-\x20no\x20completed\x20Reflex\x20results\x20on\x20these\x20turns','jobs','(none)','true','\x20event=','classes','emergency\x20/\x20non-emergency','isNaN','toFixed','\x20still\x20in\x20progress)','completed','getTime','score','min','1113859MoRjBB','offset','get','running','\x20\x20reflexes:\x20','the\x20top\x20firing\x20conversations\x20to\x20drill\x20into\x20with\x20get_reflex_traces.\x20Use\x20this\x20before\x20','safe','add','hasMore','negative','\x20training\x20','reflexes','jailbreak','(jailbreak,\x20guardrail,\x20leaked-thinking,\x20stuck-in-a-loop,\x20user-frustrated,\x20...)\x20plus\x20any\x20','low\x20/\x20med\x20/\x20high','#\x20Traced\x20turns\x20(newest\x20first)','29492IqwUtU','-\x20none\x20yet\x20—\x20train\x20one:\x20https://docs.morphllm.com/sdk/components/reflexes/custom','outputText','succeeded','Prompt\x20difficulty,\x20for\x20model\x20routing','results\x20with\x20reflex_summary\x20or\x20get_reflex_traces.','default','startup\x20and\x20wrap\x20each\x20turn\x20in\x20begin()/finish()\x20—\x20','reflex_summary),\x20traced\x20model,\x20Reflex\x20name,\x20or\x20assigned\x20label\x20(e.g.\x20label:\x20\x22looping\x22).\x20','user-joy','h.\x0a','frustrated\x20/\x20not','88TiLaCg','incomplete','message','turnsWithResult','normal','Topic\x20of\x20a\x20request','convo_id=','convoId','Agent\x20blocked,\x20not\x20trying\x20new\x20things','models\x20or\x20providers\x20behave\x20in\x20production\x20(e.g.\x20a\x20canary\x20vs.\x20the\x20current\x20model)\x20—\x20plus\x20','eventId','4083996naHivn','number','clean\x20/\x20leaked','describe','progressing','sort','These\x20turns\x20have\x20no\x20Reflex\x20labels\x20yet.\x20Pass\x20evals:\x20{\x20user:\x20[...],\x20assistant:\x20[...]\x20}\x20to\x20','Patient-portal\x20message\x20needs\x20urgent\x20attention','begin()\x20so\x20every\x20turn\x20is\x20labeled\x20off\x20the\x20request\x20path\x20—\x20','firedTurns','(no\x20model)','\x20model=','labelCounts','join','List\x20the\x20Reflex\x20classifiers\x20available\x20on\x20this\x20Morph\x20account:\x20the\x2011\x20built-in\x20defaults\x20','-\x20(','easy\x20/\x20medium\x20/\x20hard','##\x20Top\x20firing\x20conversations','516753BleQli','reflexResults','leaked','low','5ttluYT','1956676oyPfzQ','max','\x20—\x20','toLowerCase','turns','object','healthy','Turns\x20to\x20return\x20(default\x2020,\x20max\x2050).','\x20\x20in:\x20\x20','model=','reflex=','optional','localeCompare','traces','true\x20/\x20false','Only\x20turns\x20classified\x20by\x20this\x20Reflex,\x20e.g.\x20\x22user-frustrated\x22.','Next:\x20reflex_summary\x20aggregates\x20recent\x20production\x20results;\x20get_reflex_traces\x20reads\x20individual\x20turns.','false','okay','length','labels','some','Only\x20turns\x20traced\x20from\x20this\x20LLM,\x20e.g.\x20\x22morph-glm52-744b\x22\x20or\x20your\x20previous\x20provider\x27s\x20model\x20name.','Scanned\x20','guardrail','data','frustrated','3279669flKyxY','size','string','User\x20is\x20delighted\x20with\x20the\x20agent','map','\x20had\x20a\x20firing\x20label.','model','health-emergency','filter','general\x20/\x20summary\x20/\x20coding\x20/\x20design\x20/\x20data','entries','joy','-\x20(could\x20not\x20list\x20custom\x20reflexes:\x20','includes','\x20model(s);\x20','reflex','emergency','status','convo_id','\x20traced\x20turns\x20(window\x20not\x20fully\x20covered\x20—\x20raise\x20max_events)\x20across\x20','limit','How\x20underspecified\x20a\x20prompt\x20is','7399506hzjvGW','Note:\x20direct\x20/v1/reflex/predict\x20calls\x20are\x20not\x20returned\x20here;\x20only\x20traced\x20turns\x20are.','push','Drill\x20in:\x20get_reflex_traces\x20with\x20{\x20convo_id\x20}\x20for\x20a\x20conversation,\x20or\x20{\x20model,\x20label\x20}\x20for\x20one\x20failure\x20mode.','[output\x20truncated\x20after\x20','\x20—\x20or\x20run\x20','clean','set','##\x20Custom\x20(trained\x20via\x20/v1/fine_tuning/jobs)','Agent\x20leaking\x20its\x20internal\x20thinking','\x20of\x20','hits','looping','high','fineTunedModel','Scanned\x20the\x20newest\x20','Loosen\x20the\x20filters,\x20or\x20run\x20reflex_summary\x20to\x20see\x20what\x20labels\x20exist.','test','Only\x20turns\x20from\x20this\x20conversation\x20(ids\x20appear\x20in\x20reflex_summary\x20output).','difficulty','\x20—\x20trained\x20','selected','Aggregate\x20recent\x20production\x20Reflex\x20results\x20from\x20traced\x20LLM\x20traffic\x20(morphTracing).\x20','replace','More\x20turns\x20available:\x20repeat\x20with\x20offset=','\x20results\x20still\x20pending)','\x20—\x20classes:\x20','label','(no\x20completed\x20results)','Reflexes\x20over\x20existing\x20traces\x20at\x20https://morphllm.com/dashboard/traces.','since_hours'];a5_0x59ad=function(){return _0x5c482e;};return a5_0x59ad();}export const ReflexSummaryArgsSchema=z[a5_0x3dfa15(0xeb)]({'since_hours':z[a5_0x3dfa15(0xd0)]()['int']()[a5_0x3dfa15(0x159)](0x1)['max'](0xa8)[a5_0x3dfa15(0x170)](0x18)[a5_0x3dfa15(0xd2)](a5_0x3dfa15(0x146)),'max_events':z[a5_0x3dfa15(0xd0)]()['int']()[a5_0x3dfa15(0x159)](0x1)[a5_0x3dfa15(0xe7)](0x7d0)[a5_0x3dfa15(0x170)](0x3e8)['describe']('Maximum\x20traced\x20turns\x20to\x20scan,\x20newest\x20first\x20(default\x201000).')});function a5_0x35eb(_0x369a4f,_0x2ddc7b){_0x369a4f=_0x369a4f-0xc0;const _0x59ad44=a5_0x59ad();let _0x35eb2d=_0x59ad44[_0x369a4f];return _0x35eb2d;}export const GetReflexTracesArgsSchema=z[a5_0x3dfa15(0xeb)]({'convo_id':z['string']()[a5_0x3dfa15(0xf1)]()['describe'](a5_0x3dfa15(0x129)),'model':z[a5_0x3dfa15(0x103)]()[a5_0x3dfa15(0xf1)]()[a5_0x3dfa15(0xd2)](a5_0x3dfa15(0xfc)),'reflex':z[a5_0x3dfa15(0x103)]()[a5_0x3dfa15(0xf1)]()[a5_0x3dfa15(0xd2)](a5_0x3dfa15(0xf5)),'label':z[a5_0x3dfa15(0x103)]()[a5_0x3dfa15(0xf1)]()[a5_0x3dfa15(0xd2)](a5_0x3dfa15(0x13e)),'limit':z['number']()['int']()['min'](0x1)['max'](0x32)['default'](0x14)['describe'](a5_0x3dfa15(0xed)),'offset':z[a5_0x3dfa15(0xd0)]()['int']()[a5_0x3dfa15(0x159)](0x0)['default'](0x0)[a5_0x3dfa15(0xd2)]('Skip\x20this\x20many\x20matching\x20turns\x20(pagination).')});export const LIST_REFLEXES_DESCRIPTION=a5_0x3dfa15(0xdd)+a5_0x3dfa15(0x167)+'custom\x20classifiers\x20trained\x20through\x20the\x20fine-tuning\x20API.\x20Reflexes\x20label\x20production\x20LLM\x20'+'traffic\x20per\x20turn.\x20Call\x20this\x20first\x20to\x20see\x20which\x20signals\x20exist,\x20then\x20pull\x20production\x20'+a5_0x3dfa15(0x16f);export const REFLEX_SUMMARY_DESCRIPTION=a5_0x3dfa15(0x12d)+'Returns\x20firing\x20rates\x20per\x20traced\x20model\x20per\x20Reflex\x20—\x20the\x20fastest\x20way\x20to\x20compare\x20how\x20two\x20'+a5_0x3dfa15(0xcd)+a5_0x3dfa15(0x15f)+'reading\x20individual\x20turns.';export const GET_REFLEX_TRACES_DESCRIPTION='Read\x20recent\x20traced\x20turns\x20from\x20production\x20with\x20their\x20Reflex\x20labels\x20and\x20input/output\x20'+'snippets,\x20newest\x20first.\x20Filter\x20by\x20convo_id\x20(drill\x20into\x20a\x20conversation\x20surfaced\x20by\x20'+a5_0x3dfa15(0xc0)+a5_0x3dfa15(0x14a);export function createReflexApi(_0x3d9ee6,_0x448977){const _0x155506=new MorphAPIClient({'apiKey':_0x3d9ee6,'baseURL':_0x448977});return{'traces':new TracesClient(_0x155506),'reflex':new ReflexClient(_0x155506)};}function parseTraceTime(_0x647b8b){const _0x3dfa79=a5_0x3dfa15;if(!_0x647b8b)return null;const _0x16f58a=_0x647b8b[_0x3dfa79(0x10e)]('T')?_0x647b8b:_0x647b8b[_0x3dfa79(0x12e)]('\x20','T'),_0x2bd5f3=new Date(/Z|[+-]\d\d:?\d\d$/[_0x3dfa79(0x128)](_0x16f58a)?_0x16f58a:_0x16f58a+'Z');return Number[_0x3dfa79(0x153)](_0x2bd5f3['getTime']())?null:_0x2bd5f3;}function truncate(_0x4091c1,_0x451b8d){const _0x2cb40c=a5_0x3dfa15,_0x1da1f8=_0x4091c1[_0x2cb40c(0x12e)](/\s+/g,'\x20')['trim']();return _0x1da1f8[_0x2cb40c(0xf9)]<=_0x451b8d?_0x1da1f8:_0x1da1f8[_0x2cb40c(0x145)](0x0,_0x451b8d)+'…';}function formatRate(_0xd044ec,_0x2c975e){const _0x23dc90=a5_0x3dfa15;if(_0x2c975e===0x0)return'—';return(_0xd044ec/_0x2c975e*0x64)[_0x23dc90(0x154)](0x1)+'%';}const NO_TRACES_MESSAGE='No\x20traced\x20turns\x20found.\x20Reflex\x20read-back\x20requires\x20tracing:\x20call\x20morphTracing()\x20once\x20at\x20'+(a5_0x3dfa15(0x171)+TRACING_DOCS_URL+'\x0a')+a5_0x3dfa15(0x118);export async function runListReflexes(_0xd3a885){const _0x5d2a03=a5_0x3dfa15,_0x5dcdc9=['#\x20Reflexes\x20on\x20this\x20account','','##\x20Built-in\x20(callable\x20by\x20every\x20account)'];for(const _0x247e11 of DEFAULT_REFLEXES){_0x5dcdc9[_0x5d2a03(0x119)]('-\x20'+_0x247e11['alias']+_0x5d2a03(0x131)+_0x247e11[_0x5d2a03(0x151)]+_0x5d2a03(0xe8)+_0x247e11['catches']);}_0x5dcdc9[_0x5d2a03(0x119)]('',_0x5d2a03(0x11f));try{const _0xccd47=await _0xd3a885[_0x5d2a03(0x110)][_0x5d2a03(0x14d)][_0x5d2a03(0x137)]({'limit':0x32}),_0x146ebc=_0xccd47[_0x5d2a03(0xff)][_0x5d2a03(0x109)](_0x374582=>_0x374582['status']===_0x5d2a03(0x16d)&&_0x374582[_0x5d2a03(0x125)]);_0x146ebc[_0x5d2a03(0xf9)]===0x0&&_0x5dcdc9[_0x5d2a03(0x119)](_0x5d2a03(0x16b));for(const _0x4c4ffd of _0x146ebc){const _0x395b44=new Date(_0x4c4ffd[_0x5d2a03(0x144)]*0x3e8)[_0x5d2a03(0x136)]()[_0x5d2a03(0x145)](0x0,0xa),_0x59e216=_0x4c4ffd[_0x5d2a03(0xfa)][_0x5d2a03(0xf9)]>0x0?_0x5d2a03(0x147)+_0x4c4ffd[_0x5d2a03(0xfa)]['join']('\x20/\x20'):'';_0x5dcdc9[_0x5d2a03(0x119)]('-\x20'+_0x4c4ffd['fineTunedModel']+_0x59e216+_0x5d2a03(0x12b)+_0x395b44);}const _0x5e2f21=_0xccd47['data'][_0x5d2a03(0x109)](_0x3b97fa=>_0x3b97fa[_0x5d2a03(0x112)]==='queued'||_0x3b97fa[_0x5d2a03(0x112)]===_0x5d2a03(0x15d)||_0x3b97fa[_0x5d2a03(0x112)]==='validating_files');_0x5e2f21[_0x5d2a03(0xf9)]>0x0&&_0x5dcdc9[_0x5d2a03(0x119)]('-\x20('+_0x5e2f21[_0x5d2a03(0xf9)]+_0x5d2a03(0x164)+(_0x5e2f21[_0x5d2a03(0xf9)]===0x1?'job':_0x5d2a03(0x14d))+_0x5d2a03(0x155));}catch(_0x5ea628){const _0x2ea55b=_0x5ea628 instanceof Error?_0x5ea628[_0x5d2a03(0xc6)]:String(_0x5ea628);_0x5dcdc9[_0x5d2a03(0x119)](_0x5d2a03(0x10d)+_0x2ea55b+')');}return _0x5dcdc9[_0x5d2a03(0x119)]('',_0x5d2a03(0xf6)),_0x5dcdc9[_0x5d2a03(0xdc)]('\x0a');}async function fetchTracesWindow(_0x407443,_0x4232cb,_0x3f0575){const _0x1771af=a5_0x3dfa15,_0x153095=Date['now']()-_0x4232cb*0x36ee80,_0xbfbbb5=[];let _0x4fb518=0x0;for(;;){const _0x38e25a=_0x3f0575-_0xbfbbb5[_0x1771af(0xf9)];if(_0x38e25a<=0x0)return{'events':_0xbfbbb5,'coveredWindow':![]};const _0x34d985=await _0x407443[_0x1771af(0xf3)][_0x1771af(0x137)]({'limit':Math[_0x1771af(0x159)](TRACES_PAGE_SIZE,_0x38e25a),'offset':_0x4fb518});for(const _0x4b7634 of _0x34d985[_0x1771af(0xff)]){const _0x461437=parseTraceTime(_0x4b7634[_0x1771af(0x149)]);if(_0x461437&&_0x461437[_0x1771af(0x157)]()<_0x153095)return{'events':_0xbfbbb5,'coveredWindow':!![]};_0xbfbbb5[_0x1771af(0x119)](_0x4b7634);}if(!_0x34d985[_0x1771af(0x162)]||_0x34d985[_0x1771af(0xff)][_0x1771af(0xf9)]===0x0)return{'events':_0xbfbbb5,'coveredWindow':!![]};_0x4fb518+=_0x34d985['data'][_0x1771af(0xf9)];}}export async function runReflexSummary(_0x41760d,_0xc83dce){const _0x3a27cf=a5_0x3dfa15,{events:_0xad8d9f,coveredWindow:_0x145911}=await fetchTracesWindow(_0x41760d,_0xc83dce[_0x3a27cf(0x135)],_0xc83dce[_0x3a27cf(0x13a)]);if(_0xad8d9f[_0x3a27cf(0xf9)]===0x0)return'No\x20traced\x20turns\x20in\x20the\x20last\x20'+_0xc83dce[_0x3a27cf(0x135)]+_0x3a27cf(0xc2)+NO_TRACES_MESSAGE;const _0x41149b=new Map(),_0x3cce27=new Map();let _0x168305=0x0,_0x5d8dcb=0x0;for(const _0x18338f of _0xad8d9f){const _0x52f73a=_0x18338f[_0x3a27cf(0x107)]||_0x3a27cf(0xd9);let _0x19f626=_0x41149b[_0x3a27cf(0x15c)](_0x52f73a);!_0x19f626&&(_0x19f626={'turns':0x0,'reflexes':new Map(),'pendingResults':0x0},_0x41149b['set'](_0x52f73a,_0x19f626));_0x19f626[_0x3a27cf(0xea)]+=0x1;const _0x252b0d=_0x18338f[_0x3a27cf(0xe2)][_0x3a27cf(0x109)](_0x4ada4d=>_0x4ada4d[_0x3a27cf(0x112)]===_0x3a27cf(0x156));_0x19f626[_0x3a27cf(0x142)]+=_0x18338f[_0x3a27cf(0xe2)]['filter'](_0x251f64=>_0x251f64[_0x3a27cf(0x112)]==='pending')[_0x3a27cf(0xf9)];if(_0x252b0d[_0x3a27cf(0xf9)]>0x0)_0x5d8dcb+=0x1;let _0x4c3df4=![];for(const _0x14531a of _0x252b0d){let _0x5a47a1=_0x19f626[_0x3a27cf(0x165)][_0x3a27cf(0x15c)](_0x14531a[_0x3a27cf(0x107)]);!_0x5a47a1&&(_0x5a47a1={'turnsWithResult':0x0,'firedTurns':0x0,'labelCounts':new Map()},_0x19f626[_0x3a27cf(0x165)]['set'](_0x14531a[_0x3a27cf(0x107)],_0x5a47a1));_0x5a47a1[_0x3a27cf(0xc7)]+=0x1;const _0x3b7077=labelsOf(_0x14531a);let _0x133494=![];for(const _0x2aaa59 of _0x3b7077['length']>0x0?_0x3b7077:[_0x3a27cf(0x14e)]){_0x5a47a1[_0x3a27cf(0xdb)]['set'](_0x2aaa59,(_0x5a47a1[_0x3a27cf(0xdb)][_0x3a27cf(0x15c)](_0x2aaa59)??0x0)+0x1);if(_0x2aaa59!==_0x3a27cf(0x14e)&&isFiringLabel(_0x14531a[_0x3a27cf(0x107)],_0x2aaa59)){_0x133494=!![];const _0x3e4ec3=_0x3cce27[_0x3a27cf(0x15c)](_0x18338f[_0x3a27cf(0xcb)])??{'time':_0x18338f['startTime'],'model':_0x52f73a,'hits':new Set()};_0x3e4ec3[_0x3a27cf(0x122)][_0x3a27cf(0x161)](_0x14531a[_0x3a27cf(0x107)]+':\x20'+_0x2aaa59),_0x3cce27[_0x3a27cf(0x11e)](_0x18338f['convoId'],_0x3e4ec3);}}_0x133494&&(_0x5a47a1[_0x3a27cf(0xd8)]+=0x1,_0x4c3df4=!![]);}if(_0x4c3df4)_0x168305+=0x1;}const _0x29567e=['#\x20Reflex\x20summary\x20—\x20last\x20'+_0xc83dce[_0x3a27cf(0x135)]+'h',_0x145911?_0x3a27cf(0xfd)+_0xad8d9f[_0x3a27cf(0xf9)]+_0x3a27cf(0x14b)+_0x41149b[_0x3a27cf(0x102)]+_0x3a27cf(0x10f)+_0x168305+_0x3a27cf(0x106):_0x3a27cf(0x126)+_0xad8d9f[_0x3a27cf(0xf9)]+_0x3a27cf(0x114)+_0x41149b['size']+_0x3a27cf(0x10f)+_0x168305+_0x3a27cf(0x106)];if(_0x5d8dcb===0x0)return _0x29567e[_0x3a27cf(0x119)]('',_0x3a27cf(0xd5)+(_0x3a27cf(0xd7)+TRACING_DOCS_URL+_0x3a27cf(0x11c))+_0x3a27cf(0x134)),_0x29567e[_0x3a27cf(0xdc)]('\x0a');const _0xf65572=[..._0x41149b[_0x3a27cf(0x10b)]()]['sort']((_0x4e17be,_0x1d9424)=>_0x1d9424[0x1]['turns']-_0x4e17be[0x1]['turns']);for(const [_0x453c13,_0x342258]of _0xf65572){_0x29567e['push']('','##\x20'+_0x453c13+_0x3a27cf(0xe8)+_0x342258[_0x3a27cf(0xea)]+'\x20turns');_0x342258['reflexes'][_0x3a27cf(0x102)]===0x0&&_0x29567e[_0x3a27cf(0x119)](_0x3a27cf(0x14c));const _0x130399=[..._0x342258[_0x3a27cf(0x165)][_0x3a27cf(0x10b)]()][_0x3a27cf(0xd4)]((_0x1da21c,_0x303c56)=>_0x303c56[0x1][_0x3a27cf(0xd8)]-_0x1da21c[0x1][_0x3a27cf(0xd8)]);for(const [_0x1774a6,_0x344b59]of _0x130399){const _0x296c74=[..._0x344b59['labelCounts']['entries']()][_0x3a27cf(0xd4)]((_0x4ea1bf,_0x232b87)=>_0x232b87[0x1]-_0x4ea1bf[0x1])[_0x3a27cf(0x105)](([_0xb99f4c,_0x28a099])=>_0xb99f4c+'\x20'+_0x28a099)[_0x3a27cf(0xdc)](',\x20');_0x29567e[_0x3a27cf(0x119)]('-\x20'+_0x1774a6+_0x3a27cf(0x143)+_0x344b59[_0x3a27cf(0xd8)]+'/'+_0x344b59['turnsWithResult']+'\x20'+('('+formatRate(_0x344b59[_0x3a27cf(0xd8)],_0x344b59[_0x3a27cf(0xc7)])+')\x20—\x20'+_0x296c74));}_0x342258[_0x3a27cf(0x142)]>0x0&&_0x29567e[_0x3a27cf(0x119)](_0x3a27cf(0xde)+_0x342258['pendingResults']+_0x3a27cf(0x130));}const _0x1684f1=[..._0x3cce27[_0x3a27cf(0x10b)]()][_0x3a27cf(0xd4)]((_0x1c7226,_0x3aa5a3)=>_0x3aa5a3[0x1][_0x3a27cf(0x122)][_0x3a27cf(0x102)]-_0x1c7226[0x1][_0x3a27cf(0x122)]['size']||_0x3aa5a3[0x1][_0x3a27cf(0x140)][_0x3a27cf(0xf2)](_0x1c7226[0x1][_0x3a27cf(0x140)]))[_0x3a27cf(0x145)](0x0,TOP_CONVERSATIONS);if(_0x1684f1['length']>0x0){_0x29567e[_0x3a27cf(0x119)]('',_0x3a27cf(0xe0));for(const [_0x1e64ed,_0x156959]of _0x1684f1){_0x29567e[_0x3a27cf(0x119)]('-\x20'+_0x1e64ed+_0x3a27cf(0xe8)+_0x156959[_0x3a27cf(0x140)]+_0x3a27cf(0xe8)+_0x156959[_0x3a27cf(0x107)]+_0x3a27cf(0xe8)+[..._0x156959[_0x3a27cf(0x122)]][_0x3a27cf(0xdc)](',\x20'));}_0x29567e[_0x3a27cf(0x119)]('',_0x3a27cf(0x11a));}return _0x29567e[_0x3a27cf(0xdc)]('\x0a');}function formatTraceEvent(_0x33ce3f){const _0x5cd6b6=a5_0x3dfa15,_0x3de378=_0x33ce3f[_0x5cd6b6(0xe2)][_0x5cd6b6(0x109)](_0x43a475=>_0x43a475['status']===_0x5cd6b6(0x156)),_0x71743e=_0x33ce3f['reflexResults'][_0x5cd6b6(0xf9)]-_0x3de378[_0x5cd6b6(0xf9)],_0x106e92=_0x3de378[_0x5cd6b6(0x105)](_0x7c6ab7=>{const _0x194991=_0x5cd6b6,_0x344371=labelsOf(_0x7c6ab7)[_0x194991(0xdc)](',\x20')||'(none)';return _0x7c6ab7[_0x194991(0x107)]+'='+_0x344371+'\x20('+_0x7c6ab7[_0x194991(0x158)][_0x194991(0x154)](0x2)+')';})[_0x5cd6b6(0xdc)](';\x20'),_0x578875=['['+_0x33ce3f[_0x5cd6b6(0x149)]+']\x20convo='+_0x33ce3f['convoId']+_0x5cd6b6(0x150)+_0x33ce3f[_0x5cd6b6(0xce)]+_0x5cd6b6(0xda)+(_0x33ce3f['model']||'(no\x20model)'),_0x5cd6b6(0x15e)+(_0x106e92||_0x5cd6b6(0x133))+(_0x71743e>0x0?'\x20—\x20'+_0x71743e+'\x20pending':'')];if(_0x33ce3f['inputText'])_0x578875[_0x5cd6b6(0x119)](_0x5cd6b6(0xee)+truncate(_0x33ce3f['inputText'],SNIPPET_CHARS));if(_0x33ce3f[_0x5cd6b6(0x16c)])_0x578875[_0x5cd6b6(0x119)]('\x20\x20out:\x20'+truncate(_0x33ce3f[_0x5cd6b6(0x16c)],SNIPPET_CHARS));return _0x578875['join']('\x0a');}export async function runGetReflexTraces(_0x489d30,_0xa4504a){const _0x31ee88=a5_0x3dfa15,_0x26b2cc=_0xa4504a['label']?.[_0x31ee88(0x13b)]()['toLowerCase'](),_0x335bce=Boolean(_0xa4504a[_0x31ee88(0x107)]||_0xa4504a[_0x31ee88(0x110)]||_0x26b2cc),_0x2db5bd=_0x20f14b=>{const _0x97a094=_0x31ee88;if(_0xa4504a[_0x97a094(0x107)]&&_0x20f14b[_0x97a094(0x107)]!==_0xa4504a[_0x97a094(0x107)])return![];if(_0xa4504a[_0x97a094(0x110)]&&!_0x20f14b[_0x97a094(0xe2)][_0x97a094(0xfb)](_0x4eef79=>_0x4eef79['model']===_0xa4504a['reflex']))return![];if(_0x26b2cc&&!_0x20f14b[_0x97a094(0xe2)][_0x97a094(0xfb)](_0x127d0e=>labelsOf(_0x127d0e)[_0x97a094(0xfb)](_0x147912=>_0x147912[_0x97a094(0xe9)]()===_0x26b2cc)))return![];return!![];};let _0x9f3ce=[],_0x441724=!![];if(!_0x335bce){const _0x32e3c0=await _0x489d30[_0x31ee88(0xf3)][_0x31ee88(0x137)]({'convoId':_0xa4504a[_0x31ee88(0x113)],'limit':_0xa4504a['limit'],'offset':_0xa4504a['offset']});_0x9f3ce=_0x32e3c0[_0x31ee88(0xff)],_0x441724=!_0x32e3c0[_0x31ee88(0x162)];}else{const _0x1e6c0d=_0xa4504a[_0x31ee88(0x15b)]+_0xa4504a[_0x31ee88(0x115)];let _0x54f8f0=0x0,_0x3d2d96=0x0,_0x283cb2=!![];while(_0x9f3ce[_0x31ee88(0xf9)]<_0x1e6c0d&&_0x283cb2&&_0x3d2d96<FILTER_SCAN_BOUND){const _0x3915fe=await _0x489d30[_0x31ee88(0xf3)]['list']({'convoId':_0xa4504a[_0x31ee88(0x113)],'limit':0x64,'offset':_0x54f8f0});for(const _0x2f646b of _0x3915fe[_0x31ee88(0xff)]){_0x3d2d96+=0x1;if(_0x2db5bd(_0x2f646b))_0x9f3ce['push'](_0x2f646b);}_0x283cb2=_0x3915fe[_0x31ee88(0x162)]&&_0x3915fe[_0x31ee88(0xff)][_0x31ee88(0xf9)]>0x0,_0x54f8f0+=_0x3915fe[_0x31ee88(0xff)][_0x31ee88(0xf9)];}_0x441724=!_0x283cb2,_0x9f3ce=_0x9f3ce[_0x31ee88(0x145)](_0xa4504a['offset'],_0xa4504a[_0x31ee88(0x15b)]+_0xa4504a['limit']);}const _0x244232=[_0xa4504a[_0x31ee88(0x113)]&&_0x31ee88(0xca)+_0xa4504a[_0x31ee88(0x113)],_0xa4504a[_0x31ee88(0x107)]&&_0x31ee88(0xef)+_0xa4504a[_0x31ee88(0x107)],_0xa4504a[_0x31ee88(0x110)]&&_0x31ee88(0xf0)+_0xa4504a[_0x31ee88(0x110)],_0xa4504a[_0x31ee88(0x132)]&&_0x31ee88(0x139)+_0xa4504a['label']]['filter'](Boolean)['join'](',\x20');if(_0x9f3ce[_0x31ee88(0xf9)]===0x0){if(_0x244232)return'No\x20traced\x20turns\x20match\x20'+_0x244232+(_0x441724?'':'\x20in\x20the\x20newest\x20'+FILTER_SCAN_BOUND+'\x20turns')+'.\x20'+_0x31ee88(0x127);return NO_TRACES_MESSAGE;}const _0x299c75=[_0x31ee88(0x169)+(_0x244232?_0x31ee88(0xe8)+_0x244232:''),''];let _0x2fbbb3=_0x299c75[_0x31ee88(0xdc)]('\x0a')['length'],_0x6e686a=0x0;for(const _0x269b24 of _0x9f3ce){const _0x173e6f=formatTraceEvent(_0x269b24);if(_0x2fbbb3+_0x173e6f[_0x31ee88(0xf9)]>OUTPUT_CHAR_BUDGET){_0x299c75['push'](_0x31ee88(0x11b)+_0x6e686a+_0x31ee88(0x121)+_0x9f3ce[_0x31ee88(0xf9)]+'\x20turns\x20—\x20narrow\x20with\x20convo_id/model/label\x20or\x20lower\x20limit]');break;}_0x299c75['push'](_0x173e6f,''),_0x2fbbb3+=_0x173e6f[_0x31ee88(0xf9)]+0x2,_0x6e686a+=0x1;}return _0x6e686a===_0x9f3ce[_0x31ee88(0xf9)]&&!_0x441724&&_0x299c75['push'](_0x31ee88(0x12f)+(_0xa4504a[_0x31ee88(0x15b)]+_0x9f3ce[_0x31ee88(0xf9)])+'.'),_0x299c75['join']('\x0a')[_0x31ee88(0x141)]();}
|
|
1
|
+
const a5_0x2d65c7=a5_0x486c;(function(_0x17b3f1,_0x339d47){const _0x35fb38=a5_0x486c,_0x21671d=_0x17b3f1();while(!![]){try{const _0x4777f5=parseInt(_0x35fb38(0x15b))/0x1+-parseInt(_0x35fb38(0x118))/0x2*(parseInt(_0x35fb38(0x181))/0x3)+-parseInt(_0x35fb38(0x197))/0x4*(-parseInt(_0x35fb38(0x10d))/0x5)+-parseInt(_0x35fb38(0x19a))/0x6*(-parseInt(_0x35fb38(0x10a))/0x7)+-parseInt(_0x35fb38(0x123))/0x8+parseInt(_0x35fb38(0x111))/0x9*(parseInt(_0x35fb38(0x183))/0xa)+-parseInt(_0x35fb38(0xeb))/0xb*(parseInt(_0x35fb38(0x199))/0xc);if(_0x4777f5===_0x339d47)break;else _0x21671d['push'](_0x21671d['shift']());}catch(_0x4fe0b0){_0x21671d['push'](_0x21671d['shift']());}}}(a5_0x362c,0xe0814));import{z}from'zod';import{MorphAPIClient}from'@morphllm/morphsdk';import{TracesClient}from'@morphllm/morphsdk/tools/traces';import{ReflexClient}from'@morphllm/morphsdk/tools/reflex';const OUTPUT_CHAR_BUDGET=0x9c40,SNIPPET_CHARS=0x190,TRACES_PAGE_SIZE=0x1f4,FILTER_SCAN_BOUND=0x1f4,TOP_CONVERSATIONS=0xa,TRACING_DOCS_URL=a5_0x2d65c7(0x17a),DEFAULT_REFLEXES=[{'alias':a5_0x2d65c7(0x166),'classes':a5_0x2d65c7(0x142),'catches':'Prompt-injection\x20and\x20jailbreak\x20attempts'},{'alias':a5_0x2d65c7(0xe7),'classes':a5_0x2d65c7(0xe6),'catches':a5_0x2d65c7(0x14b)},{'alias':a5_0x2d65c7(0x129),'classes':a5_0x2d65c7(0x193),'catches':a5_0x2d65c7(0x119)},{'alias':a5_0x2d65c7(0x135),'classes':a5_0x2d65c7(0x116),'catches':a5_0x2d65c7(0x138)},{'alias':a5_0x2d65c7(0x108),'classes':'complete\x20/\x20incomplete','catches':a5_0x2d65c7(0x12c)},{'alias':a5_0x2d65c7(0x15a),'classes':a5_0x2d65c7(0x107),'catches':'User\x20is\x20frustrated\x20with\x20the\x20agent'},{'alias':'user-joy','classes':a5_0x2d65c7(0x17b),'catches':a5_0x2d65c7(0xea)},{'alias':a5_0x2d65c7(0x11e),'classes':a5_0x2d65c7(0x16f),'catches':'How\x20underspecified\x20a\x20prompt\x20is'},{'alias':a5_0x2d65c7(0x105),'classes':a5_0x2d65c7(0x164),'catches':a5_0x2d65c7(0x17e)},{'alias':a5_0x2d65c7(0x196),'classes':a5_0x2d65c7(0x16b),'catches':a5_0x2d65c7(0x190)},{'alias':'health-emergency','classes':a5_0x2d65c7(0x1a0),'catches':a5_0x2d65c7(0x128)}],POSITIVE_LABELS_BY_ALIAS={'jailbreak':[a5_0x2d65c7(0x166)],'guardrail':[a5_0x2d65c7(0x131)],'user-frustrated':[a5_0x2d65c7(0x112)],'user-joy':[a5_0x2d65c7(0x1a2)],'incomplete-thought':[a5_0x2d65c7(0x17d)],'difficulty':[a5_0x2d65c7(0x125),'needs_info'],'ambiguity':[a5_0x2d65c7(0x19e)],'leaked-thinking':[a5_0x2d65c7(0x12b)],'stuck-in-a-loop':[a5_0x2d65c7(0xf3)],'health-emergency':[a5_0x2d65c7(0x12d)]},CATEGORY_ALIASES=new Set([a5_0x2d65c7(0x196)]),BASELINE_LABELS=new Set(['benign',a5_0x2d65c7(0xdf),a5_0x2d65c7(0x100),a5_0x2d65c7(0x149),a5_0x2d65c7(0x192),'ok',a5_0x2d65c7(0x103),a5_0x2d65c7(0x14a),'no',a5_0x2d65c7(0x179),a5_0x2d65c7(0x15e),a5_0x2d65c7(0x13e),'low','easy','progressing',a5_0x2d65c7(0x14f),a5_0x2d65c7(0x1a1),a5_0x2d65c7(0xf6)]),NEGATION_PREFIX=/^(not|non|no)[ _-]/;function isFiringLabel(_0xdaab9,_0x117919){const _0xa98ddb=a5_0x2d65c7;if(CATEGORY_ALIASES[_0xa98ddb(0xf4)](_0xdaab9))return![];const _0x496722=_0x117919['trim']()[_0xa98ddb(0x194)](),_0x3c2651=POSITIVE_LABELS_BY_ALIAS[_0xdaab9];if(_0x3c2651)return _0x3c2651[_0xa98ddb(0x178)](_0x496722);return!BASELINE_LABELS[_0xa98ddb(0xf4)](_0x496722)&&!NEGATION_PREFIX[_0xa98ddb(0x104)](_0x496722);}function labelsOf(_0x1ce626){const _0xc1a4cc=a5_0x2d65c7;if(_0x1ce626[_0xc1a4cc(0xe4)]['length']>0x0)return _0x1ce626[_0xc1a4cc(0xe4)];return _0x1ce626[_0xc1a4cc(0x173)]?[_0x1ce626[_0xc1a4cc(0x173)]]:[];}export const ListReflexesArgsSchema=z[a5_0x2d65c7(0xf7)]({});export const ReflexSummaryArgsSchema=z[a5_0x2d65c7(0xf7)]({'since_hours':z[a5_0x2d65c7(0x18b)]()[a5_0x2d65c7(0x15d)]()[a5_0x2d65c7(0x177)](0x1)[a5_0x2d65c7(0xe9)](0xa8)[a5_0x2d65c7(0x122)](0x18)[a5_0x2d65c7(0xfd)](a5_0x2d65c7(0x13b)),'max_events':z[a5_0x2d65c7(0x18b)]()['int']()['min'](0x1)[a5_0x2d65c7(0xe9)](0x7d0)[a5_0x2d65c7(0x122)](0x3e8)['describe'](a5_0x2d65c7(0x159))});function a5_0x486c(_0x55039f,_0x1f2d68){_0x55039f=_0x55039f-0xd8;const _0x362c18=a5_0x362c();let _0x486cb6=_0x362c18[_0x55039f];return _0x486cb6;}export const GetReflexTracesArgsSchema=z[a5_0x2d65c7(0xf7)]({'convo_id':z[a5_0x2d65c7(0x154)]()[a5_0x2d65c7(0x144)]()[a5_0x2d65c7(0xfd)](a5_0x2d65c7(0x143)),'model':z['string']()[a5_0x2d65c7(0x144)]()['describe'](a5_0x2d65c7(0xee)),'reflex':z[a5_0x2d65c7(0x154)]()[a5_0x2d65c7(0x144)]()['describe']('Only\x20turns\x20classified\x20by\x20this\x20Reflex,\x20e.g.\x20\x22user-frustrated\x22.'),'label':z[a5_0x2d65c7(0x154)]()[a5_0x2d65c7(0x144)]()[a5_0x2d65c7(0xfd)](a5_0x2d65c7(0x150)),'limit':z[a5_0x2d65c7(0x18b)]()['int']()[a5_0x2d65c7(0x177)](0x1)[a5_0x2d65c7(0xe9)](0x32)[a5_0x2d65c7(0x122)](0x14)[a5_0x2d65c7(0xfd)]('Turns\x20to\x20return\x20(default\x2020,\x20max\x2050).'),'offset':z[a5_0x2d65c7(0x18b)]()[a5_0x2d65c7(0x15d)]()['min'](0x0)[a5_0x2d65c7(0x122)](0x0)[a5_0x2d65c7(0xfd)](a5_0x2d65c7(0x12e))});export const LIST_REFLEXES_DESCRIPTION=a5_0x2d65c7(0x12f)+a5_0x2d65c7(0x121)+a5_0x2d65c7(0x16a)+a5_0x2d65c7(0x126)+'results\x20with\x20reflex_summary\x20or\x20get_reflex_traces.';export const REFLEX_SUMMARY_DESCRIPTION=a5_0x2d65c7(0x1a3)+'Returns\x20firing\x20rates\x20per\x20traced\x20model\x20per\x20Reflex\x20—\x20the\x20fastest\x20way\x20to\x20compare\x20how\x20two\x20'+a5_0x2d65c7(0x13d)+a5_0x2d65c7(0xdb)+a5_0x2d65c7(0x136);function a5_0x362c(){const _0x3a37d9=['\x20had\x20a\x20firing\x20label.','offset','##\x20','benign\x20/\x20jailbreak','Only\x20turns\x20from\x20this\x20conversation\x20(ids\x20appear\x20in\x20reflex_summary\x20output).','optional','convoId','\x20—\x20','entries','h.\x0a','none','negative','Harassment\x20or\x20NSFW\x20content','More\x20turns\x20available:\x20repeat\x20with\x20offset=','\x20pending','get','allowed','Only\x20turns\x20where\x20a\x20Reflex\x20assigned\x20this\x20label,\x20e.g.\x20\x22frustrated\x22,\x20\x22looping\x22,\x20\x22jailbreak\x22.','\x20traced\x20turns\x20(window\x20not\x20fully\x20covered\x20—\x20raise\x20max_events)\x20across\x20','##\x20Built-in\x20(callable\x20by\x20every\x20account)','message','string','#\x20Traced\x20turns\x20(newest\x20first)','some','Note:\x20direct\x20/v1/reflex/predict\x20calls\x20are\x20not\x20returned\x20here;\x20only\x20traced\x20turns\x20are.','trim','Maximum\x20traced\x20turns\x20to\x20scan,\x20newest\x20first\x20(default\x201000).','user-frustrated','42588ZQCjWr','These\x20turns\x20have\x20no\x20Reflex\x20labels\x20yet.\x20Pass\x20evals:\x20{\x20user:\x20[...],\x20assistant:\x20[...]\x20}\x20to\x20','int','neutral','convo_id=','h,\x20but\x20older\x20traces\x20exist\x20','reflexes','isNaN','status','easy\x20/\x20medium\x20/\x20hard','localeCompare','jailbreak','[output\x20truncated\x20after\x20','\x20turns','model','custom\x20classifiers\x20trained\x20through\x20the\x20fine-tuning\x20API.\x20Reflexes\x20label\x20production\x20LLM\x20','general\x20/\x20summary\x20/\x20coding\x20/\x20design\x20/\x20data','-\x20(','\x20results\x20still\x20pending)','time','low\x20/\x20med\x20/\x20high','\x20event=','Read\x20recent\x20traced\x20turns\x20from\x20production\x20with\x20their\x20Reflex\x20labels\x20and\x20input/output\x20','begin()\x20so\x20every\x20turn\x20is\x20labeled\x20off\x20the\x20request\x20path\x20—\x20','label','\x20still\x20in\x20progress)',']\x20convo=','labelCounts','min','includes','false','https://docs.morphllm.com/guides/reflex-tracing','joy\x20/\x20not_joy','labels','incomplete','Prompt\x20difficulty,\x20for\x20model\x20routing','##\x20Top\x20firing\x20conversations','hasMore','3FmZTDP','startTime','190mPNZQx',':\x20fired\x20','catches','createdAt','Next:\x20reflex_summary\x20aggregates\x20recent\x20production\x20results;\x20get_reflex_traces\x20reads\x20individual\x20turns.','(none)','startup\x20and\x20wrap\x20each\x20turn\x20in\x20begin()/finish()\x20—\x20','No\x20traced\x20turns\x20in\x20the\x20last\x20','number','max_events','set','now','size','Topic\x20of\x20a\x20request','inputText','clean','clean\x20/\x20leaked','toLowerCase','firedTurns','domain','2086412VQnrpj','length','14147688FJtAsN','18864tFQKjF','Loosen\x20the\x20filters,\x20or\x20run\x20reflex_summary\x20to\x20see\x20what\x20labels\x20exist.','add','since_hours','high','getTime','emergency\x20/\x20non-emergency','pass','joy','Aggregate\x20recent\x20production\x20Reflex\x20results\x20from\x20traced\x20LLM\x20traffic\x20(morphTracing).\x20','classes','push','job','the\x20top\x20firing\x20conversations\x20to\x20drill\x20into\x20with\x20get_reflex_traces.\x20Use\x20this\x20before\x20','\x20—\x20trained\x20','turns','trimEnd','safe','eventId','\x20—\x20or\x20run\x20','No\x20traced\x20turns\x20match\x20','jobs','selected','Drill\x20in:\x20get_reflex_traces\x20with\x20{\x20convo_id\x20}\x20for\x20a\x20conversation,\x20or\x20{\x20model,\x20label\x20}\x20for\x20one\x20failure\x20mode.','true\x20/\x20false','guardrail','convo_id','max','User\x20is\x20delighted\x20with\x20the\x20agent','11ybruOR','\x20—\x20classes:\x20','#\x20Reflex\x20summary\x20—\x20last\x20','Only\x20turns\x20traced\x20from\x20this\x20LLM,\x20e.g.\x20\x22morph-glm52-744b\x22\x20or\x20your\x20previous\x20provider\x27s\x20model\x20name.','validating_files','Snippets\x20are\x20truncated;\x20page\x20with\x20limit/offset.','#\x20Reflexes\x20on\x20this\x20account','sort','looping','has','\x20\x20in:\x20\x20','healthy','object','reflex_summary),\x20traced\x20model,\x20Reflex\x20name,\x20or\x20assigned\x20label\x20(e.g.\x20label:\x20\x22looping\x22).\x20','toFixed','\x20\x20out:\x20','Reflexes\x20over\x20existing\x20traces\x20at\x20https://morphllm.com/dashboard/traces.','##\x20Custom\x20(trained\x20via\x20/v1/fine_tuning/jobs)','describe','reflex','(no\x20completed\x20results)','normal','model=','\x20turns\x20—\x20narrow\x20with\x20convo_id/model/label\x20or\x20lower\x20limit]','okay','test','difficulty','limit','frustrated\x20/\x20not','incomplete-thought','score','3962uwqVhD','fineTunedModel','list','5uDbcjn','hits','succeeded','reflexResults','782991fSOZxA','frustrated','slice','filter','\x20model(s);\x20','progressing\x20/\x20looping','\x20model=','3603454FipSIz','Agent\x20leaking\x20its\x20internal\x20thinking','map','pendingResults','traces','data','ambiguity','-\x20none\x20yet\x20—\x20train\x20one:\x20https://docs.morphllm.com/sdk/components/reflexes/custom','No\x20traced\x20turns\x20found.\x20Reflex\x20read-back\x20requires\x20tracing:\x20call\x20morphTracing()\x20once\x20at\x20','(jailbreak,\x20guardrail,\x20leaked-thinking,\x20stuck-in-a-loop,\x20user-frustrated,\x20...)\x20plus\x20any\x20','default','771224dDMErL','join','hard','traffic\x20per\x20turn.\x20Call\x20this\x20first\x20to\x20see\x20which\x20signals\x20exist,\x20then\x20pull\x20production\x20','\x20—\x20labels:\x20','Patient-portal\x20message\x20needs\x20urgent\x20attention','leaked-thinking','(no\x20model)','leaked','User\x20sent\x20a\x20truncated\x20prompt','emergency','Skip\x20this\x20many\x20matching\x20turns\x20(pagination).','List\x20the\x20Reflex\x20classifiers\x20available\x20on\x20this\x20Morph\x20account:\x20the\x2011\x20built-in\x20defaults\x20','\x20of\x20','true','Scanned\x20the\x20newest\x20','reflex=','turnsWithResult','stuck-in-a-loop','reading\x20individual\x20turns.','outputText','Agent\x20blocked,\x20not\x20trying\x20new\x20things','queued','\x20in\x20the\x20newest\x20','Look-back\x20window\x20in\x20hours\x20(default\x2024,\x20max\x20168).','toISOString','models\x20or\x20providers\x20behave\x20in\x20production\x20(e.g.\x20a\x20canary\x20vs.\x20the\x20current\x20model)\x20—\x20plus\x20','complete'];a5_0x362c=function(){return _0x3a37d9;};return a5_0x362c();}export const GET_REFLEX_TRACES_DESCRIPTION=a5_0x2d65c7(0x171)+'snippets,\x20newest\x20first.\x20Filter\x20by\x20convo_id\x20(drill\x20into\x20a\x20conversation\x20surfaced\x20by\x20'+a5_0x2d65c7(0xf8)+a5_0x2d65c7(0xf0);export function createReflexApi(_0x51ad05,_0x2e4180){const _0x12a176=new MorphAPIClient({'apiKey':_0x51ad05,'baseURL':_0x2e4180});return{'traces':new TracesClient(_0x12a176),'reflex':new ReflexClient(_0x12a176)};}function parseTraceTime(_0x47a134){const _0x2eb6a5=a5_0x2d65c7;if(!_0x47a134)return null;const _0x38bd10=_0x47a134[_0x2eb6a5(0x178)]('T')?_0x47a134:_0x47a134['replace']('\x20','T'),_0x15a4a9=new Date(/Z|[+-]\d\d:?\d\d$/[_0x2eb6a5(0x104)](_0x38bd10)?_0x38bd10:_0x38bd10+'Z');return Number[_0x2eb6a5(0x162)](_0x15a4a9[_0x2eb6a5(0x19f)]())?null:_0x15a4a9;}function truncate(_0x177386,_0x1762cb){const _0x3e03aa=a5_0x2d65c7,_0x45973f=_0x177386['replace'](/\s+/g,'\x20')[_0x3e03aa(0x158)]();return _0x45973f[_0x3e03aa(0x198)]<=_0x1762cb?_0x45973f:_0x45973f[_0x3e03aa(0x113)](0x0,_0x1762cb)+'…';}function formatRate(_0x4b8e4f,_0x9743bc){const _0x40c446=a5_0x2d65c7;if(_0x9743bc===0x0)return'—';return(_0x4b8e4f/_0x9743bc*0x64)[_0x40c446(0xf9)](0x1)+'%';}const NO_TRACES_MESSAGE=a5_0x2d65c7(0x120)+(a5_0x2d65c7(0x189)+TRACING_DOCS_URL+'\x0a')+a5_0x2d65c7(0x157);export async function runListReflexes(_0x3d1911){const _0x514ffc=a5_0x2d65c7,_0x2d2d09=[_0x514ffc(0xf1),'',_0x514ffc(0x152)];for(const _0x13c876 of DEFAULT_REFLEXES){_0x2d2d09['push']('-\x20'+_0x13c876['alias']+_0x514ffc(0xec)+_0x13c876[_0x514ffc(0xd8)]+_0x514ffc(0x146)+_0x13c876[_0x514ffc(0x185)]);}_0x2d2d09['push']('',_0x514ffc(0xfc));try{const _0x1d133a=await _0x3d1911[_0x514ffc(0xfe)][_0x514ffc(0xe3)][_0x514ffc(0x10c)]({'limit':0x32}),_0xf49e4a=_0x1d133a[_0x514ffc(0x11d)][_0x514ffc(0x114)](_0xb871c8=>_0xb871c8[_0x514ffc(0x163)]===_0x514ffc(0x10f)&&_0xb871c8[_0x514ffc(0x10b)]);_0xf49e4a[_0x514ffc(0x198)]===0x0&&_0x2d2d09[_0x514ffc(0xd9)](_0x514ffc(0x11f));for(const _0x5ebbd1 of _0xf49e4a){const _0x4b655c=new Date(_0x5ebbd1[_0x514ffc(0x186)]*0x3e8)[_0x514ffc(0x13c)]()[_0x514ffc(0x113)](0x0,0xa),_0x368c14=_0x5ebbd1[_0x514ffc(0x17c)]['length']>0x0?_0x514ffc(0x127)+_0x5ebbd1['labels'][_0x514ffc(0x124)]('\x20/\x20'):'';_0x2d2d09['push']('-\x20'+_0x5ebbd1[_0x514ffc(0x10b)]+_0x368c14+_0x514ffc(0xdc)+_0x4b655c);}const _0x12c35f=_0x1d133a[_0x514ffc(0x11d)][_0x514ffc(0x114)](_0x1c95dc=>_0x1c95dc[_0x514ffc(0x163)]===_0x514ffc(0x139)||_0x1c95dc[_0x514ffc(0x163)]==='running'||_0x1c95dc['status']===_0x514ffc(0xef));_0x12c35f[_0x514ffc(0x198)]>0x0&&_0x2d2d09[_0x514ffc(0xd9)](_0x514ffc(0x16c)+_0x12c35f[_0x514ffc(0x198)]+'\x20training\x20'+(_0x12c35f[_0x514ffc(0x198)]===0x1?_0x514ffc(0xda):_0x514ffc(0xe3))+_0x514ffc(0x174));}catch(_0x4645c6){const _0x12e31b=_0x4645c6 instanceof Error?_0x4645c6[_0x514ffc(0x153)]:String(_0x4645c6);_0x2d2d09['push']('-\x20(could\x20not\x20list\x20custom\x20reflexes:\x20'+_0x12e31b+')');}return _0x2d2d09[_0x514ffc(0xd9)]('',_0x514ffc(0x187)),_0x2d2d09[_0x514ffc(0x124)]('\x0a');}async function fetchTracesWindow(_0x73f7e6,_0x3031aa,_0x38c53a){const _0x1900c9=a5_0x2d65c7,_0x37c4ff=Date[_0x1900c9(0x18e)]()-_0x3031aa*0x36ee80,_0x382621=[];let _0x3b35ce=0x0;for(;;){const _0x2f5a53=_0x38c53a-_0x382621['length'];if(_0x2f5a53<=0x0)return{'events':_0x382621,'coveredWindow':![]};const _0x4b153a=await _0x73f7e6['traces'][_0x1900c9(0x10c)]({'limit':Math[_0x1900c9(0x177)](TRACES_PAGE_SIZE,_0x2f5a53),'offset':_0x3b35ce});for(const _0x1f7571 of _0x4b153a[_0x1900c9(0x11d)]){const _0x5791d0=parseTraceTime(_0x1f7571[_0x1900c9(0x182)]);if(_0x5791d0&&_0x5791d0[_0x1900c9(0x19f)]()<_0x37c4ff)return{'events':_0x382621,'coveredWindow':!![]};_0x382621[_0x1900c9(0xd9)](_0x1f7571);}if(!_0x4b153a[_0x1900c9(0x180)]||_0x4b153a[_0x1900c9(0x11d)][_0x1900c9(0x198)]===0x0)return{'events':_0x382621,'coveredWindow':!![]};_0x3b35ce+=_0x4b153a[_0x1900c9(0x11d)]['length'];}}export async function runReflexSummary(_0x1f52f2,_0x2757d8){const _0x8b9d95=a5_0x2d65c7,{events:_0x1e49d6,coveredWindow:_0x5f1694}=await fetchTracesWindow(_0x1f52f2,_0x2757d8[_0x8b9d95(0x19d)],_0x2757d8[_0x8b9d95(0x18c)]);if(_0x1e49d6[_0x8b9d95(0x198)]===0x0){const _0x519b8a=await _0x1f52f2[_0x8b9d95(0x11c)][_0x8b9d95(0x10c)]({'limit':0x1});if(_0x519b8a['data'][_0x8b9d95(0x198)]>0x0)return _0x8b9d95(0x18a)+_0x2757d8['since_hours']+_0x8b9d95(0x160)+('(newest:\x20'+_0x519b8a[_0x8b9d95(0x11d)][0x0][_0x8b9d95(0x182)]+').\x20Retry\x20with\x20a\x20larger\x20since_hours\x20(max\x20168).');return _0x8b9d95(0x18a)+_0x2757d8['since_hours']+_0x8b9d95(0x148)+NO_TRACES_MESSAGE;}const _0x5b50ec=new Map(),_0x1742ba=new Map();let _0x52242f=0x0,_0x331821=0x0;for(const _0x313e7a of _0x1e49d6){const _0x586f85=_0x313e7a['model']||'(no\x20model)';let _0x368d69=_0x5b50ec[_0x8b9d95(0x14e)](_0x586f85);!_0x368d69&&(_0x368d69={'turns':0x0,'reflexes':new Map(),'pendingResults':0x0},_0x5b50ec[_0x8b9d95(0x18d)](_0x586f85,_0x368d69));_0x368d69['turns']+=0x1;const _0x22be4e=_0x313e7a[_0x8b9d95(0x110)][_0x8b9d95(0x114)](_0x14c512=>_0x14c512[_0x8b9d95(0x163)]==='completed');_0x368d69[_0x8b9d95(0x11b)]+=_0x313e7a[_0x8b9d95(0x110)]['filter'](_0x5c03f3=>_0x5c03f3['status']==='pending')[_0x8b9d95(0x198)];if(_0x22be4e[_0x8b9d95(0x198)]>0x0)_0x331821+=0x1;let _0x40499b=![];for(const _0x459869 of _0x22be4e){let _0x2b09c6=_0x368d69[_0x8b9d95(0x161)]['get'](_0x459869[_0x8b9d95(0x169)]);!_0x2b09c6&&(_0x2b09c6={'turnsWithResult':0x0,'firedTurns':0x0,'labelCounts':new Map()},_0x368d69[_0x8b9d95(0x161)][_0x8b9d95(0x18d)](_0x459869[_0x8b9d95(0x169)],_0x2b09c6));_0x2b09c6[_0x8b9d95(0x134)]+=0x1;const _0x47c64d=labelsOf(_0x459869);let _0x2d52d1=![];for(const _0x5e025c of _0x47c64d[_0x8b9d95(0x198)]>0x0?_0x47c64d:[_0x8b9d95(0x188)]){_0x2b09c6[_0x8b9d95(0x176)]['set'](_0x5e025c,(_0x2b09c6[_0x8b9d95(0x176)]['get'](_0x5e025c)??0x0)+0x1);if(_0x5e025c!==_0x8b9d95(0x188)&&isFiringLabel(_0x459869['model'],_0x5e025c)){_0x2d52d1=!![];const _0xc4fd70=_0x1742ba[_0x8b9d95(0x14e)](_0x313e7a[_0x8b9d95(0x145)])??{'time':_0x313e7a[_0x8b9d95(0x182)],'model':_0x586f85,'hits':new Set()};_0xc4fd70[_0x8b9d95(0x10e)][_0x8b9d95(0x19c)](_0x459869['model']+':\x20'+_0x5e025c),_0x1742ba['set'](_0x313e7a[_0x8b9d95(0x145)],_0xc4fd70);}}_0x2d52d1&&(_0x2b09c6[_0x8b9d95(0x195)]+=0x1,_0x40499b=!![]);}if(_0x40499b)_0x52242f+=0x1;}const _0xd177df=[_0x8b9d95(0xed)+_0x2757d8[_0x8b9d95(0x19d)]+'h',_0x5f1694?'Scanned\x20'+_0x1e49d6[_0x8b9d95(0x198)]+'\x20traced\x20turns\x20across\x20'+_0x5b50ec[_0x8b9d95(0x18f)]+_0x8b9d95(0x115)+_0x52242f+_0x8b9d95(0x13f):_0x8b9d95(0x132)+_0x1e49d6[_0x8b9d95(0x198)]+_0x8b9d95(0x151)+_0x5b50ec[_0x8b9d95(0x18f)]+_0x8b9d95(0x115)+_0x52242f+_0x8b9d95(0x13f)];if(_0x331821===0x0)return _0xd177df['push']('',_0x8b9d95(0x15c)+(_0x8b9d95(0x172)+TRACING_DOCS_URL+_0x8b9d95(0xe1))+_0x8b9d95(0xfb)),_0xd177df['join']('\x0a');const _0x285b07=[..._0x5b50ec[_0x8b9d95(0x147)]()]['sort']((_0x584085,_0x554d57)=>_0x554d57[0x1][_0x8b9d95(0xdd)]-_0x584085[0x1][_0x8b9d95(0xdd)]);for(const [_0x303919,_0x2721fd]of _0x285b07){_0xd177df[_0x8b9d95(0xd9)]('',_0x8b9d95(0x141)+_0x303919+'\x20—\x20'+_0x2721fd[_0x8b9d95(0xdd)]+_0x8b9d95(0x168));_0x2721fd[_0x8b9d95(0x161)]['size']===0x0&&_0xd177df['push']('-\x20no\x20completed\x20Reflex\x20results\x20on\x20these\x20turns');const _0x3fcce1=[..._0x2721fd[_0x8b9d95(0x161)][_0x8b9d95(0x147)]()][_0x8b9d95(0xf2)]((_0x4f2412,_0x3d77d1)=>_0x3d77d1[0x1][_0x8b9d95(0x195)]-_0x4f2412[0x1]['firedTurns']);for(const [_0x4bd1be,_0x580c27]of _0x3fcce1){const _0x2150e6=[..._0x580c27[_0x8b9d95(0x176)][_0x8b9d95(0x147)]()][_0x8b9d95(0xf2)]((_0x184b57,_0x581c0d)=>_0x581c0d[0x1]-_0x184b57[0x1])[_0x8b9d95(0x11a)](([_0x5c4743,_0x1d832f])=>_0x5c4743+'\x20'+_0x1d832f)['join'](',\x20');_0xd177df[_0x8b9d95(0xd9)]('-\x20'+_0x4bd1be+_0x8b9d95(0x184)+_0x580c27[_0x8b9d95(0x195)]+'/'+_0x580c27[_0x8b9d95(0x134)]+'\x20'+('('+formatRate(_0x580c27[_0x8b9d95(0x195)],_0x580c27['turnsWithResult'])+')\x20—\x20'+_0x2150e6));}_0x2721fd[_0x8b9d95(0x11b)]>0x0&&_0xd177df[_0x8b9d95(0xd9)](_0x8b9d95(0x16c)+_0x2721fd[_0x8b9d95(0x11b)]+_0x8b9d95(0x16d));}const _0x35ca2f=[..._0x1742ba['entries']()]['sort']((_0x574378,_0x5036e3)=>_0x5036e3[0x1][_0x8b9d95(0x10e)][_0x8b9d95(0x18f)]-_0x574378[0x1]['hits']['size']||_0x5036e3[0x1]['time'][_0x8b9d95(0x165)](_0x574378[0x1][_0x8b9d95(0x16e)]))[_0x8b9d95(0x113)](0x0,TOP_CONVERSATIONS);if(_0x35ca2f[_0x8b9d95(0x198)]>0x0){_0xd177df['push']('',_0x8b9d95(0x17f));for(const [_0x30329b,_0x29a666]of _0x35ca2f){_0xd177df[_0x8b9d95(0xd9)]('-\x20'+_0x30329b+'\x20—\x20'+_0x29a666[_0x8b9d95(0x16e)]+_0x8b9d95(0x146)+_0x29a666[_0x8b9d95(0x169)]+_0x8b9d95(0x146)+[..._0x29a666[_0x8b9d95(0x10e)]][_0x8b9d95(0x124)](',\x20'));}_0xd177df[_0x8b9d95(0xd9)]('',_0x8b9d95(0xe5));}return _0xd177df['join']('\x0a');}function formatTraceEvent(_0x161fc6){const _0x511287=a5_0x2d65c7,_0x46b4a5=_0x161fc6[_0x511287(0x110)]['filter'](_0x322c57=>_0x322c57[_0x511287(0x163)]==='completed'),_0x33dc74=_0x161fc6[_0x511287(0x110)][_0x511287(0x198)]-_0x46b4a5['length'],_0x29974a=_0x46b4a5[_0x511287(0x11a)](_0x1fd499=>{const _0x372aae=_0x511287,_0x59365c=labelsOf(_0x1fd499)[_0x372aae(0x124)](',\x20')||_0x372aae(0x188);return _0x1fd499[_0x372aae(0x169)]+'='+_0x59365c+'\x20('+_0x1fd499[_0x372aae(0x109)][_0x372aae(0xf9)](0x2)+')';})[_0x511287(0x124)](';\x20'),_0x32f4bb=['['+_0x161fc6[_0x511287(0x182)]+_0x511287(0x175)+_0x161fc6['convoId']+_0x511287(0x170)+_0x161fc6[_0x511287(0xe0)]+_0x511287(0x117)+(_0x161fc6[_0x511287(0x169)]||_0x511287(0x12a)),'\x20\x20reflexes:\x20'+(_0x29974a||_0x511287(0xff))+(_0x33dc74>0x0?_0x511287(0x146)+_0x33dc74+_0x511287(0x14d):'')];if(_0x161fc6['inputText'])_0x32f4bb[_0x511287(0xd9)](_0x511287(0xf5)+truncate(_0x161fc6[_0x511287(0x191)],SNIPPET_CHARS));if(_0x161fc6['outputText'])_0x32f4bb[_0x511287(0xd9)](_0x511287(0xfa)+truncate(_0x161fc6[_0x511287(0x137)],SNIPPET_CHARS));return _0x32f4bb['join']('\x0a');}export async function runGetReflexTraces(_0x5d12c6,_0x6920c5){const _0xd83384=a5_0x2d65c7,_0x3ea205=_0x6920c5[_0xd83384(0x173)]?.['trim']()[_0xd83384(0x194)](),_0x535cd2=Boolean(_0x6920c5[_0xd83384(0x169)]||_0x6920c5['reflex']||_0x3ea205),_0x3cd03f=_0x2dcd5b=>{const _0x1b0f9c=_0xd83384;if(_0x6920c5[_0x1b0f9c(0x169)]&&_0x2dcd5b['model']!==_0x6920c5[_0x1b0f9c(0x169)])return![];if(_0x6920c5[_0x1b0f9c(0xfe)]&&!_0x2dcd5b[_0x1b0f9c(0x110)]['some'](_0x3f8675=>_0x3f8675['model']===_0x6920c5[_0x1b0f9c(0xfe)]))return![];if(_0x3ea205&&!_0x2dcd5b['reflexResults'][_0x1b0f9c(0x156)](_0x3fd743=>labelsOf(_0x3fd743)[_0x1b0f9c(0x156)](_0x46b089=>_0x46b089[_0x1b0f9c(0x194)]()===_0x3ea205)))return![];return!![];};let _0x3c022f=[],_0x2a9fc7=!![];if(!_0x535cd2){const _0x319778=await _0x5d12c6[_0xd83384(0x11c)][_0xd83384(0x10c)]({'convoId':_0x6920c5[_0xd83384(0xe8)],'limit':_0x6920c5[_0xd83384(0x106)],'offset':_0x6920c5[_0xd83384(0x140)]});_0x3c022f=_0x319778[_0xd83384(0x11d)],_0x2a9fc7=!_0x319778['hasMore'];}else{const _0x2980c9=_0x6920c5[_0xd83384(0x140)]+_0x6920c5[_0xd83384(0x106)];let _0x2ea7dc=0x0,_0x3175cf=0x0,_0x4d7337=!![];while(_0x3c022f[_0xd83384(0x198)]<_0x2980c9&&_0x4d7337&&_0x3175cf<FILTER_SCAN_BOUND){const _0xd2f5a3=await _0x5d12c6[_0xd83384(0x11c)][_0xd83384(0x10c)]({'convoId':_0x6920c5[_0xd83384(0xe8)],'limit':0x64,'offset':_0x2ea7dc});for(const _0x3a9e9e of _0xd2f5a3[_0xd83384(0x11d)]){_0x3175cf+=0x1;if(_0x3cd03f(_0x3a9e9e))_0x3c022f[_0xd83384(0xd9)](_0x3a9e9e);}_0x4d7337=_0xd2f5a3[_0xd83384(0x180)]&&_0xd2f5a3[_0xd83384(0x11d)][_0xd83384(0x198)]>0x0,_0x2ea7dc+=_0xd2f5a3[_0xd83384(0x11d)][_0xd83384(0x198)];}_0x2a9fc7=!_0x4d7337,_0x3c022f=_0x3c022f[_0xd83384(0x113)](_0x6920c5['offset'],_0x6920c5[_0xd83384(0x140)]+_0x6920c5[_0xd83384(0x106)]);}const _0x1a7bbb=[_0x6920c5['convo_id']&&_0xd83384(0x15f)+_0x6920c5[_0xd83384(0xe8)],_0x6920c5[_0xd83384(0x169)]&&_0xd83384(0x101)+_0x6920c5[_0xd83384(0x169)],_0x6920c5[_0xd83384(0xfe)]&&_0xd83384(0x133)+_0x6920c5[_0xd83384(0xfe)],_0x6920c5['label']&&'label='+_0x6920c5[_0xd83384(0x173)]][_0xd83384(0x114)](Boolean)[_0xd83384(0x124)](',\x20');if(_0x3c022f[_0xd83384(0x198)]===0x0){if(_0x1a7bbb)return _0xd83384(0xe2)+_0x1a7bbb+(_0x2a9fc7?'':_0xd83384(0x13a)+FILTER_SCAN_BOUND+'\x20turns')+'.\x20'+_0xd83384(0x19b);return NO_TRACES_MESSAGE;}const _0xe65999=[_0xd83384(0x155)+(_0x1a7bbb?_0xd83384(0x146)+_0x1a7bbb:''),''];let _0x15e48d=_0xe65999[_0xd83384(0x124)]('\x0a')['length'],_0x4c9dc9=0x0;for(const _0x991bb9 of _0x3c022f){const _0x22352c=formatTraceEvent(_0x991bb9);if(_0x15e48d+_0x22352c['length']>OUTPUT_CHAR_BUDGET){_0xe65999['push'](_0xd83384(0x167)+_0x4c9dc9+_0xd83384(0x130)+_0x3c022f[_0xd83384(0x198)]+_0xd83384(0x102));break;}_0xe65999[_0xd83384(0xd9)](_0x22352c,''),_0x15e48d+=_0x22352c[_0xd83384(0x198)]+0x2,_0x4c9dc9+=0x1;}return _0x4c9dc9===_0x3c022f[_0xd83384(0x198)]&&!_0x2a9fc7&&_0xe65999['push'](_0xd83384(0x14c)+(_0x6920c5['offset']+_0x3c022f['length'])+'.'),_0xe65999['join']('\x0a')[_0xd83384(0xde)]();}
|
package/dist/roots-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x307190,_0x2d66fe){const _0x4b52cb=a6_0x4ef4,_0x27fbb0=_0x307190();while(!![]){try{const _0x2f3419=parseInt(_0x4b52cb(0x7c))/0x1+-parseInt(_0x4b52cb(0x68))/0x2*(-parseInt(_0x4b52cb(0x76))/0x3)+parseInt(_0x4b52cb(0x70))/0x4+parseInt(_0x4b52cb(0x6e))/0x5+-parseInt(_0x4b52cb(0x6d))/0x6+parseInt(_0x4b52cb(0x7a))/0x7*(-parseInt(_0x4b52cb(0x79))/0x8)+parseInt(_0x4b52cb(0x7d))/0x9;if(_0x2f3419===_0x2d66fe)break;else _0x27fbb0['push'](_0x27fbb0['shift']());}catch(_0x4d16db){_0x27fbb0['push'](_0x27fbb0['shift']());}}}(a6_0x366c,0x33340));import{promises as a6_0x11afe4}from'fs';function a6_0x366c(){const _0x2ed0b5=['90LzVWID','join','file://','56DuYcSY','197925YFyQgd','homedir','148189SxsoVa','961047KJOVWv','message','push','130CbGdrV','invalid\x20path\x20or\x20inaccessible','Skipping\x20','non-directory\x20root','isDirectory','935724UdDURF','1479490qrLaNa','realpath','43148TkpgAA','\x20due\x20to\x20error:\x20','Skipping\x20invalid\x20directory:\x20','uri','resolve','slice'];a6_0x366c=function(){return _0x2ed0b5;};return a6_0x366c();}import a6_0x59682d from'path';function a6_0x4ef4(_0x6155eb,_0x138128){_0x6155eb=_0x6155eb-0x67;const _0x366caf=a6_0x366c();let _0x4ef423=_0x366caf[_0x6155eb];return _0x4ef423;}import a6_0x3026d8 from'os';import{normalizePath}from'./path-utils.js';import{logMcpStderr}from'./log-utils.js';async function parseRootUri(_0x4ed520){const _0x3f0cdb=a6_0x4ef4;try{const _0x555819=_0x4ed520['startsWith'](_0x3f0cdb(0x78))?_0x4ed520[_0x3f0cdb(0x75)](0x7):_0x4ed520,_0x673f97=_0x555819['startsWith']('~/')||_0x555819==='~'?a6_0x59682d[_0x3f0cdb(0x77)](a6_0x3026d8[_0x3f0cdb(0x7b)](),_0x555819[_0x3f0cdb(0x75)](0x1)):_0x555819,_0x54c439=a6_0x59682d[_0x3f0cdb(0x74)](_0x673f97),_0x512754=await a6_0x11afe4[_0x3f0cdb(0x6f)](_0x54c439);return normalizePath(_0x512754);}catch{return null;}}function formatDirectoryError(_0x398150,_0x56653f,_0x727b00){const _0x2279e6=a6_0x4ef4;if(_0x727b00)return _0x2279e6(0x6a)+_0x727b00+':\x20'+_0x398150;const _0x444ed7=_0x56653f instanceof Error?_0x56653f[_0x2279e6(0x7e)]:String(_0x56653f);return _0x2279e6(0x72)+_0x398150+_0x2279e6(0x71)+_0x444ed7;}export async function getValidRootDirectories(_0x49418e){const _0x54cdaa=a6_0x4ef4,_0x1a717d=[];for(const _0x1fa9d2 of _0x49418e){const _0x2c2441=await parseRootUri(_0x1fa9d2[_0x54cdaa(0x73)]);if(!_0x2c2441){logMcpStderr(formatDirectoryError(_0x1fa9d2[_0x54cdaa(0x73)],undefined,_0x54cdaa(0x69)));continue;}try{const _0x1ea465=await a6_0x11afe4['stat'](_0x2c2441);_0x1ea465[_0x54cdaa(0x6c)]()?_0x1a717d[_0x54cdaa(0x67)](_0x2c2441):logMcpStderr(formatDirectoryError(_0x2c2441,undefined,_0x54cdaa(0x6b)));}catch(_0x4d9baa){logMcpStderr(formatDirectoryError(_0x2c2441,_0x4d9baa));}}return _0x1a717d;}
|
package/dist/tool-definitions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a7_0xcb5983=a7_0x481e;(function(_0xc74c80,_0x2b3262){const _0x167c82=a7_0x481e,_0xe8fac9=_0xc74c80();while(!![]){try{const _0x6f00a1=-parseInt(_0x167c82(0x164))/0x1+-parseInt(_0x167c82(0x16a))/0x2*(-parseInt(_0x167c82(0x161))/0x3)+-parseInt(_0x167c82(0x165))/0x4*(parseInt(_0x167c82(0x16c))/0x5)+-parseInt(_0x167c82(0x167))/0x6+-parseInt(_0x167c82(0x15f))/0x7+parseInt(_0x167c82(0x166))/0x8*(-parseInt(_0x167c82(0x169))/0x9)+parseInt(_0x167c82(0x163))/0xa;if(_0x6f00a1===_0x2b3262)break;else _0xe8fac9['push'](_0xe8fac9['shift']());}catch(_0x3ba75c){_0xe8fac9['push'](_0xe8fac9['shift']());}}}(a7_0x1a01,0xdf453));export const TOOL_NAMES={'EDIT_FILE':a7_0xcb5983(0x16b),'CODEBASE_SEARCH':a7_0xcb5983(0x16e),'GITHUB_CODEBASE_SEARCH':'github_codebase_search','LIST_REFLEXES':a7_0xcb5983(0x168),'REFLEX_SUMMARY':a7_0xcb5983(0x160),'GET_REFLEX_TRACES':a7_0xcb5983(0x16d)};function a7_0x481e(_0x461047,_0x2261ab){_0x461047=_0x461047-0x15f;const _0x1a01a2=a7_0x1a01();let _0x481e09=_0x1a01a2[_0x461047];return _0x481e09;}export const ALL_TOOL_NAMES=Object[a7_0xcb5983(0x162)](TOOL_NAMES);export const KNOWN_TOOL_NAMES=new Set(ALL_TOOL_NAMES);function a7_0x1a01(){const _0x1855c7=['9200uTIIlY','4412340mxdQPA','list_reflexes','13428YttAqD','30JkdjMq','edit_file','100ItyrFb','get_reflex_traces','codebase_search','7268072PKXIwW','reflex_summary','169287ACiCvw','values','46172630lhKQSf','248417DUSqIT','162256PkxgDB'];a7_0x1a01=function(){return _0x1855c7;};return a7_0x1a01();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@morphllm/morphmcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.205",
|
|
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)",
|