{"_id":"@true-and-useful/janee","_rev":"43-0253c72db246efdcddb96ce59efeed21","name":"@true-and-useful/janee","dist-tags":{"latest":"0.16.0"},"versions":{"0.1.0":{"name":"@true-and-useful/janee","version":"0.1.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"Ross Douglas & David Wilson"},"license":"MIT","_id":"@true-and-useful/janee@0.1.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://github.com/rsdouglas/janee#readme","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"2e20d28faf90c6bfbfc06ce61110b57601d67480","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.0.tgz","fileCount":67,"integrity":"sha512-4/kk4GFIepl0uwQXNwtD2zXZ5JYDLnByzWn39XxoB7TppC11hn99xgECoQ0jT4fFXGTPlJVAegLxwVVcwDTHwQ==","signatures":[{"sig":"MEUCIQC9o7xjOyPuS/dOHqscLkS454szioO1x2sRqi2akeS/awIgTF9EJ8zZ7l3mDO1lLN2/GgVcwRoBkjLyTx9MvRH1C1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139520},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"f0ecebf5875fce6e34137f6d78e3fcb22fe5fa54","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.0_1770105403385_0.5146420484780743","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@true-and-useful/janee","version":"0.1.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://github.com/rsdouglas/janee#readme","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"ef2ab783a1d188637772281d4b766e91d6b55dbc","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.1.tgz","fileCount":67,"integrity":"sha512-nCLPVBPK23mAoqAy2D13dJ7nLy475CrnD0mX2a1pwTLBOo8easVKGKvhMFUdV1LkCmDYMlUksLz5Z7OhyouWuQ==","signatures":[{"sig":"MEUCIGabC0nCxR3+BkBItCD87ZxUpqxk30tpI0qz6i5V137JAiEAovgwzLNAf93pMMr0HLpcAkr/iJq0ZW7PSRBsBV91Fq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146455},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"fb8c5ad607addf5dda5dadf339ec0c8f9b8fda47","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.1_1770112392550_0.17704547915129454","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@true-and-useful/janee","version":"0.1.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://github.com/rsdouglas/janee#readme","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"2bb0f38db0f889e3c4f1de5dbbedc83e41678d22","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.2.tgz","fileCount":67,"integrity":"sha512-sB1cvHJWcyccSjHebzyVvL+PWhaBycPH/pDxcFuwhmZBfveWcUf7khFjbMA5dl+LxawOXMi7KrR8MFmZbOJbGg==","signatures":[{"sig":"MEQCICn2a3GqAbOYyt+SUAtstDMjEfWsD+t8F+WZFfrSEAiUAiBYIbe4Qh98WiBQlEFOUdIrh3j3zy1sCOeTg2xpsaX+hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153083},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"3c45fa624aa5c24b52a336565fbc9e9a806c6cd0","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.2_1770127403675_0.4332847937828668","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@true-and-useful/janee","version":"0.1.3","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.3","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://github.com/rsdouglas/janee#readme","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"6b3d648febe59559694c7a9c6f7001ec3faa78e5","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.3.tgz","fileCount":67,"integrity":"sha512-GoLQsZ81esv5JAbx4i0nWkBvxszJeOd39k8wy3LEECF0/EWK6Y0FjQfglgXdQ+yYtPasrbgW1OsU/dTJtDhQfQ==","signatures":[{"sig":"MEUCIQDXQnOsC+jhbqwDrOrAadUF/Om3T5MjsDK9FMr4zN98iAIgPsFztYGVGOrJI6iIjHv3FV48BeL4QgTiVKJwFFOOWks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153670},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e6f41593b08d3a510e54c23cb715bab0c2ae31c7","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.3_1770142265927_0.5793558421602749","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@true-and-useful/janee","version":"0.1.4","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.4","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://github.com/rsdouglas/janee#readme","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"4715e2c92d0485292fab8aafed9e7767f82acd2c","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.4.tgz","fileCount":79,"integrity":"sha512-qI4tgJCETPlv21HasddhHEgoaYIXos76lxUKeyc2p3p9xCQx6hYXZojda2FUy/ryWvVqEO2wjY1Qb+j4c5du7w==","signatures":[{"sig":"MEQCIDsj4/w8WB/OtnaRMXP3rI69XUGITw6XnDskWHUNdlHfAiAQh8urRksoaNNVtu+Kzxw9L45cWne9kdrytnYmgj9t0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186643},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"7c1204969e3edeaadcaa73aad2d464c05a6a6e5e","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.4_1770147379199_0.26514937538902084","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@true-and-useful/janee","version":"0.1.5","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janaborhood","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.5","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"9b03b6259ddfc7860df2c0a2d4b589d8442dc424","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.5.tgz","fileCount":79,"integrity":"sha512-7lOexOxT01F9Ir/UU4A3qcvrWu1t347Vk+u+3K3lT32gg8MMtoQhi4meFiwhAWorngXKDxlkYeqJl7G5Ndp1tw==","signatures":[{"sig":"MEQCICTDdKWCiHy6hvJ4i1sc2fZHCo5vekgsUDZmTxL7v/ogAiAxts6gXhC99isivjHw63WsffyDdSZAYpcgJJyG/Bxyvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186735},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"980f53e83773c66c13a78a40714f9a4972d244a5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.5_1770186793000_0.741967221248117","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@true-and-useful/janee","version":"0.1.6","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.1.6","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"a22a6bc4c2aa08923b951618b901f5a97dd76e3d","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.1.6.tgz","fileCount":79,"integrity":"sha512-lbfAVMg9ElIN8rbeD7WYOc62HwM3Ts5A6GTcn77yrtL22RyoZVCQyddvrzmDTESuX2uEFMx4PF/HKgxx/9V2lg==","signatures":[{"sig":"MEUCIQC8vNIyQVJnRf/WdK3vzOE3hOxVKyN0c8d/8VJYXhZPpAIgZWKBniXWlg9ovSh1CTf5iVGpdL5RmjGH7MzSKFRFtAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186735},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"521b218bf6e8e820402e1989247ecef7eea19a72","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","@types/js-yaml":"^4.0.9","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.1.6_1770186913060_0.25801950307495347","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@true-and-useful/janee","version":"0.2.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.2.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"453ba8db25c65a10f929d40c1109664d1165279a","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.2.0.tgz","fileCount":83,"integrity":"sha512-VkQ0qiUV3zSbbdFXJEjpsEbtx/tZqVJDT86GcBWMt5Q9g3bz3IR+xuvCH6EDnFkWZyNSJjntx2nZldm+gQzygg==","signatures":[{"sig":"MEUCIQCp/ckTKFnr9EoUpBpipgu67xNB6fPqqlXeUjltdrjwYgIgPI+Hd23VGbC19pmzI+FOqbqYGhmjSTb5/Wgw6phVcTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205675},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"df1aa74b0d151c397f3042931a0f48ef701aa0fb","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.2.0_1770190976217_0.9247891578576994","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@true-and-useful/janee","version":"0.2.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.2.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b79ce921ecb785a9766dab4957cf87505898e79a","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.2.1.tgz","fileCount":83,"integrity":"sha512-rzQDVqwiqg1OUJKjCo457aNuFT5X6o9mDAR3qX/O2Lm/3RD2oAbr3zS+t4+b/gW4gGo7JlR3oftSxMU16REVBw==","signatures":[{"sig":"MEUCIQCXm5HpPsANwEUXcqMYC3eAZM9p59n1pkUnUwib1uXlHAIgChjuEraHJ0mayFQEb/B7sNxSdlHlE8H6VUNWx3PD9XA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208359},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"bb8cc5a64f902992c1c0eed87db0cb21c35168f7","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.2.1_1770191991508_0.05565813305744127","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@true-and-useful/janee","version":"0.2.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.2.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"d87102f332508fd2060aae31dee915701a06e2c7","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.2.2.tgz","fileCount":83,"integrity":"sha512-fGwq89FES/U37Onogl0sTGz/WNJgfupgQ8DQ13WfkaMt+coquz5a8UcG90ZR9xbsl/wXvauy62CLVaf+D24wwQ==","signatures":[{"sig":"MEUCIEvUqqWeqT7Jybq4jKy4CFAojxZSqQLcsFPcYFTNMr/EAiEAysR9DaXD+UEGyMFBTlby6Zgjy0gJ36668Sck8DyZq1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210285},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"b7fae744f639a336afef8dcb08c15673bbf0fdc9","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.2.2_1770197449637_0.975441213770228","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@true-and-useful/janee","version":"0.3.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.3.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"e1e727ef07b51f5a7f81e6e648b099a76ec3ca4a","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.3.0.tgz","fileCount":83,"integrity":"sha512-YBeHWs11ZpsZHhfTxJ3l2gLoagGVclehygIAf+CcwwoTtnhQknfORWpZsi9YsOABvS5ZkIaEju28jZRzU2fbIw==","signatures":[{"sig":"MEYCIQDUMyd8EM4bmESHQInAEnm5PUWq6QNqeGaYOdYERlN2VwIhANlA5Uc1w47dgXVDSF0v+AlZiacmDLLuL3JNlHZ7W2NG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213111},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"a83c3540b3d26d1852192058d297ae55e2f52652","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.3.0_1770207152779_0.3739610000403082","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@true-and-useful/janee","version":"0.3.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.3.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"e96c9f4ec592cc19596a8151cda65e730ba44e60","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.3.1.tgz","fileCount":83,"integrity":"sha512-6RS3Z1OPfyhDi7YwIpqPCtBucNzcfTt1zs3NI0nYmharqbcalvmCEqqLp0fnfRcogmDIcDJ6bD1pqwnRox6n3Q==","signatures":[{"sig":"MEUCIBWxsnwZx131haT84CcZpSAoOVSdhe0/fSTNEOrMaN9+AiEAvgZfDyHvNGWEU97UsCvOq0GhqXOz0hFXzuBVVjk60Cc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213222},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"b9081712c214910c9f6e27b5f2d231630145589c","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.3.1_1770230255867_0.36467152407303627","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@true-and-useful/janee","version":"0.4.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b2f90129018755eb585663654de8b48bba63a3ef","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.0.tgz","fileCount":83,"integrity":"sha512-KueREc3VIU6BpEnXL72cvr9J81k4NXS8Xt/qgdZ7/h3I/Sf0yAIhU1lqZWfb933r9T+9LNBkuZ3eyvJ5RMU3Uw==","signatures":[{"sig":"MEUCIQD0Toxhbp9vr6MX9y+4f7ugsDlc4sNo01AjA6OfbE+pqQIgQAhOD0wJJd+tiP/G90bib/Cj0uhA8o3eGXMmWajAczw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219391},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"0d521b360c24c13286b66397dae4fd058ecd6747","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.0_1770273950822_0.22916221006336568","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@true-and-useful/janee","version":"0.4.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"8c6374cc75cd0e54deef3345739b3c5a57a562c9","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.1.tgz","fileCount":83,"integrity":"sha512-8iPTUpv1iyJr/c+YTFXR2i/HxgIO7H1zSsjGMND9ECs8wENaHpn7WU7MMF7o9rM9l+sykQE5nFDZYc7ViYbCwg==","signatures":[{"sig":"MEQCIDrDLKxqDFpwSH6jiHla7+lcrQSuihlkNcBVOx869RTiAiAIw2TtgI26iM4wnK3sL5OPFI4Om9gcR/NaRkLGvd5a6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219593},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"0b12673c145dd800a0732a6f68aa412d82a58bbf","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@types/js-yaml":"^4.0.9","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.1_1770639589777_0.7720624055450827","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@true-and-useful/janee","version":"0.4.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"60142ec4183afa9d938ed5684a1463189f3d0f81","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.2.tgz","fileCount":83,"integrity":"sha512-QFKQn423EdUCgkM7dT8ynO1n5VaNcFPh52ueqL9ErcHnHVwVrZNDo1tENYh1boNo9f8XJCyyePIjOuG/3TzFlw==","signatures":[{"sig":"MEQCIF0hFvQHpzU8i0qp1amQjSsrp0nif72+JjrATvPid9aAAiBXdXGBQKSy54NQfe8CnFq9/0TDtYbj2E0g1TTpHirG/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220855},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"961d3adc9197889a4e0310288f37aec771a46fa0","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.2_1770710867379_0.4591448393266959","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@true-and-useful/janee","version":"0.4.3","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.3","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b11fc36ced90b7365722d725d09888e41c790eb7","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.3.tgz","fileCount":85,"integrity":"sha512-YJCFHt511uY2CqstVKf9KMSNIjtgaAjkxcL18fzD7QXVW9cFabTB1ybODFiwiJwzDrZjP5+TLmGcUsLOXrPxbA==","signatures":[{"sig":"MEQCICWC7U7F0BU/s0E2rhId4V6+QglSy7jO2V5lXTf0iqGMAiAXBfTnNiwpmcy1DK4SVH5N9+8wA+TrWt0NC6pD322lqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226005},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"40ba6a48623e319ec2cfe35840c15c26b6a18961","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.3_1770712538064_0.5457847984622153","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@true-and-useful/janee","version":"0.4.4","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.4","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"cd5844faaee0bcba5d3b23183bebfa6c5eb7fc45","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.4.tgz","fileCount":85,"integrity":"sha512-54mZXxl8cA5VJXkBk6GUiTEdQThXQb5hPDVf4jVZPHCMxlZlYJFHWR7w1TENX1cTK45QkIsOzegNgIs+swTniA==","signatures":[{"sig":"MEUCIQCMXfNsSRds+XACmsizMaVrQSBzIIs/PodaGSFs+Zu+LAIgKKRgMQUbibERw08+3tApc913bixiHtitCTR2C9NMavU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237629},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"cdccfcce05e029a6a95dc5a3e52756afb7d478ce","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.4_1770724138989_0.7316112527012473","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@true-and-useful/janee","version":"0.4.5","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.4.5","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"68ad9e94e66a952c75b432c8b12321aa24282d06","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.4.5.tgz","fileCount":85,"integrity":"sha512-vr1dn1qJiw9pFHkaqrDnBWvgshtq9wvl2Un2tOOZWCbet0VDLlMhgFmhVOsSpi4GaiVO53PdJXUw7Am35ti27g==","signatures":[{"sig":"MEQCIF19otPKAC4ESE8pn9rax+gYaryBb0XjyWVsGitsRx40AiA2Mgu1z5seicdE3SSlkGlGax1uD1akrjMiGKRMnIVZOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240197},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9ccefba9e536c925324ad134c860d9e1365e4573","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.4.5_1770725758478_0.44639375085727995","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@true-and-useful/janee","version":"0.5.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.5.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"8644b9ed9a6460f44ca607aa5d429aa64f690680","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.5.0.tgz","fileCount":89,"integrity":"sha512-BjMWuInZvTLnYMHef/cYEISz38fIzYw+H6CcgCdSO3IGeQK/HYV++whxDjMd7EKEdajiiXjlON3DgqmQ0OR7sQ==","signatures":[{"sig":"MEQCIBoP5C+ZR+wWCtSN5IFlhNuk9mS9XOzJ/nI7d31TIMdEAiAI5Scfkd87wmS4EhF0OUdYUvBHFTwnx937h9gH8/J4zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263001},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9fcd1de80b03969daa7e17ba8d059dd5973b6a01","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.5.0_1770726085591_0.41950188465735905","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@true-and-useful/janee","version":"0.5.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.5.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"504fe57c24ed6e6fafd1ab6d82b1aff42cd49fb4","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.5.1.tgz","fileCount":89,"integrity":"sha512-KGrPyEr2AXP5apJNnUUFxCiYLXtnJYr7LL5MvoZavDtwCBQkNc5BJuCZ2wpUIPMM3sKgHUJZxF67TilPYqE3Qg==","signatures":[{"sig":"MEUCIQCqffCSRFrSwLUqILkAAD0wlAtOWRLv74jXU4bYxQ9vnwIgWcXUcLoK/iWoMBextueXoRFDwLQ9zxe0/VuNIm7yr6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263236},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"24624a9c2830b86d087fa5dc5b25aff2e3063295","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.5.1_1770729924680_0.34735001771582685","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@true-and-useful/janee","version":"0.6.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.6.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b46d0f5ded57cabd54944b9e0301e86b64ac7f89","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.6.0.tgz","fileCount":89,"integrity":"sha512-nj7d6MnVKov+QIDHvQnERIxl3K1ylFAF7eFJXGdPriM7RJwF6M5ZEKnd7jJM6DkJxu3UrdKuZW949vQt9k4Avg==","signatures":[{"sig":"MEUCIBii8yB0WvUbmU8YyxLxXPVTrJBu33bdc5zzU2r8THWtAiEAhRO7Wu+qPtY0DWp8/3iQsW37cp5YWTjA+w2FC7VeuaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262943},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"84a5593b4525192aa907e00c2b1b1e9fb9e00ec1","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.6.0_1770731024994_0.4762397856380671","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@true-and-useful/janee","version":"0.7.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.7.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"57a22c00007cb3ba82751df06ead618883106e4b","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.7.0.tgz","fileCount":89,"integrity":"sha512-IGtGg2lmCwsq2IgxczeIfFJeZiXT8SRqGKfj5XEEr34IgntdX1q8OeyZd9LJmARcOsrFqzc28r/q2EITLh2HHg==","signatures":[{"sig":"MEUCIBqy6jweo7nmhSOmAy7u6CHYMmgrPqsgonBd/t9X4LNrAiEAmyMM7AyEJblSK8VWLeSjIa6MDG2R4xMf5quWyIHvrFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276244},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"b283ff6a7470e240a690153a5a6e6f974aa2e431","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.7.0_1770735094690_0.5908580686633105","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@true-and-useful/janee","version":"0.7.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.7.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"9a94d1f0dcf9d6ec25dcef70d78d3cb23e5e25e5","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.7.1.tgz","fileCount":89,"integrity":"sha512-kkejgt4sXzh4r7mMfYiY07JoGQyrgMwIZPp5QdmoWxJx5bCkqMd8dHeyy9XTluwmpluvJO6ZUicbipzYPl5vQQ==","signatures":[{"sig":"MEUCIDKVIUXc7ewqwVyFtmc3PU/8Tzg//4elwDWx88p1vhpVAiEA+xc+fmJpWtT7frAdWQzudyU7T+2Dzij3FzRl77OKRDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276469},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"92cc6465e76b92814c576b25ce8ae0c0a247e911","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.7.1_1770736434354_0.38643861912127964","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@true-and-useful/janee","version":"0.7.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.7.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b091c3203b57545e94a34ad89abb441618916a06","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.7.2.tgz","fileCount":89,"integrity":"sha512-1kKyVlfQx+ymS/zKMm6O7YTkzEek/0QtS0BaTcHuOdKSWi6QUpLdb0LvXNW0HlPQMuA6O8jON9LGdrjjAhLR6w==","signatures":[{"sig":"MEYCIQD1RrvIkgvyLPW5B2LpVfGgVhYzgMb3Mb6LGOmfiTPNjAIhAMMPRC7OGmwJ/zioi0ICj0H2hz6t7SOjvRYBWq2twLpH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277218},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"b5a473372e34ce651e3202cbf881baa14aef159a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.7.2_1770746660160_0.8263168503594998","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@true-and-useful/janee","version":"0.8.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"66c6f127fcb064b798b2aee166aa912830e536bc","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.0.tgz","fileCount":89,"integrity":"sha512-ykkV1Nyc1Pr/sAku4W7w9VvJOIVvgfWO/iRSW/kc01OShmfynMlo9o+QtAV38+fWcL2mN0x8DVaI+heuV0I/iA==","signatures":[{"sig":"MEUCIF0YQQHrfb2e+3RnWmeoy+hrd6t08u1S3Qitn9ntDYq0AiEArOoSmhE8hc0F/ImLXDzidSUDF5FAz1MgYPcB3w4VFjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282506},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"5765651bcc98efcad46d44db368cb219add524c7","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.0_1770792933317_0.0010265370265754026","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@true-and-useful/janee","version":"0.8.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"9a486912807df2d687c31e8f37e7d8c0bc527d78","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.1.tgz","fileCount":89,"integrity":"sha512-FlBImaRNH61VMwTv9k89UuBTWvwaRkwZCBReA/Jzq/+lOp8035RhKYkZUNEeAIC+aigw0btz882HxxuZws9vow==","signatures":[{"sig":"MEUCIH14fnm9ntbmQ2D1HZ8hbsP0SjPwH6gitOfa9bhYFUIhAiEAr/sM5I2uKRIt+8t7aVT3CczxyYmVqq4qcdHpStp1DtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284313},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"1ef1491732b8bd46a887533fe44b4469ecc31a83","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"23.7.0","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.1_1770964969845_0.4293632201065263","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@true-and-useful/janee","version":"0.8.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"d40cd1634fdbab303038a84d1ceeec24b2273532","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.2.tgz","fileCount":89,"integrity":"sha512-bMiyuS7HODyME/S/cPvA+1FIbmmhLH/rfAEZerWwGA5Uasp0YYwbMtNvygn3Ociuhz8BYvuCWXwjkaNAiVMQhA==","signatures":[{"sig":"MEYCIQC9QMeNaUuv8tpHUR11QbiBA3HrB1Ul0vQzi8sZy77qmgIhAJIYRzlqdPrgC2FCgIkM/jXGS06yYcSbrdV4Zw1Si/8X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284313},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"860f6b54685fee14bb11c7f78f017afbf3e40c0a","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.2_1770990105326_0.2654728448227559","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@true-and-useful/janee","version":"0.8.3","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.3","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"d0aa4634525ff5c10aa777c060e0ceedd64b7900","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.3.tgz","fileCount":89,"integrity":"sha512-k+YgE3h22fIZCESWI8ZPdW/DVCL2KckDzZ1uL4GTTw2EcAffFI9ENJvb+7ALIFvkvYLdlp9d70/7Vs2uyu77yQ==","signatures":[{"sig":"MEYCIQCQaGivpis8vySNZ63V4uvCVl0Zh++990Q/AvGbZobfBgIhAPha2nEdV8KPW4+qzFlDGknuqKapGYRul3L1E03cnGzm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284313},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"bb09a27062e567c89f8497e22684b0aa011b0adc","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.3_1770991287298_0.023744200048738895","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@true-and-useful/janee","version":"0.8.4","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.4","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"342b95e1949571dfb6b95aa60459e67775e60468","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.4.tgz","fileCount":89,"integrity":"sha512-QDBncqSLC+8AXfFzMa06NrI4VhCL+yFhY9YTs+kGIaSCL0utWu0CYhjU+VRcdwJgQB4iwjGOTSb/CmSt4GiCcQ==","signatures":[{"sig":"MEYCIQDOBIdH7YC+mTXrY4quIM0PJDwzVKA/6IDcFX3ImhyXlgIhALeCgnz02fkVO0TF7XlvzOTWcBHe5nKJ+bBi8D3E73cy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284414},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"c1cb0aaa880e94138cddcc6c899abce8c360e5e2","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.4_1771046959739_0.05089003367377498","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@true-and-useful/janee","version":"0.8.5","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.8.5","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"679d47aa08363ad0e03fe58e2ec6e955057ef55c","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.8.5.tgz","fileCount":125,"integrity":"sha512-HWYtqvdP8+obdBdEgWPGB3x5tnF+YcCJRRGYQFpIQtBY7D7BnhRYPRpEHhKEb8qw8jBf4FFQfbgfgkqxVxd2bw==","signatures":[{"sig":"MEUCIGuMLznwyGMVOUOdx3BPaYlkuU/myr8xp49Cief/6FPmAiEAnVI279XBK+QlR5aKrqxpyOWBC3EjcL1Bxh9Z8Tlko4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418348},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"afd422dc44766c20afe803edc6b3298e615e3d1e","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.8.5_1771489134943_0.33318824709896844","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@true-and-useful/janee","version":"0.9.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.9.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"937a10725ce883427472c9499e1e394fa55d533f","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.9.0.tgz","fileCount":129,"integrity":"sha512-AniTrwzo+vd3kvNZO59/+xcnmEJKsenw9FXfnJsGNAMGvGX4Mn+El/JdzXz739Q/Y9+hz3CqMcRqBDaO0YVxZg==","signatures":[{"sig":"MEUCIQCfP5ydh3//okvviYohka8I7SSMBtxpvZdGkaaL95cn7wIgEG+e021seea5jpcb5MQv33jcdvr9qv6GKBNxjEk0QJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":443053},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"1352b05e80ceff90c5c2f3eee1fbb6c8973c81fb","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.9.0_1771507118727_0.9301693423830302","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@true-and-useful/janee","version":"0.10.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.10.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"6db9c82d6853b0201ff18000f6e49113efa0a257","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.10.0.tgz","fileCount":129,"integrity":"sha512-hhx2UguwCMVOi75ybuwN9LBgoELzYZMKgttAMPBwZUmH/xkU0ORR2sJxdHs/eiDT90k8V6XKJx1cyZX4Zy5uoA==","signatures":[{"sig":"MEQCIGsoXl5DFaq/d2kiOrBGzF1w9lWYjRBsszTkPsZbBi4KAiAEsmERYn7EmGHGpanPY70nESiItmPWQKbLRl2TIo0XcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":456426},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"dbc93a7e83ea19dc6a1bf20fc72739edcd146f6e","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.10.0_1771577725635_0.0710941843346411","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@true-and-useful/janee","version":"0.10.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.10.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"b639ba7f042308d2e386ca51ad9c1cbf83ccfbbd","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.10.1.tgz","fileCount":129,"integrity":"sha512-qA41a15f5lBRu5LtCIi/6UweiaBQIW80so+VIaT837q0RaW7Lf74GQhATT/wnhbTQRWwfYj4VYuP4cep//byQA==","signatures":[{"sig":"MEYCIQCjtm+70pJcjefPw4SN77JIvz+W/ZYUH0xt8SZsZoT0eAIhALJNbIc02RrqxYfaxiz25spiGxNBxKuDv0b0h5Jl/gRu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":456426},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9cfbe4989b6eaef26461d0866ac4a0800fd7ed89","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.10.1_1771577871066_0.8291133987154298","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@true-and-useful/janee","version":"0.11.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.11.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"ef18c3a71ff5fe176524c87de752a0036bf900b6","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.11.0.tgz","fileCount":141,"integrity":"sha512-ANOn69HjY2AYuOX0IB2tBinLDcBc1IwY0ouN0gGlvI1b0VjWj12yq8SZHfIrxdYuFxpXOU88F32hqlmj1yBZWA==","signatures":[{"sig":"MEYCIQDyNUIXlvoYuDFULoNahaD+fsCowpZtj3SJV+IGDznvwQIhAIabrIVqbsjoHkCS6pOpx+uQoXzrv0sBQb1NEjN23SYF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504327},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"94822c5e946b936f81fe186d767ef7be28f939e8","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.11.0_1771697152742_0.058808962767436856","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@true-and-useful/janee","version":"0.11.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.11.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"d7895a109bf11cfa8921c99722eaf20540354514","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.11.1.tgz","fileCount":141,"integrity":"sha512-E9DlyKP7HH/hLD/ZS9C4M+lxjorQz7FTnIL9F2qKsOVNrVM7v7Pf994WpwpeA1FeK06Wdt/QTnLJlo1OPyu1FQ==","signatures":[{"sig":"MEUCIQCNdjiw9GLiTigw8s3Ouzr0llsyD+cvYHrnGTP7MrYt3wIgD98H3ilo3xDE83f43eOMZ+IwKR5plbaKCIQQUnb91zc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511301},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"8f08f384f0b02bc252faaf92b4a1e9939a6540d3","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.11.1_1771778881782_0.1581872398711277","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@true-and-useful/janee","version":"0.11.2","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.11.2","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"85eda57105539a158704cea2d3f6d65da270e1fe","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.11.2.tgz","fileCount":141,"integrity":"sha512-GF+BNXW6JmE9PEWFmTD18mDMksXLlTtFHH4oIdTDcYCykNVQdmW8igh5AbTvpSQW5sYwi1pjB7psS0g5KfibAA==","signatures":[{"sig":"MEYCIQDkumU50BOSHagZqzkt5T51s7XCL7kspPiZJHCHq+2WbwIhAK9mIOv1Sc8qcdeiOePrgMMb+6u0GINliG86X3ZS9d+C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511734},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"ec664b6ec50b228d8a47d8ebd120b085aac55ea4","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.11.2_1771779585618_0.9966688373685504","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@true-and-useful/janee","version":"0.11.3","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.11.3","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"496da4788499b7dc6b8d58e3085bf4f49f727cdd","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.11.3.tgz","fileCount":141,"integrity":"sha512-ZXPNXM56WWE4McSyRiNKh4HlV8pOSnp3j6Il6InqqGnBsIUebQMkDzyz2hSh058lu0USdJG0p20alqP2oAjIqA==","signatures":[{"sig":"MEYCIQCYnochu0FvCKKYZWjHXMs2d2ToeAWCdXKIwiNG7yop3QIhAJwG5bufGuBQqCfZxbDGoGIfXG3xvzSm3pmNiszuYUJf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":514945},"main":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"2fcbec418216eb60755b7172eac58c33e8cdb1c4","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.11.3_1771833408047_0.5802126333681177","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@true-and-useful/janee","version":"0.12.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.12.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"bfed813a7a02dbe173d511655a64d1751bcca896","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.12.0.tgz","fileCount":153,"integrity":"sha512-bI388LWYAk11eahaJVvSAIF0TqwJfT6JToBLIz34v+GDtebNaEssI9E7AXR0JUbAlOn70cNyOIDEJaoq6UZE4A==","signatures":[{"sig":"MEYCIQDqFn4QNzTeN6ml4ksT/vocLDJCLxqrJNYF5gyFy6t9lwIhAMrIEi9CZvCokunu2Cceo7XZkERZQQYpJJKbon2JB5g3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555975},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"98ef14750ae4ea2ead9613819f286f6c4c57b8e2","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.12.0_1772184658179_0.22735358575039077","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@true-and-useful/janee","version":"0.13.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.13.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"71b116793c5ce5d72b7791c33ebb77e03ffb0008","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.13.0.tgz","fileCount":177,"integrity":"sha512-U2HJ0bUn3Cz81cR2tJTOKLJwe04Fbb9O9z9ymiZK68BhaEFHjP0ahQr1cjDgnwixgsh9ERKXmcz268OX9cVG6g==","signatures":[{"sig":"MEUCIQCxT+HV4pTKpaA4o+zqJsrteaEJtlwSyKinb4kNnuLpywIgFyc8xdrLdhID01EeWDOqFuRTXTI73WpcPidH3X1/Ppc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":683418},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"bbf6624ccc76de780814350ded7c570ba03de716","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.13.0_1773043243589_0.8864388811892703","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@true-and-useful/janee","version":"0.13.1","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.13.1","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"7a86cca40da17013be5835a77f8d1f9b9c48da4c","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.13.1.tgz","fileCount":177,"integrity":"sha512-KKR8D48OnUvGJ9qdijyyfjZVtC8qkRUGwuZCki0ks9xnYCWGRbEAEuL7c5r4YGfDc0DLr/bvZq39jPYeS2QHJg==","signatures":[{"sig":"MEUCIFVTdUjtADmtMEFGCG16BtmkuOBie6aJDTWfuki5dnMKAiEAiRaCsXf0y0OqdQ+RTzoXjyqTYWglGqv6w5dbrAI0jVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":687069},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"22399a2ffb6ed7970b307c38781188b29c30b208","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.13.1_1773044262491_0.04974614466164251","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@true-and-useful/janee","version":"0.14.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.14.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"ebb0d46abd872ed00cc7fb2cae5f08e8ffdd8ff3","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.14.0.tgz","fileCount":177,"integrity":"sha512-ftlHz2a0Ao8KWOhQwpQJas6NqexB09nQE2mF/Nlmiqp6tgG8cePsyoqMWwHQZx+ETnPznZpTeCnKmH3gvo023g==","signatures":[{"sig":"MEQCIC7TlS5g/WhtbXlHj2mU472TyvVMru27Mp6u/KjOPWAWAiAaYeYlxkruT8n2IZDKCxdfX1zpIT2zZvTMA7jQBxF5QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":702627},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"95fff430c1bcd2ec3a5c63a5bdf89a6235d083f9","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.14.0_1773061456158_0.4293991527254517","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@true-and-useful/janee","version":"0.15.0","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"url":"https://x.com/janeesecure","name":"True and Useful LLC"},"license":"MIT","_id":"@true-and-useful/janee@0.15.0","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"homepage":"https://janee.io","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"bin":{"janee":"dist/cli/index.js"},"dist":{"shasum":"ea2e0df2d12f4441e7d8ae8cbeb6263087302547","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.15.0.tgz","fileCount":177,"integrity":"sha512-TfJfuCo23Ytq4iOYkXsIDXbSnZTn1wsCbmY5YUrn1J+yovnCDdJQvw/TbIvSzwiZCL0xkVmCaUSuHbAHK3NSjA==","signatures":[{"sig":"MEYCIQC3Hk+tB9NKq3lvFrRtqUm/Cnw1eNePv059h98v7ZpyEQIhAPPTb7zo19gCVepLnIPyNzAa+3BZ30PPxaJLbi59elry","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720622},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"5b66da99ff64ec98b26b27e96a684d6f7ca83172","mcpName":"io.github.rsdouglas/janee","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && npm run build --workspaces","start":"node dist/cli/index.js","build:cli":"tsc","test:watch":"vitest","postinstall":"node scripts/postinstall.js","build:plugin":"npm run build --workspace=packages/openclaw-plugin"},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"repository":{"url":"git+https://github.com/rsdouglas/janee.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.7.0","description":"Secrets management for AI agents via MCP","directories":{},"_nodeVersion":"22.21.1","dependencies":{"express":"^4.18.0","js-yaml":"^4.1.1","commander":"^11.1.0","jsonwebtoken":"^9.0.3","@inquirer/prompts":"^8.2.0","@types/jsonwebtoken":"^9.0.10","@modelcontextprotocol/sdk":"^1.25.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.3.3","@types/node":"^20.10.0","@types/express":"^4.17.21","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/janee_0.15.0_1773084812536_0.20036176694379138","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@true-and-useful/janee","mcpName":"io.github.rsdouglas/janee","version":"0.16.0","description":"Secrets management for AI agents via MCP","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"bin":{"janee":"dist/cli/index.js"},"repository":{"type":"git","url":"git+https://github.com/rsdouglas/janee.git"},"workspaces":["packages/*"],"scripts":{"postinstall":"node scripts/postinstall.js","build":"tsc && npm run build --workspaces","build:cli":"tsc","build:plugin":"npm run build --workspace=packages/openclaw-plugin","dev":"tsc --watch","start":"node dist/cli/index.js","test":"vitest run","test:watch":"vitest"},"keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"author":{"name":"True and Useful LLC","url":"https://x.com/janeesecure"},"homepage":"https://janee.io","license":"MIT","dependencies":{"@inquirer/prompts":"^8.2.0","@modelcontextprotocol/sdk":"^1.25.3","@types/jsonwebtoken":"^9.0.10","commander":"^11.1.0","express":"^4.18.0","js-yaml":"^4.1.1","jsonwebtoken":"^9.0.3"},"devDependencies":{"@types/express":"^4.17.21","@types/js-yaml":"^4.0.9","@types/node":"^20.10.0","tsx":"^4.21.0","typescript":"^5.3.3","vitest":"^3.2.4"},"engines":{"node":">=18.0.0"},"gitHead":"0123448402169fddeffe644628cb590174602f20","_id":"@true-and-useful/janee@0.16.0","bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-HHFWWKxKYELRJTkzG9r24sjVDbNwZW2iDpdFiJhsW8Qo9pzB4jS5FiUeQmugv1zc0uA1hatc3WHsdddYRQjqCA==","shasum":"193226633788cd26eb8243905ade3db75e83afe2","tarball":"https://registry.npmjs.org/@true-and-useful/janee/-/janee-0.16.0.tgz","fileCount":193,"unpackedSize":703735,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICpmB9VdBj33xFTvyxRkgNoLfPmy7B8IE14F0Eh1ZsIaAiEA/VcTPS4zbX0ts0UM0y5mfuZt0e5Wq1CHpWIqaMibkyY="}]},"_npmUser":{"name":"rsdouglas","email":"rsdouglas@gmail.com"},"directories":{},"maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/janee_0.16.0_1773725694377_0.3167567582400648"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-03T07:56:43.270Z","modified":"2026-03-17T05:34:54.676Z","0.1.0":"2026-02-03T07:56:43.518Z","0.1.1":"2026-02-03T09:53:12.679Z","0.1.2":"2026-02-03T14:03:23.814Z","0.1.3":"2026-02-03T18:11:06.084Z","0.1.4":"2026-02-03T19:36:19.345Z","0.1.5":"2026-02-04T06:33:13.141Z","0.1.6":"2026-02-04T06:35:13.229Z","0.2.0":"2026-02-04T07:42:56.361Z","0.2.1":"2026-02-04T07:59:51.690Z","0.2.2":"2026-02-04T09:30:49.776Z","0.3.0":"2026-02-04T12:12:32.967Z","0.3.1":"2026-02-04T18:37:36.070Z","0.4.0":"2026-02-05T06:45:50.977Z","0.4.1":"2026-02-09T12:19:49.899Z","0.4.2":"2026-02-10T08:07:47.543Z","0.4.3":"2026-02-10T08:35:38.235Z","0.4.4":"2026-02-10T11:48:59.134Z","0.4.5":"2026-02-10T12:15:58.638Z","0.5.0":"2026-02-10T12:21:25.746Z","0.5.1":"2026-02-10T13:25:24.846Z","0.6.0":"2026-02-10T13:43:45.146Z","0.7.0":"2026-02-10T14:51:34.849Z","0.7.1":"2026-02-10T15:13:54.519Z","0.7.2":"2026-02-10T18:04:20.315Z","0.8.0":"2026-02-11T06:55:33.528Z","0.8.1":"2026-02-13T06:42:50.011Z","0.8.2":"2026-02-13T13:41:45.542Z","0.8.3":"2026-02-13T14:01:27.484Z","0.8.4":"2026-02-14T05:29:19.885Z","0.8.5":"2026-02-19T08:18:55.132Z","0.9.0":"2026-02-19T13:18:38.929Z","0.10.0":"2026-02-20T08:55:25.821Z","0.10.1":"2026-02-20T08:57:51.207Z","0.11.0":"2026-02-21T18:05:52.902Z","0.11.1":"2026-02-22T16:48:01.938Z","0.11.2":"2026-02-22T16:59:45.783Z","0.11.3":"2026-02-23T07:56:48.224Z","0.12.0":"2026-02-27T09:30:58.367Z","0.13.0":"2026-03-09T08:00:43.755Z","0.13.1":"2026-03-09T08:17:42.676Z","0.14.0":"2026-03-09T13:04:16.427Z","0.15.0":"2026-03-09T19:33:32.856Z","0.16.0":"2026-03-17T05:34:54.530Z"},"bugs":{"url":"https://github.com/rsdouglas/janee/issues"},"author":{"name":"True and Useful LLC","url":"https://x.com/janeesecure"},"license":"MIT","homepage":"https://janee.io","keywords":["ai","agents","security","secrets","mcp","model-context-protocol","api-proxy"],"repository":{"type":"git","url":"git+https://github.com/rsdouglas/janee.git"},"description":"Secrets management for AI agents via MCP","maintainers":[{"name":"rsdouglas","email":"rsdouglas@gmail.com"}],"readme":"# Janee 🔐\n\n**Secrets management for AI agents via MCP**\n\n[![npm version](https://img.shields.io/npm/v/@true-and-useful/janee.svg)](https://www.npmjs.com/package/@true-and-useful/janee)\n[![npm downloads](https://img.shields.io/npm/dw/@true-and-useful/janee.svg)](https://www.npmjs.com/package/@true-and-useful/janee)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![GitHub stars](https://img.shields.io/github/stars/rsdouglas/janee.svg?style=social)](https://github.com/rsdouglas/janee)\n\n> Your AI agents need API access to be useful. But they shouldn't have your raw API keys.\n> Janee sits between your agents and your APIs — injecting credentials, enforcing policies, and logging everything.\n\n\n### ✨ Features\n\n| | |\n|---|---|\n| 🔒 **Zero-knowledge agents** | Agents call APIs without ever seeing keys |\n| 📋 **Full audit trail** | Every request logged with timestamp, method, path, status |\n| 🛡️ **Request policies** | Allow/deny rules per capability (e.g., read-only Stripe) |\n| ⏱️ **Session TTLs** | Time-limited access with instant revocation |\n| 🔌 **Works with any MCP client** | Claude Desktop, Cursor, OpenClaw, and more |\n| 🏠 **Local-first** | Keys encrypted on your machine, never sent to a cloud |\n| 🖥️ **Exec mode** | Run CLI tools with injected credentials — agents never see the keys |\n| 🤖 **GitHub App auth** | Short-lived tokens for autonomous agents — no static PATs |\n| 🐦 **Twitter/X OAuth 1.0a** | Per-request OAuth signing — 4 secrets stay encrypted |\n| ☁️ **AWS SigV4** | Sign AWS API requests server-side — SES, S3, and more |\n| 🔧 **Automatic git auth** | `git push/pull` just works when credentials include GitHub tokens |\n\n---\n\n## The Problem\n\nAI agents need API access to be useful. The current approach is to give them your keys and hope they behave.\n\n- 🔓 Agents have full access to Stripe, Gmail, databases\n- 📊 No audit trail of what was accessed or why\n- 🚫 No kill switch when things go wrong\n- 💉 One prompt injection away from disaster\n\n---\n\n## The Solution\n\nJanee is an [MCP](https://modelcontextprotocol.io) server that manages API secrets for AI agents:\n\n1. **Store your API keys** — encrypted locally in `~/.janee/`\n2. **Run `janee serve`** — starts MCP server\n3. **Agent requests access** — via `execute` MCP tool\n4. **Janee injects the real key** — agent never sees it\n5. **Everything is logged** — full audit trail\n\n**Your keys stay on your machine. Agents never see them. You stay in control.**\n\n---\n\n## Configure Once, Use Everywhere\n\nSet up your APIs in Janee once:\n\n```yaml\nservices:\n  stripe:\n    baseUrl: https://api.stripe.com\n    auth: { type: bearer, key: sk_live_xxx }\n  github:\n    baseUrl: https://api.github.com\n    auth: { type: bearer, key: ghp_xxx }\n  openai:\n    baseUrl: https://api.openai.com\n    auth: { type: bearer, key: sk-xxx }\n```\n\nNow **every agent** that connects to Janee can use them:\n\n- **Claude Desktop** — access your APIs\n- **Cursor** — access your APIs  \n- **OpenClaw** — access your APIs\n- **Any MCP client** — access your APIs\n\nNo more copying keys between tools. No more \"which agent has which API configured?\" Add a new agent? It already has access to everything. Revoke a key? Update it once in Janee.\n\n**One config. Every agent. Full audit trail.**\n\n---\n\n## Quick Start\n\n### Install\n\n```bash\nnpm install -g @true-and-useful/janee\n```\n\n### Initialize\n\n```bash\njanee init\n```\n\nThis creates `~/.janee/config.yaml` with example services.\n\n### Add Services\n\n**Option 1: Interactive (recommended for first-time users)**\n\n```bash\njanee add\n```\n\nJanee will guide you through adding a service:\n\n```\nService name: stripe\nBase URL: https://api.stripe.com\nAuth type: bearer\nAPI key: sk_live_xxx\n\n✓ Added service \"stripe\"\n\nCreate a capability for this service? (Y/n): y\nCapability name (default: stripe): \nTTL (e.g., 1h, 30m): 1h\nAuto-approve? (Y/n): y\n\n✓ Added capability \"stripe\"\n\nDone! Run 'janee serve' to start.\n```\n\n**Using an AI agent?** See [Non-interactive Setup](#non-interactive-setup-for-ai-agents) for flags that skip prompts, or the [agent-specific guides](#integrations) below.\n\n**Option 2: Edit config directly**\n\nEdit `~/.janee/config.yaml`:\n\n```yaml\nservices:\n  stripe:\n    baseUrl: https://api.stripe.com\n    auth:\n      type: bearer\n      key: sk_live_xxx\n\ncapabilities:\n  stripe:\n    service: stripe\n    ttl: 1h\n    autoApprove: true\n```\n\n### Add CLI tools (exec mode)\n\nSome tools need credentials as environment variables, not HTTP headers. Exec mode handles this:\n\n```bash\njanee add twitter --exec \\\n  --key \"tvly-xxx\" \\\n  --allow-commands \"bird,tweet-cli\" \\\n  --env-map \"TWITTER_API_KEY={{credential}}\"\n```\n\nNow agents can run CLI tools through Janee without ever seeing the API key:\n\n```typescript\n// Agent calls janee_exec tool\njanee_exec({\n  capability: \"twitter\",\n  command: [\"bird\", \"post\", \"Hello world!\"],\n  cwd: \"/home/agent/project\",  // optional working directory\n  reason: \"User asked to post a tweet\"\n})\n```\n\nJanee spawns the process with `TWITTER_API_KEY` injected, runs the command, and returns stdout/stderr. The credential never enters the agent's context.\n\n**Key flags:**\n- `--exec` — configure as exec-mode (CLI wrapper instead of HTTP proxy)\n- `--allow-commands` — whitelist of allowed executables (security)\n- `--env-map` — map credentials to environment variables\n- `--work-dir` — working directory for the subprocess\n- `--timeout` — max execution time (default: 30s)\n\n\n### Git operations (automatic HTTPS auth)\n\nWhen using exec mode with GitHub credentials, Janee automatically handles git authentication. No extra configuration needed — `git push`, `git pull`, and `git clone` just work:\n\n```yaml\ncapabilities:\n  - name: git-ops\n    service: github\n    mode: exec\n    allowCommands: [git]\n    env:\n      GH_TOKEN: \"{{credential}}\"\n```\n\n```typescript\n// Agent can push code without ever seeing the token\njanee_exec({\n  capability: \"git-ops\",\n  command: [\"git\", \"push\", \"origin\", \"main\"],\n  cwd: \"/workspace/my-repo\"\n})\n```\n\nJanee detects `git` commands with `GH_TOKEN`/`GITHUB_TOKEN` in the environment and creates a temporary askpass script for HTTPS authentication. The script is cleaned up automatically after the command completes.\n\n### Add GitHub App auth (for autonomous agents)\n\nStatic tokens are risky for long-running agents. GitHub App auth generates short-lived installation tokens on demand — no long-lived PATs required.\n\n**Option 1: Use create-gh-app (recommended)**\n\n```bash\nnpx @true-and-useful/create-gh-app create my-agent --owner @me\n# Opens browser → creates app → saves credentials locally\n\n# Install the app on your repos\n# https://github.com/apps/my-agent/installations/new\n\n# Register with Janee in one command\nnpx @true-and-useful/create-gh-app janee-add my-agent\n```\n\nDone. Your agent now gets short-lived GitHub tokens through Janee's MCP proxy.\n\n**Option 2: Manual setup**\n\n```bash\njanee add github-app \\\n  --auth-type github-app \\\n  --app-id 123456 \\\n  --pem-file /path/to/private-key.pem \\\n  --installation-id 789\n```\n\nOr via config:\n\n```yaml\nservices:\n  github:\n    baseUrl: https://api.github.com\n    auth:\n      type: github-app\n      appId: \"123456\"\n      pemFile: /path/to/private-key.pem\n      installationId: \"789\"\n```\n\n**How it works:** When an agent requests access, Janee signs a JWT with the app's private key, exchanges it for a 1-hour installation token via GitHub's API, and caches the token until expiry. The agent never sees the private key — only the short-lived token reaches the API.\n\n### Start the MCP server\n\n```bash\njanee serve\n```\n\n### Use with your agent\n\nAgents that support MCP (Claude Desktop, Cursor, OpenClaw) can now call the `execute` tool to make API requests through Janee:\n\n```typescript\n// Agent calls the execute tool\nexecute({\n  capability: \"stripe\",\n  method: \"GET\",\n  path: \"/v1/balance\",\n  reason: \"User asked for account balance\"\n})\n```\n\nJanee decrypts the key, makes the request, logs everything, and returns the response.\n\n---\n\n## Integrations\n\nWorks with any agent that speaks MCP:\n\n- **OpenClaw** — Native plugin (`@true-and-useful/janee-openclaw`)\n  - **Containerized agents?** See [Container setup guide](docs/container-openclaw.md)\n- **Cursor** — [Setup guide](docs/cursor.md)\n- **Claude Code** — [Setup guide](docs/claude-code.md)\n- **Codex CLI** — [Setup guide](docs/codex.md)\n- **Any MCP client** — just point at `janee serve`\n\n---\n\n## OpenClaw Integration\n\nIf you're using [OpenClaw](https://openclaw.ai), install the plugin for native tool support:\n\n```bash\nnpm install -g @true-and-useful/janee\njanee init\n# Edit ~/.janee/config.yaml with your services\n\n# Install the OpenClaw plugin\nopenclaw plugins install @true-and-useful/janee-openclaw\n```\n\nEnable in your agent config:\n\n```json5\n{\n  agents: {\n    list: [{\n      id: \"main\",\n      tools: { allow: [\"janee\"] }\n    }]\n  }\n}\n```\n\nYour agent now has these tools:\n\n- `janee_list_services` — Discover available APIs\n- `janee_execute` — Make API requests through Janee\n\nThe plugin spawns `janee serve` automatically. All requests are logged to `~/.janee/logs/`.\n\n---\n\n## MCP Tools\n\nJanee exposes three MCP tools:\n\n| Tool | Description |\n|------|-------------|\n| `list_services` | Discover available APIs and their policies |\n| `execute` | Make an API request through Janee (HTTP proxy mode) |\n| `exec` | Run a CLI command with injected credentials (exec mode) |\n| `manage_credential` | View, grant, or revoke access to agent-scoped credentials |\n| `reload_config` | Reload config from disk after adding/removing services (available when started with `janee serve`) |\n\nAgents discover what's available, then call APIs through Janee. Same audit trail, same protection.\n\n---\n\n## Configuration\n\nConfig lives in `~/.janee/config.yaml`:\n\n```yaml\nserver:\n  host: localhost\n\nservices:\n  stripe:\n    baseUrl: https://api.stripe.com\n    auth:\n      type: bearer\n      key: sk_live_xxx  # encrypted at rest\n\n  github:\n    baseUrl: https://api.github.com\n    auth:\n      type: bearer\n      key: ghp_xxx\n\ncapabilities:\n  stripe:\n    service: stripe\n    ttl: 1h\n    autoApprove: true\n\n  stripe_sensitive:\n    service: stripe\n    ttl: 5m\n    requiresReason: true\n```\n\n**Services** = Real APIs with real keys  \n**Capabilities** = What agents can request, with policies\n\n### Supported auth types\n\n| Type | Description | Example |\n|------|-------------|---------|\n| `bearer` | Bearer token in Authorization header | Stripe, OpenAI, GitHub |\n| `basic` | HTTP Basic Auth (username + password) | Internal APIs |\n| `hmac-bybit` | HMAC-SHA256 signing for Bybit | Bybit exchange |\n| `hmac-okx` | HMAC-SHA256 + passphrase for OKX | OKX exchange |\n| `hmac-mexc` | HMAC-SHA256 signing for MEXC | MEXC exchange |\n| `headers` | Custom key-value headers | Non-standard APIs |\n| `service-account` | Google service account JSON key | Google Cloud |\n| `github-app` | Short-lived GitHub installation tokens | GitHub API |\n| `oauth1a-twitter` | OAuth 1.0a per-request signing | Twitter/X API v2 |\n| `aws-sigv4` | AWS Signature V4 per-request signing | SES, S3, and other AWS services |\n\n#### Twitter/X OAuth 1.0a\n\nJanee computes OAuth 1.0a signatures (HMAC-SHA1) server-side, so your 4 Twitter secrets stay encrypted at rest and never enter the agent's context:\n\n```yaml\nservices:\n  twitter:\n    baseUrl: https://api.x.com\n    auth:\n      type: oauth1a-twitter\n      consumerKey: xxx        # encrypted at rest\n      consumerSecret: xxx     # encrypted at rest\n      accessToken: xxx        # encrypted at rest\n      accessTokenSecret: xxx  # encrypted at rest\n\ncapabilities:\n  twitter:\n    service: twitter\n    ttl: 1h\n    autoApprove: true\n```\n\nOr use the built-in template:\n\n```bash\njanee add twitter\n```\n\n#### AWS SigV4\n\nJanee computes AWS Signature V4 (HMAC-SHA256) per-request, keeping your access keys encrypted at rest. Non-secret fields (`region`, `awsService`) stay in plain config:\n\n```yaml\nservices:\n  aws-ses:\n    baseUrl: https://email.us-east-1.amazonaws.com\n    auth:\n      type: aws-sigv4\n      accessKeyId: AKIA...     # encrypted at rest\n      secretAccessKey: xxx     # encrypted at rest\n      region: us-east-1\n      awsService: ses\n\ncapabilities:\n  aws-ses:\n    service: aws-ses\n    ttl: 1h\n    autoApprove: true\n```\n\nBuilt-in templates for common AWS services:\n\n```bash\njanee add aws-ses    # Amazon SES\njanee add aws-s3     # Amazon S3\n```\n\n### Access control\n\nControl which agents can use which capabilities:\n\n```yaml\nserver:\n  host: localhost\n  defaultAccess: restricted   # capabilities require explicit allowlist\n\ncapabilities:\n  stripe:\n    service: stripe\n    ttl: 1h\n    allowedAgents: [\"agent-a\", \"agent-b\"]   # only these agents can use it\n\n  github:\n    service: github\n    ttl: 1h\n    # no allowedAgents + defaultAccess: restricted → no agent can use this\n```\n\n- **`defaultAccess: restricted`** — capabilities without an `allowedAgents` list are hidden from all agents\n- **`defaultAccess: open`** (default) — capabilities without an `allowedAgents` list are available to all agents\n- **`allowedAgents`** — per-capability list of agent names (matched against `clientInfo.name` from the MCP initialize handshake)\n\nCredentials created by agents at runtime default to `agent-only` access — only the creating agent can use them unless it explicitly grants access via the `manage_credential` tool.\n\n### Exec mode capabilities\n\n```yaml\nservices:\n  twitter:\n    auth:\n      type: bearer\n      key: tvly-xxx\n\ncapabilities:\n  twitter:\n    service: twitter\n    mode: exec\n    allowCommands: [\"bird\", \"tweet-cli\"]\n    envMap:\n      TWITTER_API_KEY: \"{{credential}}\"\n    ttl: 1h\n    autoApprove: true\n```\n\nExec-mode capabilities use `janee_exec` instead of `execute`. The credential is injected as an environment variable — the agent sees only stdout/stderr.\n\nRunner hardening defaults in exec mode:\n- isolated minimal environment (no full host env inheritance)\n- temporary `HOME` per command\n- timeout kills the process group\n\n### Runner/Authority mode (for containers)\n\nWhen agents run inside Docker containers, `janee_exec` on a remote host cannot access the container filesystem. The Runner/Authority architecture solves this:\n\n- **Authority** runs on the host: holds credentials, enforces policy, proxies API requests\n- **Runner** runs inside each container: serves MCP to the agent, forwards non-exec calls to the Authority, runs `janee_exec` locally\n\n```bash\n# Host: start Authority (MCP + exec authorization on one port)\njanee serve -t http -p 3100 --host 0.0.0.0 --runner-key \"$JANEE_RUNNER_KEY\"\n\n# Container: start Runner (agent talks to this)\njanee serve -t http -p 3200 --host 127.0.0.1 \\\n  --authority http://host.docker.internal:3100 --runner-key \"$JANEE_RUNNER_KEY\"\n```\n\nThe agent only needs `JANEE_URL=http://localhost:3200`.\n\nYou can also run the Authority as a standalone process:\n\n```bash\njanee authority --runner-key \"$JANEE_RUNNER_KEY\" --host 127.0.0.1 --port 9120\n```\n\nSee the [Runner/Authority guide](docs/runner-authority.md) for the full architecture, exec authorization flow, Docker Compose example, and troubleshooting.\n\n\n---\n\n## Request Policies\n\nControl exactly what requests each capability can make using `rules`:\n\n```yaml\ncapabilities:\n  stripe_readonly:\n    service: stripe\n    ttl: 1h\n    rules:\n      allow:\n        - GET *\n      deny:\n        - POST *\n        - PUT *\n        - DELETE *\n\n  stripe_billing:\n    service: stripe\n    ttl: 15m\n    requiresReason: true\n    rules:\n      allow:\n        - GET *\n        - POST /v1/refunds/*\n        - POST /v1/invoices/*\n      deny:\n        - POST /v1/charges/*  # Can't charge cards\n        - DELETE *\n```\n\n**How rules work:**\n\n1. **`deny` patterns are checked first** — explicit deny always wins\n2. **Then `allow` patterns are checked** — must match to proceed\n3. **No rules defined** → allow all (backward compatible)\n4. **Rules defined but no match** → denied by default\n\n**Pattern format:** `METHOD PATH`\n\n- `GET *` → any GET request\n- `POST /v1/charges/*` → POST to /v1/charges/ and subpaths\n- `* /v1/customers` → any method to /v1/customers\n- `DELETE /v1/customers/*` → DELETE any customer\n\n**This makes security real:** Even if an agent lies about its \"reason\", it can only access the endpoints the policy allows. Enforcement happens server-side.\n\n---\n\n## CLI Reference\n\n```bash\njanee init                    # Set up ~/.janee/ with example config\njanee add                     # Add a service (interactive)\njanee add stripe -u https://api.stripe.com -k sk_xxx  # Add with args\njanee remove <service>        # Remove a service\njanee remove <service> --yes  # Remove without confirmation\njanee list                    # List configured services\njanee list --json             # Output as JSON (for integrations)\njanee search [query]          # Search service directory\njanee search stripe --json    # Search with JSON output\njanee cap list                # List capabilities\njanee cap list --json         # List capabilities as JSON\njanee cap add <name> --service <service>  # Add capability\njanee cap edit <name>         # Edit capability\njanee cap remove <name>       # Remove capability\njanee serve                   # Start MCP server (stdio, default)\njanee serve --transport http --port 9100  # Start with HTTP transport (for containers)\njanee serve --authority https://janee.example.com --runner-key $JANEE_RUNNER_KEY  # Runner mode\njanee authority --runner-key $JANEE_RUNNER_KEY  # Start authority API\njanee logs                    # View audit log\njanee logs -f                 # Tail audit log\njanee logs --json             # Output as JSON\njanee sessions                # List active sessions\njanee sessions --json         # Output as JSON\njanee revoke <id>             # Kill a session\n```\n\n### Non-interactive Setup (for AI agents)\n\nAI agents can't respond to interactive prompts. Use `--*-from-env` flags to read credentials from environment variables — this keeps secrets out of the agent's context window:\n\n```bash\n# Bearer auth (Stripe, OpenAI, etc.)\njanee add stripe -u https://api.stripe.com --auth-type bearer --key-from-env STRIPE_KEY\n\n# HMAC auth (Bybit)\njanee add bybit --auth-type hmac-bybit --key-from-env BYBIT_KEY --secret-from-env BYBIT_SECRET\n\n# HMAC auth with passphrase (OKX)\njanee add okx --auth-type hmac-okx --key-from-env OKX_KEY --secret-from-env OKX_SECRET --passphrase-from-env OKX_PASS\n\n# GitHub App auth (short-lived tokens)\njanee add github --auth-type github-app --app-id-from-env GH_APP_ID --pem-from-env GH_PEM --installation-id-from-env GH_INSTALL_ID\n\n# Twitter/X OAuth 1.0a (per-request signing)\njanee add twitter --consumer-key $TWITTER_CONSUMER_KEY --consumer-secret $TWITTER_CONSUMER_SECRET \\\n  --access-token $TWITTER_ACCESS_TOKEN --access-token-secret $TWITTER_ACCESS_TOKEN_SECRET\n\n# AWS SigV4 (SES, S3, etc.)\njanee add aws-ses --access-key-id $AWS_ACCESS_KEY_ID --secret-access-key $AWS_SECRET_ACCESS_KEY \\\n  --region us-east-1 --aws-service ses\n```\n\nWhen all required credentials are provided via flags, Janee:\n- Never opens readline (no hanging on stdin)\n- Auto-creates a capability with sensible defaults (1h TTL, auto-approve)\n\nYou can also edit `~/.janee/config.yaml` directly if you prefer.\n\n---\n\n## How It Works\n\n```\n┌─────────────┐      ┌──────────┐      ┌─────────┐\n│  AI Agent   │─────▶│  Janee   │─────▶│  Stripe │\n│             │ MCP  │   MCP    │ HTTP │   API   │\n└─────────────┘      └──────────┘      └─────────┘\n      │                   │\n   No key           Injects key\n                    + logs request\n```\n\n1. Agent calls `execute` MCP tool with capability, method, path\n2. Janee looks up service config, decrypts the real key\n3. Makes HTTP request to real API with key\n4. Logs: timestamp, service, method, path, status\n5. Returns response to agent\n\nAgent never touches the real key.\n\n> 📐 **Deep dive:** See [Architecture & Security Model](docs/architecture.md) for detailed diagrams, threat model, and comparison with alternatives.\n\n---\n\n## Security\n\n- **Encryption**: Keys stored with AES-256-GCM\n- **Agent identity**: Derived from `clientInfo.name` in the MCP initialize handshake — no custom headers needed\n- **Agent isolation**: Each agent gets its own session with isolated identity (HTTP transport creates a Server+Transport per session)\n- **Access control**: Per-capability `allowedAgents` whitelist + server-wide `defaultAccess` policy\n- **Credential scoping**: Agent-created credentials default to `agent-only`\n- **Audit log**: Every request logged to `~/.janee/logs/`\n- **Sessions**: Time-limited, revocable\n- **Kill switch**: `janee revoke` or delete config\n\n---\n\n\n## Docker\n\nRun Janee as a container — no local Node.js required:\n\n```bash\n# Build\ndocker build -t janee .\n\n# Run in HTTP mode\ndocker run -d -p 3000:3000 \\\n  -v ~/.janee:/root/.janee:ro \\\n  janee --transport http --port 3000 --host 0.0.0.0\n```\n\nOr use Docker Compose:\n\n```bash\nmkdir -p config && cp ~/.janee/config.yaml config/\ndocker compose up -d\n```\n\nFor Claude Desktop with Docker, see [Docker docs](docs/docker.md).\n\n---\n## Contributing\n\nWe welcome contributions! Please read **[CONTRIBUTING.md](docs/CONTRIBUTING.md)** before submitting a PR — it includes the required PR checklist (tests, changelog, version bump, etc.).\n\n---\n\n## License\n\nMIT — Built by [True and Useful LLC](https://trueanduseful.com)\n\n---\n\n**Stop giving AI agents your keys. Start controlling access.** 🔐\n","readmeFilename":"README.md"}