imcp 0.1.12 → 0.1.13

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.
@@ -1,2 +1,2 @@
1
- import{Logger}from"../../../utils/logger.js";import{exec,spawn}from"child_process";import{promisify}from"util";import*as http from"http";import*as https from"https";import{isCommandAvailable,getNpmExecutablePath}from"../../../utils/osUtils.js";import{ExtensionInstaller}from"./ExtensionInstaller.js";import{SUPPORTED_CLIENTS}from"../../metadatas/constants.js";import{MACRO_EXPRESSIONS,MacroResolverFunctions}from"../../../utils/macroExpressionUtils.js";import{InstallOperationManager}from"../../loaders/InstallOperationManager.js";import*as RecordingConstants from"../../metadatas/recordingConstants.js";const execAsync=promisify(exec);export class BaseClientInstaller{generateOperationId(){return`install-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}async setupInstallConfig(e,t){const s={...e.installation};s.mode=e.mode,t.args&&t.args.length>0&&(Logger.debug(`Using args from ServerInstallOptions: ${t.args.join(" ")}`),s.args=t.args);const n=s.env||{},r={};for(const[e,t]of Object.entries(n)){const s=t;s.Default&&(r[e]=s.Default)}return s.env={...r,...t.env||{}},await this._resolveConfigMacros(s,t),Logger.debug(`Final installation config: ${JSON.stringify(s)}`),s}async _resolveConfigMacros(e,t){for(const s of Object.values(MACRO_EXPRESSIONS)){const n=e.args?.some((e=>"string"==typeof e&&e.includes(s))),r=Object.values(e.env||{}).some((e=>"string"==typeof e&&e.includes(s)));if(!n&&!r){Logger.debug(`Macro ${s} not found in args or env, skipping resolution.`);continue}const a=MacroResolverFunctions[s];if(a){const n=await a(e,t);if(void 0!==n){if(e.args){const t=e.args.join(" ");e.args=e.args.map((e=>"string"==typeof e&&e.includes(s)?e.replace(new RegExp(s.replace(/[${}]/g,"\\$&"),"g"),n):e)),e.args.join(" ")!==t&&Logger.debug(`Args after ${s} ('${n}') replacement: ${e.args.join(" ")}`)}if(e.env){const t=JSON.stringify(e.env);for(const t in e.env)"string"==typeof e.env[t]&&e.env[t].includes(s)&&(e.env[t]=e.env[t].replace(new RegExp(s.replace(/[${}]/g,"\\$&"),"g"),n));JSON.stringify(e.env)!==t&&Logger.debug(`Env after ${s} ('${n}') replacement: ${JSON.stringify(e.env)}`)}}else Logger.debug(`Could not resolve value for macro: ${s}. It will not be replaced.`)}}}async handleWindowsNpx(e){if("win32"===process.platform&&"npx"===e.command){const t=await getNpmExecutablePath();return{...e,command:"cmd",args:["/c","npx",...e.args],env:{...e.env,APPDATA:t}}}return e}initializeSettings(e){e.mcpServers||(e.mcpServers={})}async handleStdioMode(e,t,s){s.args&&(s.args=s.args.map((e=>"string"==typeof e?e.replace(/\\/g,"/"):e))),e.mcpServers[t]={command:s.command,args:s.args,env:s.env,autoApprove:[],disabled:!1,alwaysAllow:[]}}async isServerReachable(e){return new Promise((t=>{try{const s=new URL(e),n=("https:"===s.protocol?https:http).request(s,{method:"HEAD",timeout:2e3},(e=>{t(!0),e.resume()}));n.on("error",(s=>{Logger.debug(`Server at ${e} is not reachable: ${s.message}`),t(!1)})),n.on("timeout",(()=>{Logger.debug(`Timeout checking server reachability at ${e}`),n.destroy(),t(!1)})),n.end()}catch(s){Logger.error(`Error parsing URL or making request to ${e}: ${s.message}`),t(!1)}}))}async handleSseMode(e,t,s){if(s.url){if(await this.isServerReachable(s.url))Logger.info(`Server at ${s.url} is already running or reachable. Skipping start command.`);else if(s.startingCommand&&"string"==typeof s.startingCommand){Logger.info(`Server at ${s.url} not reachable. Attempting to start server with command: ${s.startingCommand}`);const e=s.startingCommand.split(" "),t=e[0],n=e.slice(1);try{const e=spawn(t,n,{detached:!0,stdio:"ignore",shell:"win32"===process.platform});e.on("error",(e=>{Logger.error(`Failed to start server process with command "${s.startingCommand}": ${e.message}`)})),e.unref(),Logger.info(`Detached server process (PID: ${e.pid}) started with command: "${s.startingCommand}". It will continue running if this main process exits.`)}catch(e){Logger.error(`Exception when trying to spawn server process with command "${s.startingCommand}": ${e.message}`)}}else s.startingCommand?Logger.warn(`startingCommand is present but not a string: ${JSON.stringify(s.startingCommand)}`):Logger.info(`Server at ${s.url} not reachable and no startingCommand provided.`)}else Logger.warn("No URL provided in installConfig for SSE mode. Cannot check reachability or configure server.");e.mcpServers[t]={type:"sse",url:s.url}}async checkVSCodeAndInstallExtension(e){const t=await isCommandAvailable("code"),s=await isCommandAvailable("code-insiders");if(!t&&!s)return{status:"failed",type:"install",target:"server",message:"Failed to install as neither VS Code nor VS Code Insiders are installed on this system. Please run `code` or `code-insiders` to make sure they are installed. Relaunch imcp after installation.",operationId:e};return await ExtensionInstaller.installExtension(this.clientName)?void 0:(Logger.debug(`Failed to install ${this.clientName} extension`),{status:"failed",type:"install",target:"server",message:`Failed to install ${this.clientName} extension`,operationId:e})}async updateVSCodeSettings(e,t){const s=[],n=await isCommandAvailable("code"),r=await isCommandAvailable("code-insiders");if(n)try{const n=SUPPORTED_CLIENTS[this.clientName].codeSettingPath;await this.setupClientSettings(n,e,t),s.push({success:!0,path:n})}catch(e){s.push({success:!1,path:SUPPORTED_CLIENTS[this.clientName].codeSettingPath,error:e instanceof Error?e.message:String(e)})}if(r)try{const n=SUPPORTED_CLIENTS[this.clientName].codeInsiderSettingPath;await this.setupClientSettings(n,e,t),s.push({success:!0,path:n})}catch(e){s.push({success:!1,path:SUPPORTED_CLIENTS[this.clientName].codeInsiderSettingPath,error:e instanceof Error?e.message:String(e)})}return s}async install(e,t,s){const n=this.generateOperationId(),r=InstallOperationManager.getInstance(s||e.name,e.name);return await r.recording((async()=>{await r.recording((()=>this.checkVSCodeAndInstallExtension(n)),{stepName:RecordingConstants.STEP_CHECK_VSCODE_AND_INSTALL_EXTENSION,endMessage:e=>e?.message,onResult:e=>"failed"!==e?.status});const s=await r.recording((()=>this.setupInstallConfig(e,t)),{stepName:RecordingConstants.STEP_SETUP_INSTALLATION_CONFIG});e.mode&&(s.mode=e.mode);const a=await r.recording((()=>this.updateVSCodeSettings(e.name,s)),{stepName:RecordingConstants.STEP_UPDATE_VSCODE_SETTINGS,endMessage:e=>e?.some((e=>e.success))?`Updated settings in: ${e.map((e=>e.path)).join(", ")}`:`Failed to update settings: ${e.map((e=>e.error)).join("; ")}`,onResult:e=>e?.some((e=>e.success))}),o=a.some((e=>e.success)),i=a.filter((e=>e.success)).map((e=>e.path)),l=a.filter((e=>!e.success)).map((e=>e.error));return{status:o?"completed":"failed",type:"install",target:"server",message:o?`Successfully installed ${this.clientName} client. Updated settings in: ${i.join(", ")}`:`Failed to install ${this.clientName} client. Errors: ${l.join("; ")}`,operationId:n,error:o?void 0:l.join("; ")}}),{stepName:RecordingConstants.STEP_INSTALLATION,onResult:e=>"failed"!==e?.status,endMessage:e=>e?.message,onError:e=>{const t=`Unexpected error installing ${this.clientName} client: ${e instanceof Error?e.message:String(e)}`;return{result:{status:"failed",type:"install",target:"server",message:t,operationId:n,error:e instanceof Error?e.message:String(e)},message:t}}})}}
1
+ import{Logger}from"../../../utils/logger.js";import{exec,spawn}from"child_process";import{promisify}from"util";import*as http from"http";import*as https from"https";import{isCommandAvailable,getNpmExecutablePath}from"../../../utils/osUtils.js";import{ExtensionInstaller}from"./ExtensionInstaller.js";import{SUPPORTED_CLIENTS}from"../../metadatas/constants.js";import{MACRO_EXPRESSIONS,MacroResolverFunctions}from"../../../utils/macroExpressionUtils.js";import{InstallOperationManager}from"../../loaders/InstallOperationManager.js";import*as RecordingConstants from"../../metadatas/recordingConstants.js";const execAsync=promisify(exec);export class BaseClientInstaller{generateOperationId(){return`install-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}async setupInstallConfig(e,t){const s={...e.installation};s.mode=e.mode,t.args&&t.args.length>0&&(Logger.debug(`Using args from ServerInstallOptions: ${t.args.join(" ")}`),s.args=t.args);const n=s.env||{},r={};for(const[e,t]of Object.entries(n)){const s=t;s.Default&&(r[e]=s.Default)}return s.env={...r,...t.env||{}},await this._resolveConfigMacros(s,t),Logger.debug(`Final installation config: ${JSON.stringify(s)}`),s}async _resolveConfigMacros(e,t){for(const s of Object.values(MACRO_EXPRESSIONS)){const n=e.args?.some((e=>"string"==typeof e&&e.includes(s))),r=Object.values(e.env||{}).some((e=>"string"==typeof e&&e.includes(s)));if(!n&&!r&&s!==MACRO_EXPRESSIONS.PYTHON_PACKAGE){Logger.debug(`Macro ${s} not found in args or env, skipping resolution.`);continue}const a=MacroResolverFunctions[s];if(a){const n=await a(e,t);if(void 0!==n){if(e.args){const t=e.args.join(" ");e.args=e.args.map((e=>"string"==typeof e&&e.includes(s)?e.replace(new RegExp(s.replace(/[${}]/g,"\\$&"),"g"),n):e)),e.args.join(" ")!==t&&Logger.debug(`Args after ${s} ('${n}') replacement: ${e.args.join(" ")}`)}if(e.env){const t=JSON.stringify(e.env);for(const t in e.env)"string"==typeof e.env[t]&&e.env[t].includes(s)&&(e.env[t]=e.env[t].replace(new RegExp(s.replace(/[${}]/g,"\\$&"),"g"),n));JSON.stringify(e.env)!==t&&Logger.debug(`Env after ${s} ('${n}') replacement: ${JSON.stringify(e.env)}`)}}else Logger.debug(`Could not resolve value for macro: ${s}. It will not be replaced.`)}}}async handleWindowsNpx(e){if("win32"===process.platform&&"npx"===e.command){const t=await getNpmExecutablePath();return{...e,command:"cmd",args:["/c","npx",...e.args],env:{...e.env,APPDATA:t}}}return e}initializeSettings(e){e.mcpServers||(e.mcpServers={})}async handleStdioMode(e,t,s){s.args&&(s.args=s.args.map((e=>"string"==typeof e?e.replace(/\\/g,"/"):e))),e.mcpServers[t]={command:s.command,args:s.args,env:s.env,autoApprove:[],disabled:!1,alwaysAllow:[]}}async isServerReachable(e){return new Promise((t=>{try{const s=new URL(e),n=("https:"===s.protocol?https:http).request(s,{method:"HEAD",timeout:2e3},(e=>{t(!0),e.resume()}));n.on("error",(s=>{Logger.debug(`Server at ${e} is not reachable: ${s.message}`),t(!1)})),n.on("timeout",(()=>{Logger.debug(`Timeout checking server reachability at ${e}`),n.destroy(),t(!1)})),n.end()}catch(s){Logger.error(`Error parsing URL or making request to ${e}: ${s.message}`),t(!1)}}))}async handleSseMode(e,t,s){if(s.url){if(await this.isServerReachable(s.url))Logger.info(`Server at ${s.url} is already running or reachable. Skipping start command.`);else if(s.startingCommand&&"string"==typeof s.startingCommand){Logger.info(`Server at ${s.url} not reachable. Attempting to start server with command: ${s.startingCommand}`);const e=s.startingCommand.split(" "),t=e[0],n=e.slice(1);try{const e=spawn(t,n,{detached:!0,stdio:"ignore",shell:"win32"===process.platform});e.on("error",(e=>{Logger.error(`Failed to start server process with command "${s.startingCommand}": ${e.message}`)})),e.unref(),Logger.info(`Detached server process (PID: ${e.pid}) started with command: "${s.startingCommand}". It will continue running if this main process exits.`)}catch(e){Logger.error(`Exception when trying to spawn server process with command "${s.startingCommand}": ${e.message}`)}}else s.startingCommand?Logger.warn(`startingCommand is present but not a string: ${JSON.stringify(s.startingCommand)}`):Logger.info(`Server at ${s.url} not reachable and no startingCommand provided.`)}else Logger.warn("No URL provided in installConfig for SSE mode. Cannot check reachability or configure server.");e.mcpServers[t]={type:"sse",url:s.url}}async checkVSCodeAndInstallExtension(e){const t=await isCommandAvailable("code"),s=await isCommandAvailable("code-insiders");if(!t&&!s)return{status:"failed",type:"install",target:"server",message:"Failed to install as neither VS Code nor VS Code Insiders are installed on this system. Please run `code` or `code-insiders` to make sure they are installed. Relaunch imcp after installation.",operationId:e};return await ExtensionInstaller.installExtension(this.clientName)?void 0:(Logger.debug(`Failed to install ${this.clientName} extension`),{status:"failed",type:"install",target:"server",message:`Failed to install ${this.clientName} extension`,operationId:e})}async updateVSCodeSettings(e,t){const s=[],n=await isCommandAvailable("code"),r=await isCommandAvailable("code-insiders");if(n)try{const n=SUPPORTED_CLIENTS[this.clientName].codeSettingPath;await this.setupClientSettings(n,e,t),s.push({success:!0,path:n})}catch(e){s.push({success:!1,path:SUPPORTED_CLIENTS[this.clientName].codeSettingPath,error:e instanceof Error?e.message:String(e)})}if(r)try{const n=SUPPORTED_CLIENTS[this.clientName].codeInsiderSettingPath;await this.setupClientSettings(n,e,t),s.push({success:!0,path:n})}catch(e){s.push({success:!1,path:SUPPORTED_CLIENTS[this.clientName].codeInsiderSettingPath,error:e instanceof Error?e.message:String(e)})}return s}async install(e,t,s){const n=this.generateOperationId(),r=InstallOperationManager.getInstance(s||e.name,e.name);return await r.recording((async()=>{await r.recording((()=>this.checkVSCodeAndInstallExtension(n)),{stepName:RecordingConstants.STEP_CHECK_VSCODE_AND_INSTALL_EXTENSION,endMessage:e=>e?.message,onResult:e=>"failed"!==e?.status});const s=await r.recording((()=>this.setupInstallConfig(e,t)),{stepName:RecordingConstants.STEP_SETUP_INSTALLATION_CONFIG});e.mode&&(s.mode=e.mode);const a=await r.recording((()=>this.updateVSCodeSettings(e.name,s)),{stepName:RecordingConstants.STEP_UPDATE_VSCODE_SETTINGS,endMessage:e=>e?.some((e=>e.success))?`Updated settings in: ${e.map((e=>e.path)).join(", ")}`:`Failed to update settings: ${e.map((e=>e.error)).join("; ")}`,onResult:e=>e?.some((e=>e.success))}),o=a.some((e=>e.success)),i=a.filter((e=>e.success)).map((e=>e.path)),l=a.filter((e=>!e.success)).map((e=>e.error));return{status:o?"completed":"failed",type:"install",target:"server",message:o?`Successfully installed ${this.clientName} client. Updated settings in: ${i.join(", ")}`:`Failed to install ${this.clientName} client. Errors: ${l.join("; ")}`,operationId:n,error:o?void 0:l.join("; ")}}),{stepName:RecordingConstants.STEP_INSTALLATION,onResult:e=>"failed"!==e?.status,endMessage:e=>e?.message,onError:e=>{const t=`Unexpected error installing ${this.clientName} client: ${e instanceof Error?e.message:String(e)}`;return{result:{status:"failed",type:"install",target:"server",message:t,operationId:n,error:e instanceof Error?e.message:String(e)},message:t}}})}}
2
2
  //# sourceMappingURL=BaseClientInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logger","exec","spawn","promisify","http","https","isCommandAvailable","getNpmExecutablePath","ExtensionInstaller","SUPPORTED_CLIENTS","MACRO_EXPRESSIONS","MacroResolverFunctions","InstallOperationManager","RecordingConstants","execAsync","BaseClientInstaller","generateOperationId","Date","now","Math","random","toString","substr","setupInstallConfig","serverConfig","options","finalConfig","installation","mode","args","length","debug","join","baseEnv","env","defaultEnv","key","config","Object","entries","envConfig","Default","this","_resolveConfigMacros","JSON","stringify","macro","values","isMacroInArgs","some","arg","includes","isMacroInEnv","value","resolver","resolvedValue","undefined","originalArgsString","map","replace","RegExp","originalEnvJson","handleWindowsNpx","process","platform","command","npmPath","APPDATA","initializeSettings","settings","mcpServers","handleStdioMode","serverName","autoApprove","disabled","alwaysAllow","isServerReachable","urlString","Promise","resolve","url","URL","request","protocol","method","timeout","res","resume","on","err","message","destroy","end","error","handleSseMode","installConfig","info","startingCommand","commandParts","split","slice","child","detached","stdio","shell","unref","pid","warn","type","checkVSCodeAndInstallExtension","operationId","isVSCodeInstalled","isVSCodeInsidersInstalled","status","target","installExtension","clientName","updateVSCodeSettings","results","settingPath","codeSettingPath","setupClientSettings","push","success","path","Error","String","codeInsiderSettingPath","install","categoryName","recorder","getInstance","name","recording","async","stepName","STEP_CHECK_VSCODE_AND_INSTALL_EXTENSION","endMessage","result","onResult","STEP_SETUP_INSTALLATION_CONFIG","STEP_UPDATE_VSCODE_SETTINGS","r","anySuccess","successPaths","filter","errors","STEP_INSTALLATION","onError","errorMsg"],"sources":["../../../../src/core/installers/clients/BaseClientInstaller.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Logger","exec","spawn","promisify","http","https","isCommandAvailable","getNpmExecutablePath","ExtensionInstaller","SUPPORTED_CLIENTS","MACRO_EXPRESSIONS","MacroResolverFunctions","InstallOperationManager","RecordingConstants","execAsync","BaseClientInstaller","generateOperationId","Date","now","Math","random","toString","substr","setupInstallConfig","serverConfig","options","finalConfig","installation","mode","args","length","debug","join","baseEnv","env","defaultEnv","key","config","Object","entries","envConfig","Default","this","_resolveConfigMacros","JSON","stringify","macro","values","isMacroInArgs","some","arg","includes","isMacroInEnv","value","PYTHON_PACKAGE","resolver","resolvedValue","undefined","originalArgsString","map","replace","RegExp","originalEnvJson","handleWindowsNpx","process","platform","command","npmPath","APPDATA","initializeSettings","settings","mcpServers","handleStdioMode","serverName","autoApprove","disabled","alwaysAllow","isServerReachable","urlString","Promise","resolve","url","URL","request","protocol","method","timeout","res","resume","on","err","message","destroy","end","error","handleSseMode","installConfig","info","startingCommand","commandParts","split","slice","child","detached","stdio","shell","unref","pid","warn","type","checkVSCodeAndInstallExtension","operationId","isVSCodeInstalled","isVSCodeInsidersInstalled","status","target","installExtension","clientName","updateVSCodeSettings","results","settingPath","codeSettingPath","setupClientSettings","push","success","path","Error","String","codeInsiderSettingPath","install","categoryName","recorder","getInstance","name","recording","async","stepName","STEP_CHECK_VSCODE_AND_INSTALL_EXTENSION","endMessage","result","onResult","STEP_SETUP_INSTALLATION_CONFIG","STEP_UPDATE_VSCODE_SETTINGS","r","anySuccess","successPaths","filter","errors","STEP_INSTALLATION","onError","errorMsg"],"sources":["../../../../src/core/installers/clients/BaseClientInstaller.ts"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imcp",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "Node.js SDK for Model Context Protocol (MCP)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",