{"_id":"@agenshield/daemon","_rev":"15-7ea2f15cb1c791fa3d7c589e06fd6d1e","name":"@agenshield/daemon","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"@agenshield/daemon","version":"0.1.0","license":"MIT","_id":"@agenshield/daemon@0.1.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"949dd8a1b52294543312809d8c3fba7ae91271c0","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.1.0.tgz","fileCount":124,"integrity":"sha512-xHF/5YqLqXDM97kBztFMYSBWPT7lXhz4Z0bhU+rdr4lRDn88KdGw0pfoprmV4ao64rGasD4UK7nc+0iq8uTZMA==","signatures":[{"sig":"MEQCIHXqNImGyBsLVNH5c/bzz08r73xzP4jD155FIrqYMslIAiB/LxlrAkwk+7BmxOQ5/IBuMrDRArBwISkpXbTFytQijw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2528921},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"1436122a0c4e547243310e5e33581a048656190d","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.1.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.1.0","@agenshield/sandbox":"0.1.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.1.0_1770343904921_0.09148723788801849","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agenshield/daemon","version":"0.2.0","license":"MIT","_id":"@agenshield/daemon@0.2.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"ff22a2ba54f20963bc73d8cb1a2ff35f206b38e7","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.2.0.tgz","fileCount":124,"integrity":"sha512-MrxJmv9vfKZJeBTSa/s2OvyyY3XgaKJAkHpdtbSuqwfl7PoGjjhNxLFcQuMi3RAI9eCN89MV10ZZgbysAELocA==","signatures":[{"sig":"MEUCIAljl9g0JMF9jR7agl42gjBPumlXhnBr0BMJ73DyQHUpAiEAmyAqDxKczI0jCYbOa+nPsnXwrAEj9rJRcl93NJA5ovk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2528921},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"1436122a0c4e547243310e5e33581a048656190d","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.2.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.2.0","@agenshield/sandbox":"0.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.2.0_1770345196847_0.737566184068376","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agenshield/daemon","version":"0.3.0","license":"MIT","_id":"@agenshield/daemon@0.3.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"5e666e130467fab100fb9dad51e7a753209e782a","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.3.0.tgz","fileCount":124,"integrity":"sha512-DdGjvoCpxsa6B5DZlX4KUI1wWa3+PF3ohf3XZ65eFAbecH1Vhi4Oz9frHBRZ8IxQlqAEfRJTm55Snr3adrU2Dw==","signatures":[{"sig":"MEYCIQD24Fb52Bci7fjvG/KbBuQMb6uqjQP+s82rvT92NnuutwIhAOuXEDefkYLmK5G5GiC3H+2nx5WuTlU3jv5GS8ph3P8i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2528921},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.3.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.3.0","@agenshield/sandbox":"0.3.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.3.0_1770346771371_0.7025424612417892","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agenshield/daemon","version":"0.4.0","license":"MIT","_id":"@agenshield/daemon@0.4.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"fcd744aa0f8061f5e6d894b86ef932d214a72f77","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.4.0.tgz","fileCount":124,"integrity":"sha512-pOzXrgaZ9vACX1Roe6Qhnssj7MhCDxIdKZNOQAJNZjLGfcuzcPR59frRfpJK2KxVQkb1xL3PppXfbFt85YvXRg==","signatures":[{"sig":"MEQCIBn5hysdxgLTwTtVx1SZOT+5wdD9Uk2iMn5xqDQ6faenAiBIycm8p3k4kqozGndorFIrxndFVgKiZMrET6lq7PUkmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2529184},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.4.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.4.0","@agenshield/sandbox":"0.4.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.4.0_1770347513154_0.44195273961904347","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@agenshield/daemon","version":"0.4.1","license":"MIT","_id":"@agenshield/daemon@0.4.1","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"592805210be6aa9e9c4847090db934aeb475b706","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.4.1.tgz","fileCount":124,"integrity":"sha512-Uq7d0vyG+o3Vy49w7DN1Ks/zkHETcO1quJfdClqiDWfVSOWhCSbGBS4ytjUbhlOtD6EzrqCoBhHzJ3qZmgGs6g==","signatures":[{"sig":"MEUCIQCCrra2dDMUEKqReMNfGKNFKpuvf9xspYIyReafoQPtKAIgTesMBeLEvInitZ6vL3kxvgr7uiF1Bc8vKpyy70Cdw8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2529184},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.4.1","@fastify/static":"^8.3.0","@agenshield/broker":"0.4.1","@agenshield/sandbox":"0.4.1","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.4.1_1770348768900_0.8499609800805601","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@agenshield/daemon","version":"0.4.2","license":"MIT","_id":"@agenshield/daemon@0.4.2","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"bb62c86833c55f22d70b70e298d8907fe053575e","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.4.2.tgz","fileCount":124,"integrity":"sha512-C10K6z/pJldDoGH5I7R+mjNzEVmG300Q3WAEk7U7B4JdNBSmGWRHA0K82Rwz1nAW5hU7pkvD7eCcRcgNjo06yg==","signatures":[{"sig":"MEYCIQD2YrYiUAl/r+E9aeDzympC4DuW5RQu+WF4WbNU3XlltAIhAPUu2O1mQ/TQEC0lJjnJFjXeSDmWRpnbX0wL87AGfg+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2529050},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.4.2","@fastify/static":"^8.3.0","@agenshield/broker":"0.4.2","@agenshield/sandbox":"0.4.2","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.4.2_1770349848683_0.08161494142966874","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@agenshield/daemon","version":"0.4.3","license":"MIT","_id":"@agenshield/daemon@0.4.3","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"81e88c089e810a44779f0d29bc1fea891ea6ec67","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.4.3.tgz","fileCount":124,"integrity":"sha512-d36d5RsAOuzjXFxjurjJB9WHfcGKpHklNvdJRilPC1f0HRC0uPNs/q66JRZVM2hmGDtGX53DpX5LTJODMgL/Rg==","signatures":[{"sig":"MEUCIQChJnhiTQsvR00MaQwpFzt7MhwssB6I+t3uZ66nYbww6gIgEpwPEqPgAunjb+n+BWjSEvASVV5gMXMCfNta+1P2mMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2529968},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.4.3","@fastify/static":"^8.3.0","@agenshield/broker":"0.4.3","@agenshield/sandbox":"0.4.3","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.4.3_1770351039535_0.6481865164683507","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@agenshield/daemon","version":"0.4.4","license":"MIT","_id":"@agenshield/daemon@0.4.4","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"cd679d1e320cd0365d314794e56e2fcf219d6e2b","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.4.4.tgz","fileCount":126,"integrity":"sha512-0nQKHOjhmZooJfwzIybA7JMY6AfcAe+kdTQiacYW55NTBpzz+bTr9zEXsg3j5dCOMrqXrYlD4o5qsnUARbeilQ==","signatures":[{"sig":"MEUCIQDpUVAl491eFCnidWXvCEnj79XGTqepHOMpDTQfIeclogIgATwwA2Vpyb73V5yBTNKbyPBW3bq/aau7dWI2LgE0r54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2536351},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"bdcfc09294e7e79da87e60ebd753a192ad908977","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.4.4","@fastify/static":"^8.3.0","@agenshield/broker":"0.4.4","@agenshield/sandbox":"0.4.4","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.4.4_1770356675306_0.05484683361319176","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agenshield/daemon","version":"0.5.0","license":"MIT","_id":"@agenshield/daemon@0.5.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"e2c7ad42cbb0a6985d893928150e809757a0cbce","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.5.0.tgz","fileCount":126,"integrity":"sha512-eVui9RI5VEOF9kK0c6ZA667yxqsp4058ERXSQ+p7mstfr5/nPOz9MHMI0NMDAgpJ199O+5Ge4E41NaX1t8wlDQ==","signatures":[{"sig":"MEUCIAde9f2I6CF8tB4oAvW3MBWo/zNweXPKVf63wGqfITIaAiEApwtsDxkCCZMNmjBU+yxnFggi8waJWd+fyhGPIwRAkaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2547426},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"6455ebe7147c8db98171e1f660ce94e3470e792f","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.5.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.5.0","@agenshield/sandbox":"0.5.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.5.0_1770363463729_0.3961368027654786","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agenshield/daemon","version":"0.6.0","license":"MIT","_id":"@agenshield/daemon@0.6.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"4b175c118394a75a5ea0aedba7772eac7622081f","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.6.0.tgz","fileCount":128,"integrity":"sha512-gZfCuvm7YKgE3GlTg/AqqZEbA/4XrnnQL5HtIJxkRmM+IIiy/rbj+huKcCuXYpLs4gCVJ8PcBljwZ3bTt9y4ag==","signatures":[{"sig":"MEYCIQDzsTbBiu0RcuHLwaIKIG0V2yxYAv+ViDVhD8gT4v4MAQIhAOTMGZnLXyS+uPySjqEbk/0j4JY4bDLHAcIvANeuDxnW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2560235},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"41aad9df3810faf60d3ba8f02f60c2fb2eeab5d8","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.6.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.6.0","@agenshield/sandbox":"0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.6.0_1770402516895_0.10788214717222999","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@agenshield/daemon","version":"0.6.1","license":"MIT","_id":"@agenshield/daemon@0.6.1","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"daac8abe0103336bb8e2b4844eee43625355892c","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.6.1.tgz","fileCount":126,"integrity":"sha512-POs4THyOmj82tyu782Qhjj5b3ZYYGN4afbi0bYSafbiWurd/casTBDMo1B2FgK7qEh1cA6exwO1ktm5ijVuR3A==","signatures":[{"sig":"MEQCIBdltdijI+6UwlSuZOvo/T3iINGYnStXxU5mFTq+OUf1AiAuL5ahJHIH8wEqAEwjW865xpASIxA2RQwaL4BB0A8uYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2571901},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"29023ecff757f5fa9f7843b4d57f4ea0314377b4","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.6.1","@fastify/static":"^8.3.0","@agenshield/broker":"0.6.1","@agenshield/sandbox":"0.6.1","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.6.1_1770413225997_0.8751215312371456","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@agenshield/daemon","version":"0.6.2","license":"MIT","_id":"@agenshield/daemon@0.6.2","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"6a4bc9f5754c7c66d97e7af7f1187a47bb698108","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.6.2.tgz","fileCount":126,"integrity":"sha512-oskeuXr+zniPo2DnDXf9dZ6G2EwYwawVdkL8WRbaSxJFpUgeqLwwR5p812f2vwH7hx9PpLm8TUhQG/IlBWuDpA==","signatures":[{"sig":"MEUCICdonXREBBVd4IqZ266ZN7LS7VD4ArCNxyxOL1MQb/+5AiEAxb+tc5mFK/0eZyb5dM2OsWI5tENqTQokI765OEeZ9jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2572166},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"29023ecff757f5fa9f7843b4d57f4ea0314377b4","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.6.2","@fastify/static":"^8.3.0","@agenshield/broker":"0.6.2","@agenshield/sandbox":"0.6.2","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.6.2_1770415925082_0.06136972696624032","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agenshield/daemon","version":"0.7.0","license":"MIT","_id":"@agenshield/daemon@0.7.0","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"073922e21ec07bed5f7812c939e19c93cf895bbd","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.7.0.tgz","fileCount":138,"integrity":"sha512-9HKkvVrfatYvGnGPnuY5kBYLFSFLZM7aV3+MLy1uGW6MKMp3wpKyehAjPujIfn3qjywFjrudajMKY/VJ5DyZaw==","signatures":[{"sig":"MEUCIGHOw11Nmn4n+pmMa9blIX3+phS8xbZZ/BMbqL17wM3/AiEAlY75PEYeByS4HeoLfrxlfqDuoPtP/7GIqLtUsnND1aE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2813322},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"95ae2337cf2ef30ebfad0284c2f8263c4633e5aa","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.7.0","@fastify/static":"^8.3.0","@agenshield/broker":"0.7.0","@agenshield/sandbox":"0.7.0","@agenshield/integrations":"0.7.0","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.7.0_1770584725686_0.5258696870087214","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@agenshield/daemon","version":"0.7.1","license":"MIT","_id":"@agenshield/daemon@0.7.1","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"bin":{"agenshield-daemon":"main.js"},"dist":{"shasum":"77ef6a8251c85a4eb68f8016b72693f06763e373","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.7.1.tgz","fileCount":140,"integrity":"sha512-JQ94yoQC008Xhu/GVDIcd50BYEYv0sIUJXI8gGPzRIaTlBlKWwS/WPDFKzvHlSuxVP8untgaqexhTvLir1zvMg==","signatures":[{"sig":"MEQCIFcmyIXHKdok3IsW731eu7f7fu+KEJUo5wDgGN/IKnwkAiAr1g+mYzCd6Wo3YRFqvUXt0dG5MY/mQK4mVzkx4gfoOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2835441},"main":"./index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json"},"gitHead":"3b9e9f8a23b3477169d3206443b1d5ea42bfcc93","_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"_npmVersion":"11.6.2","description":"AgenShield HTTP daemon server with embedded UI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^4.3.6","jszip":"^3.10.1","fastify":"^5.7.0","@fastify/cors":"^11.0.0","@frontmcp/sdk":"^0.8.1","@agenshield/ipc":"0.7.1","@fastify/static":"^8.3.0","@agenshield/broker":"0.7.1","@agenshield/sandbox":"0.7.1","@agenshield/integrations":"0.7.1","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/daemon_0.7.1_1770593471793_0.0454960723612845","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@agenshield/daemon","version":"0.7.2","type":"module","description":"AgenShield HTTP daemon server with embedded UI","main":"./index.js","types":"./index.d.ts","bin":{"agenshield-daemon":"main.js"},"exports":{"./package.json":"./package.json",".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"}},"license":"MIT","dependencies":{"@agenshield/integrations":"0.7.2","@agenshield/ipc":"0.7.2","@agenshield/broker":"0.7.2","@agenshield/sandbox":"0.7.2","@modelcontextprotocol/sdk":"^1.26.0","fastify":"^5.7.0","zod":"^4.3.6","@frontmcp/sdk":"^0.8.1","@fastify/static":"^8.3.0","@fastify/cors":"^11.0.0","jszip":"^3.10.1"},"devDependencies":{"@types/node":"^24.0.0","tsx":"^4.21.0","typescript":"^5.9.3"},"gitHead":"3adc5ac7b5ba865ef9b374e500bd061940f24313","_id":"@agenshield/daemon@0.7.2","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-DjIVvR9sp8ZiPpv1rtVUo9dE5Px5KE3OypEPpp85H0eoCb9tX24JQkyCnYfxhFyP6TfODhmahjSghrdN9AZZqw==","shasum":"20df8069fa4ef532006295342cc99acc8231d47c","tarball":"https://registry.npmjs.org/@agenshield/daemon/-/daemon-0.7.2.tgz","fileCount":144,"unpackedSize":2859192,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAMigPOSkSH/3jLTmAqdgXVWNNb7vDybI/all84+XkWNAiAQpY//sNXDOHGTBp3QNCPXuMAL/Jz9a8BqtOODMKwxLg=="}]},"_npmUser":{"name":"davidfrontegg","email":"david@frontegg.com"},"directories":{},"maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/daemon_0.7.2_1770601566720_0.11044230173635605"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-06T02:11:44.821Z","modified":"2026-02-09T01:46:07.078Z","0.1.0":"2026-02-06T02:11:45.091Z","0.2.0":"2026-02-06T02:33:17.127Z","0.3.0":"2026-02-06T02:59:31.589Z","0.4.0":"2026-02-06T03:11:53.437Z","0.4.1":"2026-02-06T03:32:49.086Z","0.4.2":"2026-02-06T03:50:48.898Z","0.4.3":"2026-02-06T04:10:39.747Z","0.4.4":"2026-02-06T05:44:35.552Z","0.5.0":"2026-02-06T07:37:43.907Z","0.6.0":"2026-02-06T18:28:37.148Z","0.6.1":"2026-02-06T21:27:06.210Z","0.6.2":"2026-02-06T22:12:05.262Z","0.7.0":"2026-02-08T21:05:25.956Z","0.7.1":"2026-02-08T23:31:11.992Z","0.7.2":"2026-02-09T01:46:06.927Z"},"license":"MIT","description":"AgenShield HTTP daemon server with embedded UI","maintainers":[{"name":"davidfrontegg","email":"david@frontegg.com"}],"readme":"# @agenshield/daemon\n\nAgenShield daemon is a Fastify-based HTTP service that exposes the management API and (optionally) serves the embedded UI. It is separate from the broker: this daemon focuses on control-plane operations, status, and UI interactions.\n\n## Purpose\n- Provide a local HTTP API for status, config, and security checks.\n- Serve the management UI if assets are present.\n- Stream live events over Server-Sent Events (SSE).\n- Handle passcode authentication and session management.\n- Offer AgenCo integration for MCP tool access.\n\n## Key Components\n- `src/main.ts` - Entry point, PID file handling, and server startup.\n- `src/server.ts` - Fastify server setup + static UI serving.\n- `src/routes/*` - HTTP endpoints and SSE routes.\n- `src/auth/*` - Passcode hashing, session manager, auth middleware.\n- `src/config/*` - Config loader and defaults.\n- `src/state/*` - Persistent state file management.\n- `src/vault/*` - Encrypted vault for tokens/secrets.\n- `src/watchers/*` - Background watchers (security status).\n- `src/events/*` - Event emitter feeding SSE.\n\n## API Overview\nBase prefix is `/api` (see `@agenshield/ipc` constants).\n\nCore endpoints:\n- `GET /api/health` - Health check.\n- `GET /api/status` - Daemon status + version.\n- `GET /api/config` - Current config.\n- `PUT /api/config` - Update config.\n- `GET /api/security` - Security status snapshot.\n\nWrappers:\n- `GET /api/wrappers` - List available wrappers.\n- `GET /api/wrappers/:name` - Wrapper details + generated content.\n- `GET /api/wrappers/status` - Installed status.\n- `POST /api/wrappers/install` - Install wrappers.\n- `DELETE /api/wrappers/:name` - Uninstall wrapper.\n- `PUT /api/wrappers/:name` - Update wrapper.\n- `POST /api/wrappers/custom` - Add a custom wrapper.\n- `DELETE /api/wrappers/custom/:name` - Remove a custom wrapper.\n- `POST /api/wrappers/sync` - Sync wrapper set based on policy.\n- `POST /api/wrappers/regenerate` - Regenerate installed wrappers.\n\nAuth:\n- `GET /api/auth/status`\n- `POST /api/auth/setup`\n- `POST /api/auth/unlock`\n- `POST /api/auth/lock`\n- `POST /api/auth/change`\n- `POST /api/auth/refresh`\n- `POST /api/auth/enable`\n- `POST /api/auth/disable`\n\nAgenCo:\n- `POST /api/agenco/auth/start`\n- `POST /api/agenco/auth/callback`\n- `GET /api/agenco/auth/status`\n- `POST /api/agenco/auth/logout`\n- `POST /api/agenco/tool/run`\n- `GET /api/agenco/tool/list`\n- `GET /api/agenco/tool/search`\n- `GET /api/agenco/integrations`\n- `GET /api/agenco/integrations/connected`\n- `POST /api/agenco/integrations/connect`\n\nSSE:\n- `GET /sse/events?token=...`\n- `GET /sse/events/:filter?token=...`\n\n## Authentication Model\n- Passcodes are hashed with PBKDF2 and stored in the encrypted vault.\n- Sessions are in-memory only (lost on daemon restart).\n- Tokens can be supplied via `Authorization: Bearer <token>` or `?token=...` for SSE.\n- Root users bypass authentication.\n- Only selected routes are protected when passcode protection is enabled.\n\n## Configuration and State\n- Config file: `~/.agenshield/config.json`\n- State file: `~/.agenshield/state.json`\n- Vault file: `~/.agenshield/vault.enc` (encrypted with machine-bound key)\n\nDefaults are defined in `@agenshield/ipc` and `src/config/defaults.ts`.\n\n## Limitations and Caveats\n- No HTTPS/TLS built in; intended for localhost use.\n- CORS is fully enabled for development.\n- Sessions are not persisted; tokens become invalid after restart.\n- Wrapper operations depend on `@agenshield/sandbox` (macOS-specific).\n- SSE is best-effort; no replay or persistence of events.\n- Default wrapper target dir is hardcoded to `/Users/clawagent/bin`.\n\n## Roadmap (Ideas)\n- Persisted sessions and stronger auth/scopes.\n- OpenAPI schema for clients.\n- Cross-platform wrapper management.\n- Metrics and health probes beyond `/health`.\n\n## Development\n```bash\n# Run directly\nnpx tsx libs/shield-daemon/src/main.ts\n\n# Build\nnpx nx build shield-daemon\n```\n\n## Contribution Guide\n- Add new routes in `src/routes/` and register in `src/routes/index.ts`.\n- Update `src/auth/middleware.ts` if new endpoints need protection.\n- Keep response shapes aligned with `@agenshield/ipc` types.\n- Emit SSE events through `src/events/emitter.ts` for UI reactivity.\n\n## Agent Notes\n- `startServer()` starts the security watcher; remember to stop it on shutdown.\n- The UI assets are served from `ui-assets` (prod) or `dist/apps/shield-ui` (dev).\n- AgenCo tokens are stored in the vault; expect network calls to the MCP gateway.\n- Config updates are persisted via `src/config/loader.ts` (JSON + Zod).\n","readmeFilename":"README.md"}