{"_id":"@_nazmiforreal/infected","_rev":"25-2f9f004dd0ca3c56a795809b54a748d7","name":"@_nazmiforreal/infected","dist-tags":{"latest":"10.10.3"},"versions":{"8.4.2":{"name":"@_nazmiforreal/infected","version":"8.4.2","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@8.4.2","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"bbd7b48122e93a5b0214bfdc5e300cbf2293c238","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-8.4.2.tgz","fileCount":105,"integrity":"sha512-k0mzYXabuJqSNC+3ENgm4U+v6T2H3kTK35RqP5cVBYaOF0lPMnf6A7QZmbtRTTPzpikKSJiL3l7ZCzFak4dbaA==","signatures":[{"sig":"MEUCIEgrIwPuNsld/KMb+F1+9bRZKd9U46s8zwvIwNGL2ac3AiEA9Pfjh6EXWJDl0ADFkry6OR3QshXpgbBAawih1vPnm58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":972170},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-8.4.2.tgz","types":"dist/index.d.ts","gitHead":"e93b0737a658343e9c49e5489e25c3cf8618fd45","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/root/sandbox/infected/_nazmiforreal-infected-8.4.2.tgz","_integrity":"sha512-k0mzYXabuJqSNC+3ENgm4U+v6T2H3kTK35RqP5cVBYaOF0lPMnf6A7QZmbtRTTPzpikKSJiL3l7ZCzFak4dbaA==","_npmVersion":"11.11.0","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","minimatch":"^10.2.2","robots-parser":"^2.1.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_8.4.2_1772815023572_0.6671588240179993","host":"s3://npm-registry-packages-npm-production"}},"8.4.6":{"name":"@_nazmiforreal/infected","version":"8.4.6","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@8.4.6","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"89b77fd05690acc8169443e20989e0ce8004ea8f","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-8.4.6.tgz","fileCount":104,"integrity":"sha512-Qlvkx+nsxJIWJ4V3fOM7ndZ7aErLxRWmM3zI8waCEV10XbUuYvOpXuSosjmxjVd4q2wbLbKdACCkNjvEqt9MDg==","signatures":[{"sig":"MEUCIQD5f4b0aA2mAGRJrwePdjZqa3/UlkZv1fomlDnb4TtyDwIgLMsMkY31jdx/c1wpl2J+LvwkgtvfktqPfX5HikqFFiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":971031},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-8.4.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-8.4.6.tgz","_integrity":"sha512-Qlvkx+nsxJIWJ4V3fOM7ndZ7aErLxRWmM3zI8waCEV10XbUuYvOpXuSosjmxjVd4q2wbLbKdACCkNjvEqt9MDg==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","minimatch":"^10.2.2","robots-parser":"^2.1.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_8.4.6_1772816900078_0.8982386419541448","host":"s3://npm-registry-packages-npm-production"}},"8.4.9":{"name":"@_nazmiforreal/infected","version":"8.4.9","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@8.4.9","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"80e812dad5273954a50eff71410c192a35d220d1","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-8.4.9.tgz","fileCount":110,"integrity":"sha512-KcQ+Exbg2WT+eC/OigeflF0EzQSV9j5Kuc8sdFaTwqBICUDxx5WCfUuIuSwddP+wEVo4mSgeM2sCyYh6YmJVQg==","signatures":[{"sig":"MEQCIHSa385BttN0bzf6VuzkDmk/Jxy3KUj/qgQXkDQMonrtAiBr8Ynxauj/k13uMWgy98YVD80XTViWf93OM5H32KpDlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087670},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-8.4.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/root/sandbox/infected/_nazmiforreal-infected-8.4.9.tgz","_integrity":"sha512-KcQ+Exbg2WT+eC/OigeflF0EzQSV9j5Kuc8sdFaTwqBICUDxx5WCfUuIuSwddP+wEVo4mSgeM2sCyYh6YmJVQg==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","robots-parser":"^2.1.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_8.4.9_1772962203212_0.986525167777959","host":"s3://npm-registry-packages-npm-production"}},"9.2.7":{"name":"@_nazmiforreal/infected","version":"9.2.7","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.2.7","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"72ecd3e64e33549b79573ad43aeeda93a83ab585","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.2.7.tgz","fileCount":109,"integrity":"sha512-JLIIHB7TAe3Hixlx7igVpmlcaM26K568aLrbjCLn2YNDmybu9T9nEEoCWMMH98G9eLI6/AwLvX/J4tOUmQHZdw==","signatures":[{"sig":"MEYCIQC+yodtfI5t47IfxZS8nkwHzC6yZh7R3AFhGEG7ziHNOwIhAKGOT0IAxOIxK7p65U3osjAsGVdLrT5+CR5xM/kYuZRb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101288},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-9.2.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-9.2.7.tgz","_integrity":"sha512-JLIIHB7TAe3Hixlx7igVpmlcaM26K568aLrbjCLn2YNDmybu9T9nEEoCWMMH98G9eLI6/AwLvX/J4tOUmQHZdw==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","robots-parser":"^2.1.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.2.7_1772992948289_0.7785914715515463","host":"s3://npm-registry-packages-npm-production"}},"9.2.9":{"name":"@_nazmiforreal/infected","version":"9.2.9","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.2.9","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"89f54a347faf697e72cc7836b4c083d6bfaf6604","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.2.9.tgz","fileCount":109,"integrity":"sha512-yCFQteA1k39yUI4ymkN2+K09eBt/EywyMhr1cgqOQqFtRopZI+GP+syXhEA8Vl5PCLOMcnv4e1kxs52K43IQ6w==","signatures":[{"sig":"MEYCIQDTHoqT3CEGDgKcvznJtsn7D27YQCmPlJJgtTPAOqhfrwIhAPLGhVZwVrtsnM/pHah7wezDKdpYOLqKLsE7QjqJu9IO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1102029},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-9.2.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-9.2.9.tgz","_integrity":"sha512-yCFQteA1k39yUI4ymkN2+K09eBt/EywyMhr1cgqOQqFtRopZI+GP+syXhEA8Vl5PCLOMcnv4e1kxs52K43IQ6w==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","robots-parser":"^2.1.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.2.9_1773035879095_0.8722138220892761","host":"s3://npm-registry-packages-npm-production"}},"9.3.0":{"name":"@_nazmiforreal/infected","version":"9.3.0","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.3.0","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"4047b833a91b3bdfdfc1e4ca9d011784727a32af","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.3.0.tgz","fileCount":109,"integrity":"sha512-HLm2JsVXETy66x8hWairEqXr1oahURFMJEVO95Xyqp0LAtXEtAu4uHTmXk1MPWf8XSX9qeQ9sxgCl6PO9uBy/w==","signatures":[{"sig":"MEUCIQDc8i6EXPDmMo6jwEgWY7xrKI9odeDDtqr2z5RF+DLJRwIgHFvC2yFBhEn5fioOpOY/YwxE9SYClNW0dRLScC38vO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101970},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-9.3.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-9.3.0.tgz","_integrity":"sha512-HLm2JsVXETy66x8hWairEqXr1oahURFMJEVO95Xyqp0LAtXEtAu4uHTmXk1MPWf8XSX9qeQ9sxgCl6PO9uBy/w==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.3.0_1773050507387_0.21704328899355207","host":"s3://npm-registry-packages-npm-production"}},"9.4.0":{"name":"@_nazmiforreal/infected","version":"9.4.0","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.4.0","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"d825bb7357aa932f338b632ad34608f1302bda08","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.4.0.tgz","fileCount":109,"integrity":"sha512-+HXulPfAjrGtHAS2mJbTg9SlVJSkEMMKL4lG4f04b5pZJELW/UAd3YqoQ0OfFk/by4S5Xly6VloW5vAGYZVa5Q==","signatures":[{"sig":"MEUCIDm5zVv5REUQUrj5KqvXQOi1mhYXqeSP5zKhGbwnk/XDAiEAu5fEPcb1uMLSHPtTB0GK/A9yUpW9iidLyvrUrK/yJKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1110113},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-9.4.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-9.4.0.tgz","_integrity":"sha512-+HXulPfAjrGtHAS2mJbTg9SlVJSkEMMKL4lG4f04b5pZJELW/UAd3YqoQ0OfFk/by4S5Xly6VloW5vAGYZVa5Q==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.4.0_1773306021728_0.18958789947807286","host":"s3://npm-registry-packages-npm-production"}},"9.5.0":{"name":"@_nazmiforreal/infected","version":"9.5.0","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.5.0","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"35540e089307dbe6056c4270b9c985c9971203fe","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.5.0.tgz","fileCount":109,"integrity":"sha512-sUD6q292cmBN60UrcpeCcA8kbxDQCUdBRfbtYQ0dQwUeJVx+hhgfK2j5EZC/k0zwUQirQhM4s9+lji7J1Q+Evw==","signatures":[{"sig":"MEYCIQDpBYTzJyyVFdMyHPPPFuthJnSZd5M113R9BDQntYfNvwIhAMJVLLHauvFYob1Ms6LzVwLNMvn39is0OXI/knkmIaGX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1110113},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-9.5.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-9.5.0.tgz","_integrity":"sha512-sUD6q292cmBN60UrcpeCcA8kbxDQCUdBRfbtYQ0dQwUeJVx+hhgfK2j5EZC/k0zwUQirQhM4s9+lji7J1Q+Evw==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.5.0_1773489068009_0.5838797976605381","host":"s3://npm-registry-packages-npm-production"}},"9.5.1":{"name":"@_nazmiforreal/infected","version":"9.5.1","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@9.5.1","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"d9f6d4275d9f266e0ee66b34e813bbca3358de74","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-9.5.1.tgz","fileCount":131,"integrity":"sha512-BraypasXkPYWcF34c8O1T+31tug+C4Vv484arYHmAD8jChgcAzZYhR9zWx7R6++M4D9doB3ABQrHLdbYSaux8g==","signatures":[{"sig":"MEYCIQCCydyW+wYU/dfCNJcCKVVa5LSbqW3FINeyoHG9O7BatQIhAMQ3wvWAdWK/+ewgqs7pSdg9q//u+hxgtf9JEQ+ZH6aJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1395621},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1c0c33dd3485c46710a3e907f59333162813f2f5","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_npmVersion":"11.11.1","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_9.5.1_1773490373437_0.3181199886536692","host":"s3://npm-registry-packages-npm-production"}},"10.9.4":{"name":"@_nazmiforreal/infected","version":"10.9.4","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.9.4","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"ec125385ab3788491d02093df9ed0f25f3e2e70a","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.9.4.tgz","fileCount":232,"integrity":"sha512-2NcU2mdCd1qQwVmmUsAwXlK/GZgLHnO4eCaBCCDwtWzkFWyks/VndoqR8zx14LIvnzr9yo0JdL9VmNNUf6H/5w==","signatures":[{"sig":"MEYCIQDi322xQcfGshDjcOmDSlh0N1uKDRlXwC3QHZ0khTMbngIhAIUh+M8SMsFFX/u8hSNsAR9PeUEVotftp7lvnTKCWYOU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2655217},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cd5f6fe734a5a5dd41cd9a1e2876efcf8769b0b6","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run build && npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_npmVersion":"11.11.1","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.9.4_1773670643110_0.6012093453832767","host":"s3://npm-registry-packages-npm-production"}},"10.9.6":{"name":"@_nazmiforreal/infected","version":"10.9.6","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.9.6","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"f85cf9d710be82919145fc593ca2ceaf4a065a47","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.9.6.tgz","fileCount":232,"integrity":"sha512-zdUeMX1RQdyMwPbCI658Y3NIe12ZIj8Pe9vRioOIT0t3As6F1Asb77RH5zxqKLprB66RddY3eHmjwEPf7owctQ==","signatures":[{"sig":"MEYCIQCBIxyT+CBLr6+18Mz3EtEkyL8X73gg4WoxKXbzaR7+9gIhAInqwK2SDTfe4AdYbr2tOm0V80nvC/m7PZ4vqHf98SZk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2658741},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"dbcc412bc0d4c21185ad93794a0fb53cd78b94ff","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run build && npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_npmVersion":"11.11.1","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.9.6_1773697535613_0.28477936591268804","host":"s3://npm-registry-packages-npm-production"}},"10.9.8":{"name":"@_nazmiforreal/infected","version":"10.9.8","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.9.8","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"35ab6df52332b3b71d045134f350552a657f5d38","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.9.8.tgz","fileCount":232,"integrity":"sha512-50pYQIqTSeV0sT6QQ0uIRBdT65veHNRPpuENy3GlL6nxdw8EfV42t5WnmHHW74nXmU1YaMwMVhjTkkZoZ3vIGQ==","signatures":[{"sig":"MEQCIFi+yI70OAwTe+rPxsm0ma66/YZOlYtDdHgBhNpPJELUAiBLAh1RvfiW8yKDJQJ2QZ1XE858IEr+JcXf3CVnPSR+Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2671685},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f18d396ccc26d7f7c88c6f17d631495b86babb40","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_npmVersion":"11.12.0","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.9.8_1773967549229_0.35482353999322025","host":"s3://npm-registry-packages-npm-production"}},"10.10.0":{"name":"@_nazmiforreal/infected","version":"10.10.0","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.10.0","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"00e92cf6ab314cef1535c3fe998cc587142a672e","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.10.0.tgz","fileCount":232,"integrity":"sha512-ob147JFdxaxhZoN2dBr0ksTXmttvU4D4oqP+TsZa0mWlp56t3lupzbD/kxZTvFIJC9hYbBQKCideRPvZBY6T/g==","signatures":[{"sig":"MEYCIQCqqqtv587ly5WiKxSHREv0tknD722/O7C1rDUtBkBcmQIhAMGikZ2mduRh99sGuakITNfCakCRJ1jK7rsTT5vOgehF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2671283},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"626d647e887781ca9549bb7f14a3880e01ba46bd","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_npmVersion":"11.12.0","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.10.0_1774024143906_0.5448430177329417","host":"s3://npm-registry-packages-npm-production"}},"10.10.1":{"name":"@_nazmiforreal/infected","version":"10.10.1","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.10.1","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"8468f8648dbffa657049a147a337c9441ff4ede6","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.10.1.tgz","fileCount":230,"integrity":"sha512-lw9TOxqUulSQPo5X5dO+GksBPuY+7A7iCgroHDPlcak/2K0PJTB9gng5+L8doVSOUTFd5lhAIO7i3PyptsFqKA==","signatures":[{"sig":"MEQCIHfergEqknf4Cqpzu1qkpOoQoLXYfjwdUi84AwuVaoNMAiBTytWGCPiFzapGc32+FqswEcESQVhIdgnktsa9gQdDFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2667614},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-10.10.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-10.10.1.tgz","_integrity":"sha512-lw9TOxqUulSQPo5X5dO+GksBPuY+7A7iCgroHDPlcak/2K0PJTB9gng5+L8doVSOUTFd5lhAIO7i3PyptsFqKA==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.10.1_1774024799946_0.2780529283868225","host":"s3://npm-registry-packages-npm-production"}},"10.10.2":{"name":"@_nazmiforreal/infected","version":"10.10.2","keywords":[],"author":"","license":"ISC","_id":"@_nazmiforreal/infected@10.10.2","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"bin":{"infected":"index.js"},"dist":{"shasum":"f22973af0e1d8dd6a1cc26e4578689983a14750e","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.10.2.tgz","fileCount":230,"integrity":"sha512-4R/5s5FOxseDB/TiIfeyztLLHy7Vym16Dzqk+s962L3T4a9Xs7Sn4k5NzlYc4JdhgMt1BZyUmgu2r3lRN4K8Iw==","signatures":[{"sig":"MEUCIBAvK5f86Oqy2iCbvnbngSBsU+S5uY22wBATxluO7BxtAiEAyZixAfSd0m8eA6PAzIAl9byAxWK2VOn5C6U4kpkfx1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2667614},"main":"dist/index.js","type":"module","_from":"file:_nazmiforreal-infected-10.10.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","pack":"npm run build && npm pack","test":"node --test --import tsx tests/unit/**/*.test.ts","build":"npm run build:server && npm run build:tools","start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","build:tools":"tsc --project tsconfig.tools.json","publish:npm":"npm run pack && npm publish --access public","build:server":"tsc","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-10.10.2.tgz","_integrity":"sha512-4R/5s5FOxseDB/TiIfeyztLLHy7Vym16Dzqk+s962L3T4a9Xs7Sn4k5NzlYc4JdhgMt1BZyUmgu2r3lRN4K8Iw==","_npmVersion":"10.9.4","description":"A unified MCP server for modular operations.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","zod":"^3.22.4","uuid":"^13.0.0","axios":"^1.6.8","chalk":"^5.3.0","jsdom":"^28.1.0","dotenv":"^16.4.1","cheerio":"^1.0.0-rc.12","express":"^4.18.2","winston":"^3.11.0","chokidar":"^5.0.0","inquirer":"^9.2.16","node-pty":"^1.1.0","turndown":"^7.1.3","@types/ws":"^8.18.1","minimatch":"^10.2.2","private-ip":"^3.0.2","robots-parser":"^2.1.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0","@modelcontextprotocol/inspector":"^0.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","ts-node":"^10.9.2","typescript":"^5.3.3","@types/diff":"^7.0.2","@types/node":"^20.11.5","ts-node-dev":"^2.0.0","@types/jsdom":"^28.0.0","@types/cheerio":"^0.22.35","@types/express":"^4.17.21","@types/chokidar":"^2.1.7","@types/inquirer":"^9.0.9","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2"},"_npmOperationalInternal":{"tmp":"tmp/infected_10.10.2_1774077181708_0.3329144880120325","host":"s3://npm-registry-packages-npm-production"}},"10.10.3":{"name":"@_nazmiforreal/infected","version":"10.10.3","description":"A unified MCP server for modular operations.","main":"dist/index.js","type":"module","types":"dist/index.d.ts","bin":{"infected":"index.js"},"scripts":{"start":"mkdir -p logs && npx kill-port 3001 || true && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug nohup tsx src/index.ts > logs/start.log 2>&1 &","dev":"mkdir -p logs && INFECTED_RUNTIME_MODE=development LOG_LEVEL=debug NODE_OPTIONS='--enable-source-maps' tsx watch --clear-screen=false src/index.ts | stdbuf -o L tee logs/dev.log","build:server":"tsc","build:tools":"tsc --project tsconfig.tools.json","build":"npm run build:server && npm run build:tools","pack":"npm run build && npm pack","publish:npm":"npm run pack && npm publish --access public","test":"node --test --import tsx tests/unit/**/*.test.ts","test:watch":"node --test --import tsx --watch tests/unit/**/*.test.ts","test:verbose":"node --test --import tsx --reporter=verbose tests/unit/**/*.test.ts"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/cheerio":"^0.22.35","@types/chokidar":"^2.1.7","@types/diff":"^7.0.2","@types/express":"^4.17.21","@types/inquirer":"^9.0.9","@types/jsdom":"^28.0.0","@types/minimatch":"^5.1.2","@types/node":"^20.11.5","@types/turndown":"^5.0.4","ts-node":"^10.9.2","ts-node-dev":"^2.0.0","tsx":"^4.0.0","typescript":"^5.3.3"},"dependencies":{"@modelcontextprotocol/inspector":"^0.21.1","@modelcontextprotocol/sdk":"^1.26.0","@mozilla/readability":"^0.6.0","@types/ws":"^8.18.1","axios":"^1.6.8","chalk":"^5.3.0","cheerio":"^1.0.0-rc.12","chokidar":"^5.0.0","dotenv":"^16.4.1","express":"^4.18.2","inquirer":"^9.2.16","jsdom":"^28.1.0","minimatch":"^10.2.2","node-pty":"^1.1.0","private-ip":"^3.0.2","robots-parser":"^2.1.0","turndown":"^7.1.3","uuid":"^13.0.0","winston":"^3.11.0","ws":"^8.19.0","zod":"^3.22.4"},"_id":"@_nazmiforreal/infected@10.10.3","_integrity":"sha512-yrYdyHS5TSk1w6fkZ6tS0tJJoxfoyJu9Yrv2/LZ0nrtP8dusMcXy9B08K4kCu4OevrxV6Ra1qAHcePRHeTondA==","_resolved":"/home/runner/work/infected/infected/_nazmiforreal-infected-10.10.3.tgz","_from":"file:_nazmiforreal-infected-10.10.3.tgz","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-yrYdyHS5TSk1w6fkZ6tS0tJJoxfoyJu9Yrv2/LZ0nrtP8dusMcXy9B08K4kCu4OevrxV6Ra1qAHcePRHeTondA==","shasum":"28d3489ddfb128d5fc34806b81dd91474e6b7b69","tarball":"https://registry.npmjs.org/@_nazmiforreal/infected/-/infected-10.10.3.tgz","fileCount":230,"unpackedSize":2675598,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEvi+gtNq0fi07c7zAwZ8vTdGK1hJodJfYwRcclv/UGbAiBbZ3h5dmIPsUooh74rns+sxtc9033TjGomAoqN+J9fXA=="}]},"_npmUser":{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"},"directories":{},"maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/infected_10.10.3_1774077420497_0.24534190378812148"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-06T16:37:03.453Z","modified":"2026-03-21T07:17:00.828Z","1.0.0":"2026-03-05T10:35:05.525Z","9.2.4":"2026-03-05T11:59:48.509Z","1.0.1":"2026-03-05T12:04:18.860Z","1.0.2":"2026-03-06T16:30:49.500Z","8.4.2":"2026-03-06T16:37:03.768Z","8.4.6":"2026-03-06T17:08:20.331Z","8.4.9":"2026-03-08T09:30:03.376Z","9.2.7":"2026-03-08T18:02:28.541Z","9.2.9":"2026-03-09T05:57:59.310Z","9.3.0":"2026-03-09T10:01:47.651Z","9.4.0":"2026-03-12T09:00:21.882Z","9.5.0":"2026-03-14T11:51:08.186Z","9.5.1":"2026-03-14T12:12:53.712Z","10.9.4":"2026-03-16T14:17:23.420Z","10.9.6":"2026-03-16T21:45:35.844Z","10.9.8":"2026-03-20T00:45:49.459Z","10.10.0":"2026-03-20T16:29:04.071Z","10.10.1":"2026-03-20T16:40:00.204Z","10.10.2":"2026-03-21T07:13:01.872Z","10.10.3":"2026-03-21T07:17:00.690Z"},"license":"ISC","keywords":[],"description":"A unified MCP server for modular operations.","maintainers":[{"name":"_nazmiforreal","email":"hyper14917374@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://via.placeholder.com/400x120/00d4ff/ffffff?text=Infected\" alt=\"Infected MCP Server\" />\n</p>\n\n<h1 align=\"center\">Infected MCP Server</h1>\n\n<p align=\"center\">\n  <strong>The Ultimate Unified Model Context Protocol Server for AI Agents</strong>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/npm/v/@_nazmiforreal/infected\" alt=\"npm version\" />\n  <img src=\"https://img.shields.io/npm/l/@_nazmiforreal/infected\" alt=\"License\" />\n  <img src=\"https://img.shields.io/github/last-commit/HYPER12755/infected\" alt=\"Last Commit\" />\n  <img src=\"https://img.shields.io/github/stars/HYPER12755/infected\" alt=\"Stars\" />\n</p>\n\n---\n\n## 🚀 What is Infected?\n\n**Infected** is a powerful, modular, and extensible **Model Context Protocol (MCP) Server** that provides AI agents with universal access to shell commands, filesystem operations, persistent memory, sequential reasoning, HTTP fetching, and SSH capabilities — all through a unified, standardized interface.\n\nThink of Infected as the **\"operating system for AI agents\"** — a single server that transforms your AI assistant into a fully capable agent that can execute commands, manage files, remember conversations, think step-by-step, fetch web content, and connect to remote systems.\n\n### Why Choose Infected?\n\n| Feature | Benefit |\n|---------|---------|\n| **🚀 Unified Platform** | One server, endless capabilities — no need to manage multiple MCP servers |\n| **🔌 Modular Architecture** | Built-in modules + custom tools + plugins = infinite extensibility |\n| **🛡️ Enterprise Security** | LLM-powered command evaluation, permission controls, API key auth |\n| **⚡ High Performance** | Adaptive execution, caching, streaming output, background processing |\n| **🔄 Hot Reloading** | Develop tools and plugins without restarting the server |\n| **🌐 Multi-Transport** | STDIO, HTTP, and SSE — works locally and over the network |\n| **📚 Comprehensive Docs** | Full API reference, examples, and guides |\n\n---\n\n## ✨ Key Features\n\n### 🖥️ Shell Execution\n- Execute shell commands with **foreground**, **background**, **detached**, or **adaptive** modes\n- Real-time output streaming\n- Command history with search and analytics\n- Process monitoring and management\n- Terminal sessions with PTY support\n\n### 📁 Filesystem Operations\n- Read, write, edit, copy, move, and delete files\n- Directory listing with sizes\n- Recursive tree navigation\n- Glob pattern search\n- Path security validation (sandboxed)\n- Atomic write operations\n\n### 🧠 Persistent Memory\n- Knowledge graph storage\n- Entity-relation-observation model\n- JSONL-based persistence\n- Search and query capabilities\n\n### 💭 Sequential Thinking\n- Chain-of-thought reasoning\n- Thought revision tracking\n- Branch exploration\n- Progress notifications\n\n### 🌐 HTTP Fetch\n- REST API integration\n- Web scraping capabilities\n- Custom headers and body support\n\n### 🔐 SSH Terminal\n- Persistent PTY sessions\n- Command execution on remote systems\n- File upload/download\n- Session management\n\n---\n\n## 📦 What's Inside\n\nThe Infected ecosystem is comprised of several integrated components:\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                     Infected MCP Server                          │\n├─────────────────────────────────────────────────────────────────┤\n│                                                                  │\n│   ┌─────────────┐  ┌─────────────┐  ┌─────────────┐            │\n│   │    Shell    │  │ Filesystem  │  │   Memory    │            │\n│   │   Module    │  │   Module    │  │   Module    │            │\n│   │  12 tools   │  │  14 tools   │  │   9 tools   │            │\n│   └─────────────┘  └─────────────┘  └─────────────┘            │\n│                                                                  │\n│   ┌─────────────┐  ┌─────────────┐  ┌─────────────┐            │\n│   │Sequential   │  │    Fetch    │  │     SSH     │            │\n│   │ Thinking    │  │   Module    │  │   Module    │            │\n│   │   Module    │  │             │  │             │            │\n│   └─────────────┘  └─────────────┘  └─────────────┘            │\n│                                                                  │\n│   ┌─────────────────────────────────────────────────────────┐   │\n│   │              Security & Permissions Layer                │   │\n│   │   • LLM-Powered Command Evaluation                      │   │\n│   │   • Permission Manager (Allow/Block Lists)              │   │\n│   │   • API Key Authentication                              │   │\n│   └─────────────────────────────────────────────────────────┘   │\n│                                                                  │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n---\n\n## 📚 Documentation\n\nComprehensive documentation is available to help you get started and master Infected:\n\n| Document | Description |\n|----------|-------------|\n| 📖 **[README.md](README.md)** | Quick start and basic usage |\n| 🏗️ **[STRUCTURE.md](docs/STRUCTURE.md)** | Complete project architecture and file organization |\n| 🛠️ **[GUIDE.md](docs/GUIDE.md)** | Developer guide for creating tools and plugins |\n| ⚙️ **[CONFIGURATION_EXAMPLES.md](docs/CONFIGURATION_EXAMPLES.md)** | Advanced configuration examples |\n| 🌐 **[API_ENDPOINTS.md](docs/API_ENDPOINTS.md)** | HTTP API reference |\n| 🔒 **[MCP_SERVER.md](docs/MCP_SERVER.md)** | MCP server implementation details |\n| 🖥️ **[SHELL.md](docs/SHELL.md)** | Shell module deep dive |\n| ⚡ **[REALTIME-OUTPUT.md](docs/REALTIME-OUTPUT.md)** | Real-time output streaming guide |\n| 📁 **[FILESYSTEM.md](docs/FILESYSTEM.md)** | Filesystem module reference |\n| 🧠 **[MEMORY.md](docs/MEMORY.md)** | Memory module guide |\n| 💭 **[SEQUENTALTHINKING.md](docs/SEQUENTALTHINKING.md)** | Sequential thinking module docs |\n| 🔐 **[SSH.md](docs/SSH.md)** | SSH module documentation |\n\n---\n\n## 🚦 Getting Started\n\n### Installation\n\n```bash\n# Install from npm\nnpm install @_nazmiforreal/infected\n\n# Or clone from source\ngit clone https://github.com/HYPER12755/infected.git\ncd infected\nnpm install\n```\n\n### Quick Start\n\n```bash\n# Configure environment\ncp .env.example .env\ncp infected.config.json.example infected.config.json\n\n# Run in development mode (with hot reload)\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Start production server\nnpm start\n```\n\nThe server runs on `http://localhost:3001` by default.\n\n---\n\n## 💻 Usage Examples\n\n### Execute a Shell Command\n\n```bash\ncurl -X POST http://localhost:3001/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"shell_execute\",\n      \"arguments\": {\n        \"command\": \"ls -la\",\n        \"execution_mode\": \"foreground\"\n      }\n    }\n  }'\n```\n\n### Read a File\n\n```bash\ncurl -X POST http://localhost:3001/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"read_text_file\",\n      \"arguments\": {\n        \"path\": \"./config/app.json\"\n      }\n    }\n  }'\n```\n\n### Store Knowledge in Memory\n\n```bash\ncurl -X POST http://localhost:3001/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"create_entities\",\n      \"arguments\": {\n        \"entities\": [\n          { \"name\": \"ProjectX\", \"entityType\": \"project\", \"observations\": [\"AI-powered\"] }\n        ]\n      }\n    }\n  }'\n```\n\n---\n\n## 🔧 Extending Infected\n\n### Create Custom Tools\n\nTools are the building blocks of Infected. Create your own in the `tools/` directory:\n\n```typescript\n// tools/my-tool/index.ts\nimport { z } from 'zod';\nimport { IUnifiedTool } from '../../src/core/module-system/module-types.js';\n\nconst InputSchema = z.object({\n  name: z.string().describe(\"Name to greet\"),\n  loud: z.boolean().optional().describe(\"Yell?\"),\n});\n\nclass MyTool implements IUnifiedTool {\n  manifest = {\n    id: 'tool.my_tool',\n    name: 'My Tool',\n    version: '1.0.0',\n    type: 'tool',\n    entry: 'index.ts',\n    description: 'A custom greeting tool',\n    inputs: InputSchema,\n  };\n\n  async execute(args: z.infer<typeof InputSchema>) {\n    const greeting = `Hello, ${args.name}!`;\n    return { \n      content: [{ type: 'text', text: args.loud ? greeting.toUpperCase() : greeting }],\n      structuredContent: { message: greeting }\n    };\n  }\n}\n\nexport default MyTool;\n```\n\n### Build Plugins\n\nPlugins can register multiple tools and maintain state:\n\n```typescript\n// plugins/weather/index.ts\nimport { IUnifiedPlugin } from '../../src/core/module-system/module-types.js';\n\nclass WeatherPlugin implements IUnifiedPlugin {\n  manifest = {\n    id: 'plugin.weather',\n    name: 'Weather',\n    version: '1.0.0',\n    type: 'plugin',\n    entry: 'index.ts',\n    description: 'Weather information plugin',\n  };\n\n  async onLoad(context) {\n    context.moduleManager.registerToolExecution(\n      'tool.get_weather',\n      async (args: { city: string }) => {\n        // Implementation here\n        return { temperature: 72, city: args.city };\n      },\n      'get_weather',\n      'Get weather for a city',\n      { city: z.string() },\n      this.manifest.id\n    );\n  }\n}\n\nexport default WeatherPlugin;\n```\n\n---\n\n## 🏗️ Project Architecture\n\n```\ninfected/\n├── src/\n│   ├── index.ts                 # CLI entry point\n│   ├── server.ts               # InfectedServer class\n│   ├── cli/                    # Command-line tools\n│   │   ├── configure.ts       # Interactive setup wizard\n│   │   └── plugin-cli.ts      # Plugin management\n│   ├── config/                 # Configuration management\n│   │   ├── index.ts           # ConfigManager\n│   │   └── schema.ts          # Zod validation schemas\n│   ├── core/                   # Core functionality (27 files)\n│   │   ├── module-system/    # Dynamic module loading\n│   │   ├── process-manager.ts # Command execution\n│   │   ├── terminal-manager.ts# PTY sessions\n│   │   ├── file-manager.ts   # Output file management\n│   │   └── ...               # And more\n│   ├── modules/                # Built-in modules (6)\n│   │   ├── shell/            # Shell execution\n│   │   ├── filesystem/       # File operations\n│   │   ├── memory/          # Knowledge graph\n│   │   ├── sequentialthinking/ # Reasoning\n│   │   ├── fetch/           # HTTP requests\n│   │   └── ssh/             # SSH sessions\n│   ├── security/             # Security & permissions\n│   ├── transports/          # STDIO, HTTP, SSE\n│   ├── types/                # TypeScript definitions\n│   └── utils/                # Utility functions\n├── tools/                    # Custom tools directory\n├── plugins/                  # Plugins directory\n├── docs/                     # Documentation\n└── dist/                     # Compiled output\n```\n\n---\n\n## 🛡️ Security Features\n\nInfected was built with security as a first-class concern:\n\n- **🔑 API Key Authentication** — Protect your server with single or multiple API keys\n- **🛡️ Permission System** — Allowlist/blocklist specific tools\n- **🤖 LLM-Powered Evaluation** — Use AI to analyze commands before execution\n- **📝 Command Auditing** — Full logging of all operations\n- **🚫 Path Sandboxing** — Filesystem access restricted to allowed directories\n- **⏱️ Execution Timeouts** — Prevent runaway processes\n\n---\n\n## 📦 Available Modules & Tools\n\n### Built-in Modules\n\n| Module | Tools | Description |\n|--------|-------|-------------|\n| **Shell** | 12 | Command execution, process management, terminals, interactive sessions |\n| **Filesystem** | 14 | File operations, directory management, search |\n| **Memory** | 9 | Knowledge graph, entities, relations |\n| **SequentialThinking** | 1 | Chain-of-thought reasoning |\n| **Fetch** | 2 | HTTP requests, web scraping |\n| **SSH** | 7 | Remote execution, file transfer |\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our contributing guidelines:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Submit a pull request\n\n---\n\n## 📄 License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n---\n\n## 🙏 Acknowledgments\n\n- [Model Context Protocol SDK](https://github.com/modelcontextprotocol) — The foundation of Infected\n- All contributors and community members\n\n---\n\n<p align=\"center\">\n  <strong>Built with ❤️ for AI Agents Everywhere</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/HYPER12755/infected\">GitHub</a> •\n  <a href=\"https://npmjs.com/package/@_nazmiforreal/infected\">npm</a> •\n  <a href=\"docs/GUIDE.md\">Documentation</a>\n</p>\n","readmeFilename":"README.md"}