{"_id":"@aiconnect/confidant","_rev":"21-8af17be1081a606d3163c0b62ea08140","name":"@aiconnect/confidant","dist-tags":{"latest":"1.5.3"},"versions":{"1.0.0":{"name":"@aiconnect/confidant","version":"1.0.0","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.0.0","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"5feb70d33fb419b69f2ac934e059d0216dcc454d","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.0.0.tgz","fileCount":103,"integrity":"sha512-raOo3e+OC62GVMHrsoOwxNEXPZG0heOP1Z73He18WmpDyxpQDUvCIQp3+Zq+nruozuwPuvI1P7yw5iq1hLJsfg==","signatures":[{"sig":"MEYCIQCTJKRAeusO/KStGr9bsS+Zh0v3Kt5iYkarXEaor8SUUgIhAJNSWin3MkQWET1MPgx7aj3DnfszrBZ6soKlRZTJotay","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329248},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a448b00bd87f19c7dfa389fe91e62024e3a74c54","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","test:run":"vitest run","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.0.0_1769786068608_0.16745073394132226","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiconnect/confidant","version":"1.0.1","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.0.1","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"941ea0393c52db1538c82cedbbdf24c5ddb1f536","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.0.1.tgz","fileCount":79,"integrity":"sha512-I5+Q6QbkVvpdUjT3qMgadfGQOVQtPfU3NfUdcyTC+HBQkkydSpXuQqZrTEe3+90S7ZrBpxeSLxijGFPIS7ctQg==","signatures":[{"sig":"MEYCIQDvfmqst6//jO56iwKKqIz2XwqqnsMiPna41WkuKomU3QIhANb09Pghj3zRZwLMr9p3Im2eeXtRys+x2X+mt+tfeJZs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219010},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2930cc499f5bf0420c75b1594cf715e9d55acb7","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.0.1_1769786443514_0.6348884987509604","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiconnect/confidant","version":"1.0.2","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.0.2","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"792396f4f610f5b087caa1c8f87b93e0137140be","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.0.2.tgz","fileCount":79,"integrity":"sha512-k0e6calfM6+E4uyNQxwgOMgWQOKHFstSeyJvhVr8cqhlCOUQwfB6GQQ0k+PrRnDesInVxiApq3D4s+LwOmJX3g==","signatures":[{"sig":"MEUCIQCMFiRKQIhSv6lAH4ZJkRdEFcIczLJM9H052Fgrfh5DSAIgRbPyKD6uwlEl0mnDTHIhQLQCduWPz6RRGZO3pYVP7sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219434},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c71f388869b3d13af11bf93c49bc90c6b379b79","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.0.2_1769786637865_0.488674536073066","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aiconnect/confidant","version":"1.1.0","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.1.0","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"ca553b25bd22f614ee7a47966227aaa9f5cc3483","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.1.0.tgz","fileCount":83,"integrity":"sha512-xdSuQbKIuu2hYtxRVElvK8IJPTaLSqT8r26A5nf2ful0uRSPyGdRnf82X7+Lfm9iSJVZFUV+AA3ClknqklHiNQ==","signatures":[{"sig":"MEUCIAdI2+JGXkFF63gdSMZxUw/T9PdtMVBnIEawLN57FwfuAiEA16wUtqjo1sZTKbxcNC18JHuoLMXsmDfmHo8OsF7EAnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228669},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1a4a451c97497f474650f7b3b3abb286c3f3b2e8","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.1.0_1769787046419_0.34304184141606475","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@aiconnect/confidant","version":"1.3.4","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.3.4","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"5d26430cc19d8e615c6bf3fec307000c204e36ae","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.3.4.tgz","fileCount":87,"integrity":"sha512-SG10MLEnBx2L4Yp636Li89gtlLppnzdHyyxDIaNynO2ZLkq5G3k3zdrGYzbUQE9qvslazl79KdHu+CjmWfpkbQ==","signatures":[{"sig":"MEYCIQDpb/EMpvBr3yru22tZ858MJCIOpUodnAzJmUFgV8QQDgIhAIZxWqvMHEH8mQSAZShntGFBbsQN1U2LJIdSSWtZDMeL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232637},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a35a8d436b4d1bf5821eaa3f42ae9df3d901e903","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.3.4_1769799591337_0.9313718568827827","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aiconnect/confidant","version":"1.4.0","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.4.0","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"5f1c93b88fd7a3b1d7e8f201ba348e1736d6be3a","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.4.0.tgz","fileCount":91,"integrity":"sha512-zu/fdZPJhe5QPXKe9jJnYFRtS9v17vAfvRtgohBmLEZKXsz4VHj4HvOYO6dMCKff9tjINbXLgzq1ZrFX2WHImA==","signatures":[{"sig":"MEYCIQCtdEuL/sbZdxW589DPwiciV1S3EcZKjFamyKlcxI/24AIhAIJnnKC8MxQCkoHzgWc/y4t1VFLYxNtQVSLMRrKBD1L0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247587},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bb8fe563ec98930040932e2a196c8d77b45ee13b","scripts":{"dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.4.0_1769901167072_0.7702261115464146","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@aiconnect/confidant","version":"1.4.1","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.4.1","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"53c5fe0ebd6deafb9ac929ad5a94bedbd4749df4","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.4.1.tgz","fileCount":91,"integrity":"sha512-4GPcTjxYynpCdoDf1/12fj4SoGg4P0nvxIuCRWPRdKsxlqW/nCdr3gWfnIlC/z4InIluwHANv7jlUEP+UbB3Dg==","signatures":[{"sig":"MEYCIQC12Eydw9k5Q4mzmlHGTM1XxxTy/LXc5qLTOnJrIIYPcwIhAJl4tDiz3VjNqlqIJzqTvl8hBmpbzAybx4vkxnggoIvf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252468},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bfd6011b24d779d4611fff8edb05db914a9361ff","scripts":{"cli":"node dist/cli.js","dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.4.1_1769903967249_0.16209175716646262","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@aiconnect/confidant","version":"1.4.2","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.4.2","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"782056791f1c8ffcd1214f192b7adef4aa02bcad","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.4.2.tgz","fileCount":91,"integrity":"sha512-RB3qGZdMJHdDla5R21cCsTRUZwRY0koR7mIM8qf32P4uJtObejoln1kpVAvKUFfPNifTTYUUg3tbL7uRoy3Fxw==","signatures":[{"sig":"MEQCIBGJSL9WujL8a2hFMXmH7hmy/BmRD9rT4zFESr+i7tLQAiBQeyT7DinmRdvQA2uA1x6AmGru13COw762mj8uIrqtaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253995},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"431e8fd611817b235b583cac6d1d24ea2ea3826c","scripts":{"cli":"node dist/cli.js","dev":"tsx watch src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","skill:publish":"npx clawdhub publish ./clawdbot/skill --slug confidant --registry \"https://www.clawhub.ai\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.4.2_1769910395280_0.4664632132408051","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@aiconnect/confidant","version":"1.5.1","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.5.1","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"b8b320d6af2f83d8c3b086edbd3dfe20d8042865","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.5.1.tgz","fileCount":96,"integrity":"sha512-214t1ZEM77a69BQptxeyQEdC7BtbiXhp+3yYINeyHsmMLg6hcGyaQLFCHsby4OZ4T0r+912/tofwV1ieuNHDRw==","signatures":[{"sig":"MEYCIQDuueRN5f7GVUQvtis4xq+/xGPeddOcSGVYHlkjPgU5lgIhAK6H8XxjseW4ooNP1OowQNOK2HwT+U0oTVvRiLys6heR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290945},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b7395a3a0d3307a9de41e03ecdd8a7ffd8c4f44a","scripts":{"cli":"node dist/cli.js","dev":"tsx watch src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","test:watch":"vitest","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","skill:publish":"npx clawdhub publish ./clawhub/skill --slug confidant --registry \"https://www.clawhub.ai\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.6.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.5.1_1771458938404_0.3229966819569563","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@aiconnect/confidant","version":"1.5.2","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","_id":"@aiconnect/confidant@1.5.2","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"homepage":"https://github.com/johnjohn-aic/confidant#readme","bugs":{"url":"https://github.com/johnjohn-aic/confidant/issues"},"bin":{"confidant":"dist/cli.js"},"dist":{"shasum":"ddc791e56bbd27efcb6966ac32681e25121820bc","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.5.2.tgz","fileCount":96,"integrity":"sha512-QgnXygUraEPD3ujMtdKSw+/Gc+1FOdy+LXcakHqf93v3gSVJEcJF8nCsitxmTnS1lp9LrYhoQ95+w1Nk6G6wdA==","signatures":[{"sig":"MEQCICMZJXmgmJ9sVVHPoSNygTIt3qKeIig0zuihNaEGX/AIAiA3W2Dkid9TRER1fOJo01SjNw2xbV7XNYwc/Kns/c+Qwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290786},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"99079359ae28aa97d785b8d06178f8151bcbfdeb","scripts":{"cli":"node dist/cli.js","dev":"tsx watch src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","test:ui":"vitest --ui","version":"npm run build","test:run":"vitest run","preversion":"npm run test:run","test:watch":"vitest","postversion":"git push && git push --tags","publish:npm":"npm publish --access public","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","skill:publish":"npx clawdhub publish ./clawhub/skill --slug confidant --registry \"https://www.clawhub.ai\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"repository":{"url":"git+https://github.com/johnjohn-aic/confidant.git","type":"git"},"_npmVersion":"11.8.0","description":"Secure secret handoff system with time-limited access","directories":{},"_nodeVersion":"25.6.0","dependencies":{"zod":"^3.22.0","hono":"^4.0.0","chalk":"^5.3.0","commander":"^12.1.0","node-fetch":"^3.3.2","@hono/node-server":"^1.19.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.19.30"},"_npmOperationalInternal":{"tmp":"tmp/confidant_1.5.2_1771460806126_0.32436394457825446","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@aiconnect/confidant","version":"1.5.3","description":"Secure secret handoff system with time-limited access","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","type":"module","bin":{"confidant":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/index.ts","build":"tsc","start":"node dist/index.js","cli":"node dist/cli.js","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:run":"vitest run","prepublishOnly":"npm run build","preversion":"npm run test:run","version":"npm run build","postversion":"git push && git push --tags","release:patch":"npm version patch","release:minor":"npm version minor","release:major":"npm version major","publish:npm":"npm publish --access public","skill:publish":"npx clawdhub publish ./clawhub/skill --slug confidant --registry \"https://www.clawhub.ai\""},"keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"author":{"name":"AI Connect"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aiconnect-cloud/confidant.git"},"homepage":"https://github.com/aiconnect-cloud/confidant#readme","bugs":{"url":"https://github.com/aiconnect-cloud/confidant/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"dependencies":{"@hono/node-server":"^1.19.9","chalk":"^5.3.0","commander":"^12.1.0","hono":"^4.0.0","node-fetch":"^3.3.2","zod":"^3.22.0"},"devDependencies":{"@types/node":"^20.19.30","@vitest/ui":"^4.0.18","tsx":"^4.21.0","typescript":"^5.9.3","vitest":"^4.0.18"},"gitHead":"e861fa2374fbeab3e37d28b2cf4c8663b694d3c4","_id":"@aiconnect/confidant@1.5.3","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-uGpLM39VOCIhDppSyUx6QmWjIDgFsDvl+9RCK1momq6f4hTvHR3HTdW+gq6MrXGhlNMEENlunKu9LZyy/1a4Yw==","shasum":"77618e5fbfb5952ef85f0fcfc191c46fedea119a","tarball":"https://registry.npmjs.org/@aiconnect/confidant/-/confidant-1.5.3.tgz","fileCount":96,"unpackedSize":290795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHgx+dTVpOXYzjHOmaXCVbgRL43rcLUiSGrohxoUbz7AAiEA2hSDUlNH6HZk65o9v9EeVrHVpCGS15PLbvdrD3co89Q="}]},"_npmUser":{"name":"ericsantos","email":"ericsantos.net@gmail.com"},"directories":{},"maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/confidant_1.5.3_1771525155155_0.6517683791802829"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-30T15:14:28.506Z","modified":"2026-02-19T18:19:15.481Z","1.0.0":"2026-01-30T15:14:28.758Z","1.0.1":"2026-01-30T15:20:43.668Z","1.0.2":"2026-01-30T15:23:58.052Z","1.1.0":"2026-01-30T15:30:46.593Z","1.3.0":"2026-01-30T17:54:17.633Z","1.3.1":"2026-01-30T18:23:09.340Z","1.3.2":"2026-01-30T18:50:08.300Z","1.3.3":"2026-01-30T18:56:22.895Z","1.3.4":"2026-01-30T18:59:51.520Z","1.4.0":"2026-01-31T23:12:47.229Z","1.4.1":"2026-01-31T23:59:27.399Z","1.4.2":"2026-02-01T01:46:35.431Z","1.5.0":"2026-02-18T23:10:58.086Z","1.5.1":"2026-02-18T23:55:38.563Z","1.5.2":"2026-02-19T00:26:46.314Z","1.5.3":"2026-02-19T18:19:15.352Z"},"bugs":{"url":"https://github.com/aiconnect-cloud/confidant/issues"},"author":{"name":"AI Connect"},"license":"MIT","homepage":"https://github.com/aiconnect-cloud/confidant#readme","keywords":["secret","handoff","security","ttl","hono","api","confidant","one-time-secret"],"repository":{"type":"git","url":"git+https://github.com/aiconnect-cloud/confidant.git"},"description":"Secure secret handoff system with time-limited access","maintainers":[{"name":"ericsantos","email":"ericsantos.net@gmail.com"}],"readme":"# Confidant\n\n**The secure secret handoff tool and credential setup wizard for AI agents.**\n\nWhen your AI assistant needs a password, API key, or any sensitive credential, where does it go? Through chat history. Logged. Stored. Exposed.\n\nConfidant solves this. It creates a secure, time-limited channel where humans can submit secrets directly to AI assistants — without the secret ever touching chat logs.\n\n## The Problem\n\nAI assistants like [OpenClaw](https://github.com/openclaw/openclaw), Nanobot, Picoclaw, Zeroclaw, Claude Code, and others are becoming trusted collaborators. They need credentials to help you:\n\n- Deploy to your servers\n- Access your APIs\n- Configure your services\n- Manage your accounts\n\nBut every time you paste a password in chat, it's logged somewhere. Chat history, model training data, audit logs. That's not secure.\n\n## The Solution\n\nConfidant provides a **pull-based secret handoff**:\n\n1. **AI requests a secret** → Creates a secure request with a unique URL\n2. **Human receives the URL** → Opens it in their browser\n3. **Human submits the secret** → Direct browser-to-server, bypassing chat\n4. **AI retrieves the secret** → Auto-polls until the secret arrives\n5. **Secret self-destructs** → Deleted immediately after retrieval\n\n```text\n┌─────────────┐     1. Request      ┌─────────────┐\n│             │ ─────────────────▶  │             │\n│     AI      │                     │  Confidant  │\n│  Assistant  │  ◀─────────────────  │   Server    │\n│             │     4. Secret       │             │\n└─────────────┘                     └─────────────┘\n                                          ▲\n                                          │ 3. Submit\n                                          │    (HTTPS)\n                                    ┌─────────────┐\n        2. URL via chat             │             │\n    ─────────────────────────────▶  │    Human    │\n                                    │   Browser   │\n                                    └─────────────┘\n```\n\nThe secret never passes through chat. It's a direct handshake between human and AI.\n\n## Quick Start\n\nNo installation required:\n\n```bash\nnpx @aiconnect/confidant serve-request --label \"API Key\"\n```\n\nA secure URL is generated. Open it in your browser, submit the secret, and it's delivered directly to the terminal.\n\n## Installation\n\nFor frequent use, install globally:\n\n```bash\nnpm install -g @aiconnect/confidant\n```\n\nOr run any command with `npx @aiconnect/confidant <command>` without installing.\n\n## For AI Agents (ClawHub Skill)\n\nIf you're running an AI agent like [OpenClaw](https://github.com/openclaw/openclaw), install the Confidant skill from [ClawHub](https://www.clawhub.ai):\n\n```bash\nclawdhub install confidant\n```\n\nOnce installed, your agent learns how to:\n\n- Request secrets from users without exposing them in chat\n- Deliver secrets to users securely\n- Exchange credentials with other agents\n\n👉 **[View on ClawHub](https://www.clawhub.ai/skills/confidant)**\n\n## Usage\n\n### Request a Secret (Human → AI)\n\nThe primary flow — an AI assistant needs a credential from a human:\n\n```bash\n# Start server + create request in one command\nconfidant serve-request --label \"API Key\"\n\n# Or, if the server is already running:\nconfidant request --label \"API Key\"\n```\n\nThe AI shares the URL in chat, the human opens it in their browser and submits the secret. The secret is delivered directly to the AI — never logged in chat.\n\n### Auto-save Secrets to Config Files\n\nConfidant can save received secrets directly to your filesystem with secure permissions (`chmod 600`), making it a one-command setup wizard:\n\n**Convention mode** — saves to `~/.config/<service>/api_key`:\n\n```bash\nconfidant request --service serpapi\nconfidant request --service openai --env OPENAI_API_KEY\n```\n\n**Explicit path mode** — full control over file location:\n\n```bash\nconfidant request --save ~/.credentials/my-secret.txt\nconfidant request --save ~/.config/aws/credentials --env AWS_ACCESS_KEY_ID\n```\n\nAuto-save also works with the `get` command:\n\n```bash\nconfidant get <secret-id> --service myservice\n```\n\n### Deliver a Secret (AI → Human)\n\nWhen the AI needs to securely deliver a secret to a user (generated password, API key):\n\n```bash\n# User runs this (they will receive the secret)\nconfidant serve-request --label \"Generated Password\"\n# → http://localhost:3000/requests/abc123...\n\n# AI executes this to send the secret\nconfidant fill \"http://localhost:3000/requests/abc123...\" --secret \"my-secure-password-123\"\n```\n\nThe secret travels from AI → server → user terminal, never appearing in chat.\n\n### Agent-to-Agent Communication\n\nConfidant supports direct secret submission between automated agents without requiring a browser:\n\n```bash\n# Agent A - Creates a request\nconfidant request --label \"API Key\"\n# → http://192.168.1.100:3000/requests/abc123...\n\n# Agent B - Submits the secret programmatically\nconfidant fill \"http://192.168.1.100:3000/requests/abc123...\" --secret \"sk-xxxx\"\n```\n\nFor production, avoid passing secrets on the command line:\n\n```bash\n# Read from stdin (safer - avoids shell history)\necho \"$SECRET\" | confidant fill <url> --secret -\n\n# From password managers\nop read \"op://Vault/Item/password\" | confidant fill <url> --secret -\n```\n\nJSON output for scripting:\n\n```bash\nresult=$(confidant fill \"$URL\" --secret \"$SECRET\" --json)\nif echo \"$result\" | jq -e '.success' > /dev/null; then\n  echo \"Secret delivered\"\nfi\n```\n\n**Orchestrator pattern** — distributing secrets to multiple agents:\n\n```bash\n#!/bin/bash\nfor agent in \"http://agent1:3000\" \"http://agent2:3000\"; do\n  request=$(curl -s \"$agent/requests\" -X POST -H \"Content-Type: application/json\" \\\n    -d '{\"expiresIn\": 300, \"label\": \"DB Credentials\"}')\n\n  hash=$(echo \"$request\" | jq -r '.hash')\n\n  confidant fill \"$agent/requests/$hash\" --secret \"$DB_PASSWORD\"\ndone\n```\n\n## Use Cases\n\n### For AI Assistants\n\n```bash\nconfidant request --quiet\n# Outputs just the URL to share with the human\n```\n\n### For DevOps / CI/CD\n\n```bash\nconfidant create --secret \"$DEPLOY_KEY\" --max-access-count 1\n# Share the ID with your pipeline\n```\n\n### For Team Collaboration\n\n```bash\nconfidant create --secret \"temp-password\" --ttl 300000\n# Secret expires in 5 minutes\n```\n\n## CLI Reference\n\n### `confidant serve`\n\nStart the Confidant server.\n\n### `confidant serve-request`\n\nStart the server and immediately create a secret request.\n\n### `confidant request`\n\nCreate a secret request and wait for submission.\n\nOptions:\n\n- `--expires-in <seconds>` - Request expiration (default: 86400)\n- `--poll-interval <seconds>` - Polling interval (default: 2)\n- `--poll <id>` - Manually poll for an existing request by ID\n- `--label <text>` - Label describing the requested secret (max 200 characters)\n- `--save <path>` - Save received secret to file path (with chmod 600)\n- `--service <name>` - Save to ~/.config/\\<service\\>/api_key (convention mode)\n- `--env <varname>` - Set environment variable after saving (requires --save or --service)\n- `--quiet` - Minimal output (just URLs and secret)\n- `--json` - JSON output format\n- `--verbose` - Show detailed info including network detection\n\n### `confidant create`\n\nCreate a secret directly.\n\nOptions:\n\n- `--secret <value>` - The secret to store\n- `--ttl <ms>` - Time-to-live in milliseconds\n- `--max-access-count <n>` - Maximum access count\n\n### `confidant get <id>`\n\nRetrieve a secret by ID.\n\nOptions:\n\n- `--save <path>` - Save to file path (with chmod 600)\n- `--service <name>` - Save to ~/.config/\\<service\\>/api_key (convention mode)\n- `--env <varname>` - Set environment variable after saving (requires --save or --service)\n\n### `confidant fill <url-or-hash>`\n\nSubmit a secret to an existing request.\n\nOptions:\n\n- `--secret <value>` - Secret value to submit (use `-` for stdin)\n- `--json` - JSON output format\n\nExamples:\n\n```bash\nconfidant fill \"http://localhost:3000/requests/abc123...\" --secret \"sk-xxxx\"\nconfidant fill abc123... --secret \"sk-xxxx\" --api-url \"http://192.168.1.100:3000\"\necho \"my-secret\" | confidant fill <url> --secret -\n```\n\n### `confidant delete <id>`\n\nDelete a secret.\n\n### `confidant status <id>`\n\nCheck secret status.\n\n## API Endpoints\n\n| Method | Endpoint              | Description                             |\n| ------ | --------------------- | --------------------------------------- |\n| POST   | `/requests`           | Create a secret request                 |\n| GET    | `/requests/:hash`     | Secret submission form (HTML)           |\n| POST   | `/requests/:hash`     | Submit a secret                         |\n| GET    | `/requests/:id/poll`  | Poll for secret availability            |\n| POST   | `/secrets`            | Create a secret directly                |\n| GET    | `/secrets/:id`        | Retrieve a secret                       |\n| GET    | `/secrets/:id/status` | Check secret status                     |\n| DELETE | `/secrets/:id`        | Delete a secret                         |\n| GET    | `/api/urls`           | Get server URLs (localhost and network) |\n| GET    | `/health`             | Health check                            |\n\n## Deployment & Network Access\n\n### Local Development\n\n```bash\nnpm run dev\n```\n\n### Docker\n\n```bash\ndocker build -t confidant .\ndocker run -p 3000:3000 confidant\n```\n\n### Production\n\nDeploy behind a reverse proxy (nginx, Caddy) with proper TLS.\n\n### Network URL Detection\n\nWhen creating a request, Confidant automatically detects and displays URLs for different scenarios:\n\n- **Localhost** — for same-machine access (`http://localhost:3000/requests/...`)\n- **Local Network IP** — auto-detected for cross-device access on the same network (`http://192.168.1.100:3000/requests/...`)\n\nUse `--verbose` to see network detection details.\n\n### External Access (Tunneling)\n\nFor containers, VMs, or remote access, expose Confidant with a tunneling service:\n\n| Service               | Setup                                            | Notes                            |\n| --------------------- | ------------------------------------------------ | -------------------------------- |\n| **ngrok**             | `ngrok http 3000`                                | Quick setup, free tier available |\n| **localtunnel**       | `npx localtunnel --port 3000`                    | No signup required               |\n| **Cloudflare Tunnel** | `cloudflared tunnel --url http://localhost:3000` | Zero trust                       |\n| **Tailscale**         | `tailscale ip -4` (use the IP)                   | Mesh VPN                         |\n\nThen point the CLI to the public URL:\n\n```bash\nexport CONFIDANT_API_URL=https://abc123.ngrok.io\nconfidant request\n```\n\n## Security Notes\n\n- **No persistence by default**: Secrets live in memory only\n- **Auto-expiration**: Secrets self-destruct after TTL or access limit\n- **No chat logging**: Secrets bypass chat history entirely\n- **Secure file permissions**: Auto-saved files use chmod 600 (owner read/write only)\n- **HTTPS required**: Always use TLS in production (ngrok provides this automatically)\n\n## Troubleshooting\n\n**Localhost URL not working?**\n\n- Ensure the server is running: `confidant serve`\n- Check if port 3000 is available: `lsof -i :3000`\n\n**Local Network IP not accessible?**\n\n- Verify both devices are on the same network\n- Check firewall settings on the host machine\n- Use `--verbose` to see the detected IP\n\n**Cross-device not working?**\n\n- Mac Mini + iPhone: ensure both are on the same Wi-Fi\n- Docker + Host: use `--network host` or port mapping\n- VM + Host: use bridged or host-only network adapter\n\n**Tunneling issues?**\n\n- Verify the tunnel is forwarding to port 3000\n- Check the tunnel service status page\n- Some tunnels require authentication — check service docs\n\n## Environment Variables\n\n| Variable            | Default                 | Description               |\n| ------------------- | ----------------------- | ------------------------- |\n| `PORT`              | 3000                    | Server port               |\n| `CONFIDANT_PORT`    | 3000                    | Server port (alternative) |\n| `CONFIDANT_API_URL` | `http://localhost:3000` | API URL for CLI           |\n\n## Tech Stack\n\n- **Runtime**: Node.js 18+\n- **Language**: TypeScript\n- **Framework**: Hono\n- **Validation**: Zod\n\n## Architecture\n\nFor internal documentation on the modular registry system, see [docs/registry.md](docs/registry.md).\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n\n## Trademarks\n\nAI Connect is a registered trademark under the control of ERIC SANTOS LLC.\n\nSee [TRADEMARKS.md](TRADEMARKS.md).\n\n---\n\n**Confidant**: Because your AI assistant shouldn't have to ask for passwords in public.\n","readmeFilename":"README.md"}