{"_id":"latchkey","_rev":"84-da6a6a707ea1535fc61422c54076f2eb","name":"latchkey","dist-tags":{"latest":"3.15.0"},"versions":{"0.1.0":{"name":"latchkey","version":"0.1.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.1.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"44d5931b9658eed63a6a1edbec92ecaa5526cb7b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.1.0.tgz","fileCount":176,"integrity":"sha512-+1pfkAR/t9m3/A/8RTBxUC29AUfpuVo251SXshUl5RlJGfTI0BdnJ8stonx/X3MryeGmue7N7oMWlgVX1Y1mKg==","signatures":[{"sig":"MEYCIQD/Mdgjus9qXCm15W93u5pgGeCsYRYlOAVqCSnMOapW1QIhAI2CnwKGZ4s4Xo1WCRhsUveCS6spLVg4y8HjLs1f/jP7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493891},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7d705540a6fbc04cf478f83842f9dc8587e6b6de","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","postinstall":"npx playwright install chromium","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.1.0_1769773906771_0.6081858545110961","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"latchkey","version":"0.1.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.1.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"138e43e0d21fe663b7289e45ab47717a3f92f905","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.1.1.tgz","fileCount":135,"integrity":"sha512-WnTS4wpsL2vxsi4WeHWvKkQQ9SqA4D9YFmVRKjBilPL4g2xb95hJXXpjhYNuRhWW0wBNzNlE4/2TdNAUylUULw==","signatures":[{"sig":"MEUCIQCtjKWUSp9OhD0J3PnvDOzvl/mi6GXvjIb5/Ri19qhi3AIgbRD1Z5FPRkp6TPtH4yAZnuleYJwEWAl0OA9dfSbcZSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342810},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"309fbef5f7151a4e821295acc5f1de0a833f95ed","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","postinstall":"npx playwright install chromium","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.1.1_1769774648659_0.7814932175141871","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"latchkey","version":"0.1.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.1.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"3fd80035a6a62ecdc0cc29f285bd03b325ee87b4","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.1.2.tgz","fileCount":135,"integrity":"sha512-DskwV6AB1x5QaIB0Me+TuXGx162kFNdSvFPnImULvnpwGehErx8eSkqN4hszwhKpbc9jPdFsd61HrlZncGakWQ==","signatures":[{"sig":"MEUCIBYnnR+QiVVSzzRk9r5rprIcr98H0HtJh9RaRTc7ZzGQAiEAv1Lc9COXU3n6UeJgr6zEzD3rdaHX/1VHYOLc9KYIZlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342818},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"414a89caff565bb2710c7da7362e331415e1e639","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","postinstall":"npx playwright install chromium","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.1.2_1769774726135_0.8273606167784626","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"latchkey","version":"0.1.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.1.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"89a3795688607b004d4bfda7ab06a461317b15af","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.1.3.tgz","fileCount":135,"integrity":"sha512-PdkyDiC68Qa1lp8NjyIkZxit5Mf0pPS6jSW6nSbWmTTSXlAs989sRJxwd5dW+wgZ8GNLOv4CbhC4f4PTG4F4uw==","signatures":[{"sig":"MEUCIQCrQscX4ahbigeZp4qEBh/CsNN8CWPhsBs21bcwKUBC0QIgfMfVYFeIlOIQeExpOm/MelEpF2WTiKKMm0avIvlEz4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342818},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"965d083e0bb0d9d619800f3ba437d2fd78701f02","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","postinstall":"npx playwright install chromium","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.1.3_1769775958084_0.8931610497523308","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"latchkey","version":"0.1.4","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.1.4","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1509b22f850a414e294f48cef0eb6239be0b1f79","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.1.4.tgz","fileCount":135,"integrity":"sha512-zM5nCfHAens9EWBuoGW07naZ97RKJQD8r+iOYU1ThN7RFMhJ2YmjDZcRchuz3dyd5rqNKLbf+Ai0DpyKUCue2w==","signatures":[{"sig":"MEQCIDPJst1ar6BrENKJWCuTaMe9V5maSwJHDEn2AlPS90wkAiATM7FUlF7d0i3HiCxg8AvkuujCwa+nP5WaVBdyeHJFkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373381},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ee98caef18db7e3a393b3ce00baf496fa76c623e","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.1.4_1770140386379_0.4179217910543689","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"latchkey","version":"0.2.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@0.2.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"4a5ac14f391f4bee4e475032a80cabd5cf18dd4b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-0.2.0.tgz","fileCount":161,"integrity":"sha512-nTi3w5dvXBZne6bB8h9D/TXV4MSUST6rYecRew1YO073PrbayDnJGLpMOTFMWcHHeRh8dI/3HoJLSMApYZvBHw==","signatures":[{"sig":"MEYCIQCKomg/khNJzoUYQPv+LUEAJskWrdccufaD5PPeT8bdCwIhAI881jH5DLwB0XvouBLgdoOTwy/MnEvzW936VizwwhQm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475485},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"eab408514ac60b48ef9cb0b299bb2433c39fbefa","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.49.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_0.2.0_1770736008646_0.2475030180552824","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"latchkey","version":"1.0.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@1.0.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"0328a97c507cc83dc48ed3f1b2a2dfb30b45080a","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-1.0.0.tgz","fileCount":165,"integrity":"sha512-Zfaq1Qbr1cxrZYTHJw7Eb0hzqk1LfhncqZywCPQ1+OVsIXGe+bMKG0p7Hz+IukQnmFDBMRLcdyGs/jE5+6stHw==","signatures":[{"sig":"MEUCIQDvfGjgUh+Bi9oXeZUqRwLSa/gld7Cpbia0Sjse0ceARQIgN5QhZAKC36LhX90JwwKHjA+mBm7PmP6mn+cxDPA1z4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":507317},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0886cd997e687e7404cc4bd3e214932f9f552f88","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_1.0.0_1770989483379_0.34892763421075657","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"latchkey","version":"1.0.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@1.0.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"d52461d02467333729b32402367ed0d537919bf7","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-1.0.1.tgz","fileCount":189,"integrity":"sha512-E171mrYDW+Xw1eROlbI7T/ZPEFqWK+PV3EaaConBJxqmbUGlQg1YhNl5VYMOW4pB9bWn56MZSgqiMYdehJRLeQ==","signatures":[{"sig":"MEUCIBhexxxuXDXgbsFVAx2/tKzfF62eYP5r3v2oDlb4vXiSAiEAowyg5dUsewU8s18DgBhBNaMuAOenlacKXF5Nh/wNE+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574713},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"229d2575b4ac98904523ee8c823ea7b2229a21b7","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_1.0.1_1771010013172_0.7486851977496414","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"latchkey","version":"2.0.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.0.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"2613a3aadf9a688fd1e8b4dee76a91a941605b5b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.0.0.tgz","fileCount":289,"integrity":"sha512-O9BZjZE8HvhkVGtdTHSP8jnZz68g0sz/t3B6erkuQYw/+nSQRQuJ9XDIgBTOx4xpJYLRtvcF3WEOYrL1rRVz2w==","signatures":[{"sig":"MEYCIQD7fFDzAjCKAqHFBmM4S9EaJ8VlqGovvw8Ll5e4NUxExQIhAPFFnc02U7wZ/L9agIbwP5dzWKhZNHjZMp5YDOzvq5U2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708049},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"b4ccd3df999f1c3fa6d4cb654410c4017bb711bb","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests for known third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.0.0_1771605981743_0.24676777010158446","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"latchkey","version":"2.1.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.1.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"b692d1abcae1155bbf44ffb1e974209f5cf368fe","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.1.0.tgz","fileCount":309,"integrity":"sha512-H0afOoX4lpaychIsRsMzA0qdZ8jt0ZVHLS3sXOPObNeXeQ1I5aeLJGU0nVjrRRL1LlIwOt6SVJqck9sXRtnU/A==","signatures":[{"sig":"MEQCIFk0Q3/1PbGqWiuMLOCpt3Ji8epJVCO/mfxA3U2k0F/PAiAO5PAAM7r+tGSQHPJgr8hH0/nDQmFcta/VIVNCKAeOvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":823125},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c1f75d72b3c95ea194ba9c97d79157ed4eb7f808","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^2.0.0","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.1.0_1771943320331_0.5395758033370237","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"latchkey","version":"2.2.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.2.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"bfaecdea2c2613c7304a505366d746ee8f5dc777","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.2.0.tgz","fileCount":325,"integrity":"sha512-MOFhtA5a7teTsR9byaOCF93cJOlJwugy0j++/kWQp8ZsV2SlOTuD7A/suEsFwg9kKKvLkyfE0ecZ2LS6an7Obw==","signatures":[{"sig":"MEUCIQDwopmZYFvbP0zJxPhzvMaVoOi2Dx4/y+BUAicSSZJQ0wIgdee13AWYfmc4W0sUBj88fUY10lS2ntzBPPhET/NZV6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":850937},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"39bdfbeb6f171b783d08833d635457855a04ce98","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.2.0_1772200194608_0.8242379093140115","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"latchkey","version":"2.2.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.2.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"f71ce956ca2915fa24409ee375191209c41792fc","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.2.1.tgz","fileCount":325,"integrity":"sha512-IzMq0vXrKjHf1GjSf7LrNrvMiH5HZx6NlIdTXep9q3dAXUHVCax+xO/W1bK/qSLU9HvzMIdKTsajnfi8uaa9Zw==","signatures":[{"sig":"MEYCIQC4qShrzTWBKE/xKT/3osDhJ0Del0Y+Cb8/rKCgf299tgIhANdiTMavIjptJ0zLO93huJfVjCiLmNq/KIIucItc23OG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":865932},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0bbc62ba360310262cb44fbde7620bdfcd85c864","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.2.1_1772222591439_0.7744933317320386","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"latchkey","version":"2.3.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.3.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"5e1604dcdf4c462e1d959a5aa26221505fffd5df","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.3.0.tgz","fileCount":325,"integrity":"sha512-B6injRdaZgNRm0dEmaKVQHWomQOTJBTaH8wxXcsyFt4kwYHGrbXAp+Cuigw9lwuLQ3fOgwmAHWSDc45YBPeWgA==","signatures":[{"sig":"MEYCIQDL+OLPkTdj0YbkFYhfNP1mDV/baqMlFKHxFaCkq02S3gIhAPV8XAoByO9FLa99ETqgODyt1yHZaOpYVHXpQfCs4FRU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":874876},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"7a05d9148b23775cdd6acff463b800ba90b74d39","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.3.0_1772632219839_0.7692454845201437","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"latchkey","version":"2.4.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.4.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"e699ec7888e16516501c876e21f3961d392f0856","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.4.0.tgz","fileCount":306,"integrity":"sha512-cd2S9r1D5B8pvUIssZzdLUeeen2WK7Wo1bUA4QGJxBudSPrGfJ9KVA+oY5V+8hr1XtOqAqTvmTGjQWbhAfUR6A==","signatures":[{"sig":"MEUCICx5j0F3Yzk9pc9ZGcLhqS0jIjkndzYmIDtjj6sjQJx8AiEAnYjz/6LYH7tmz27b/OgSbVw2Pz/61UFNb1t7SULDvI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860281},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"1eb438db3c05bb291052ae74466685fec643a600","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.4.0_1772798559206_0.9305990771243613","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"latchkey","version":"2.4.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.4.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1b0ae8769a2e94eaa415036eab5f1132a33604e3","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.4.1.tgz","fileCount":306,"integrity":"sha512-0yhQkgbhgGxOX47Ln3GE2GJ9he6Cbv3IDpxzHAHWSjQYsAaT7Dr6msBNKw0slBfNImYWpH9gbHx68BtIgQxVRg==","signatures":[{"sig":"MEQCIFZhbWR64zW5oSNz01BiqVeILgVFHrYkBaVkGx9SXo8dAiBNUsYggPck3Ghd9QVz0kq886qO36jWK3lFWsrim9G5Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860450},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"731c7886cfbe78bb2d1371015e455689e8161bfd","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.4.1_1772799504603_0.14809221547676432","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"latchkey","version":"2.4.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.4.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"f228ab07465f1360090deadd469e48a40370d59b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.4.2.tgz","fileCount":306,"integrity":"sha512-JTE+MmO9pUPOJogUY99jlCyhevApAFs3M62EhAIdafkauGfLBakgQC603J/GKVWQ7UlvxGHcryfnCOkUpMjtdA==","signatures":[{"sig":"MEUCIQDe/oN2Q/GGPL0YKMj3QvSLGJINHpRp1ZFBZ5TEyHPvUwIgJGSZRTXZ3EUjNgOV8OyTq4Y2VrL7VoKVOwI/wLb+sM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860450},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0bc78cd02d572b6ae01675db8217b82d7f7cc098","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.4.2_1772800310638_0.8207882381151246","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"latchkey","version":"2.4.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.4.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"fdf1ac43ed7cde715d9bfaf2e85fa5bf3516eb16","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.4.3.tgz","fileCount":342,"integrity":"sha512-s/pn3Yq2aE6+9U+FzMeIdzAHZ8iSHbga3wZl2GuR8nYFmaQVpzk2mj5yanPBmaGGddWCi5l/nW8lwiyDX1NvIA==","signatures":[{"sig":"MEUCIBVrd3p9fghUxqEd8HkbmDtqKSgimS5pm+CwAO0gZ19dAiEAjhQtfuTOVVf7GLVNzo9FySrvX3baICwfRhW/rw7215E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":905226},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"91be2928faa736b48adedcc7ec1e4ec0f0f67650","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('integrations', 'dist/integrations', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.4.3_1772810895275_0.008215735763507093","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"latchkey","version":"2.5.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"skills":["./skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"ea8cc417d408a80a966d9e01554e9e54ba9201b3","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.0.tgz","fileCount":346,"integrity":"sha512-mT9ZumTSQXeL5IiuAzenzOPlknb34egjuLcbShKFFdEswzifPLMBwClcvSbGwP5NQPJk0UPArvQcz3Es/nP1AQ==","signatures":[{"sig":"MEUCIETCZZeTaWSaUbX1/2/nzAs0nQa+FsiKmTBWfYf/yRyIAiEApFsMvQldKGcqW+Kc4yVQSrJ5+AKnr4jQ4sRQWj3j+5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":923281},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"fda1072b25026cbbcb90b7f1bf2a5b196234c805","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.0_1772988912321_0.5027319956914564","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"latchkey","version":"2.5.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1be0cea310ca5a94d4c9de1fe3b6e06746c2896b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.1.tgz","fileCount":297,"integrity":"sha512-zHCo2fi/0V8BV5VoaS9RWab3QBjTLdzdm6SkZcLwBxAAhtQqaai8oxRZ+YQj3+gDfSOK5gnsMw08Zyrd4rdCRw==","signatures":[{"sig":"MEQCIAMyYv6N7krdwVQf8Gv1S+pVtrr6N6lo0uSWod2LzjbsAiANqTvcqMeopP4QQTKbCU9cMcW5xmEzWabO77DoZtJN1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":807291},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"5e84e66d67323aa28caecf259f902e3f85a6dff9","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.1_1772990129985_0.18936391297322963","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"latchkey","version":"2.5.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"b83a06a410987dd4c6e031e17c8a094274da155c","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.2.tgz","fileCount":297,"integrity":"sha512-C/FJk2qKQdMmMf0EIN7vH0qmrm/+qHBsUiZRQO7jZ6M3bGPE76U65ocBqr9iJEsCBjPZhhlRoQBqwAbLnf6TvQ==","signatures":[{"sig":"MEQCIBSEIb/LvfFkS4uyNapPLwgliRAmr2k38YC43BwZTtlMAiAsw8659rP1kYy1a4ANNfcQ7Q5+y7XW8W1uY6qutn8YlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":807350},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c78dca21ae753db91b7482a5e5ebe4b4c312d279","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.2_1773156511509_0.4559358899960757","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"latchkey","version":"2.5.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"4b0b6d08d53f3c285837eec169f795bf30fe489d","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.3.tgz","fileCount":297,"integrity":"sha512-xygM1MutWVAeTux7a2ADtv4wM3hycbV4LbmFgTjjoEjvpCAaArbCmQAYnEaKWdHfVMJc08VvHmI+Ev7sQyugcA==","signatures":[{"sig":"MEQCIHmeEK5TgUKc72606t79bJNYRs4UgKGYfivAa7xcP/hvAiBVMDQ+EBzmBdfmPW3C4VRXGYteY5+g76DL9dQaLAH+pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":813250},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ba762b0ac37f337362b404ad503b9b7a44a5de43","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.3_1773926751759_0.4199686175553301","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"latchkey","version":"2.5.4","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.4","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1c248dde0985080180388bbff349e1399c0704a5","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.4.tgz","fileCount":297,"integrity":"sha512-DwbrXz08d/v590xgzyncKF5zXjV982Wk5JyCLImqLEpWAgzmAj69I0VEA2Z2GrixBErL5141DVPsss/8unlpxQ==","signatures":[{"sig":"MEUCIQCnone+x9CtQTpwexl1UHPrZNl9wCxd1qZKOVDwqy3muwIgUO9Ct6CEiBHQbDG4+ZSabiizRPO9pvdfWIwMHk5cP/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814245},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"2afe6dc9444eeaa23e268068e14f5def7e679504","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.4_1774438417391_0.057889221692106974","host":"s3://npm-registry-packages-npm-production"}},"2.5.5":{"name":"latchkey","version":"2.5.5","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.5.5","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"87ef4f69d7c6f3a2eaeb59429406ac7df783b8b9","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.5.5.tgz","fileCount":297,"integrity":"sha512-1z0YZZ4Dcc+pcYMSnDGp+MsHf5EV4Y9BEH9x+lV+c1CLp/EsrFduuHmy4vwCsZrozSK1xBvJF2fG//j8zUoB4Q==","signatures":[{"sig":"MEUCIChyCIr4nh+yxIbT0Sjil6+aRE1018ES9mvjF0WoujTVAiEA8SgPLUe5t8N4WZQLc4vwPecOKo6+ASFI2pOiwftIplo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814331},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"3096f42b4e275ca3debcbe1c99aef5f8192ea71f","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.5.5_1775049997998_0.7498054838518984","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"latchkey","version":"2.6.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.6.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"3a9b8d9cd62eb8c5a884cec4a420bc568c604289","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.6.0.tgz","fileCount":305,"integrity":"sha512-qtivD90tBgkB1URNq+Jx6cxkCU2GiXd/h2agr4QzjRBdxQNWXcmk6nUJCIcbYTeboXUlzllPQYhEOyT8/uFQcQ==","signatures":[{"sig":"MEUCIQDvNVp1ZfsVHX2mS8/vQ3PkjtaBjaLpzgynh+ZTnKtI+gIgIFhCLke87bLVxzdSr1QjCuto/3TTsaWfFFKlzD3fCeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":835947},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"f88fa7ef3aedf46efa6de7912c908b10a974f0e8","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.0.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.6.0_1775830697278_0.6765896931077866","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"latchkey","version":"2.6.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.6.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"7d65ff41e569cd8428dd9652be37dc4c63668386","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.6.1.tgz","fileCount":305,"integrity":"sha512-TcuVLfIXnXVMXtYuRP/zPlQ/a7EsM4S+xoqoD8A5y4sYlm6R1mF2pF1RXXWmNsTBqOCFX3dylD/AzKhx70373Q==","signatures":[{"sig":"MEYCIQCwQOyEQ0+hfK5jGPoU3gjT5I8lrc1eVmOVcOYChDYydQIhAIsIffMr/+aRjDAUualtoZdymV6dpZLFwUudQ/vmk7ne","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":837924},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"34e1e34916ac902521e7a0fd161906e33f471b8d","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","lint:fix":"eslint src tests scripts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.1.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.6.1_1776260344608_0.9456952150617974","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"latchkey","version":"2.7.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.7.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"90ae0c864e4220d3ddbb8045296ba045c1379776","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.7.0.tgz","fileCount":361,"integrity":"sha512-/Co5akC9CAKo26D9CkWBORhYgc9aws8VYXWk8yZb52lSjq/7OE6BBHjOfnv4xSTKbPxeK4erUjmZC9ZmxZf+VQ==","signatures":[{"sig":"MEYCIQCNF5tQDQQ9xlnge42HM4CsW8I6YVl1nTvNTMcSIeVeOwIhAOAx98yiYTCVtnzbyQ7D1Yo0nXm4yc/RiLpvLyDdf3zO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1099718},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"119c714827cc82c1b2cf010d8f44e144ced2d79a","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.1.5","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.7.0_1776698561538_0.4755373133543206","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"latchkey","version":"2.7.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.7.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1c9443554ade1a65caaeba3bae1574ca6dfbd28f","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.7.1.tgz","fileCount":365,"integrity":"sha512-EJivO5VKjORPUvb3FqHV6/jFgQvPa6HKtke3oc8cpoxcy0wsUr60FEwylH5P6XHzqpiiNjGkGpie6WiM4Dtibg==","signatures":[{"sig":"MEUCIQCenbE11BrRvP9qJKeQf7WEqmb3mb6rjLWv8uxn3TEeQQIgSbqBvfJ6UKo+68pPNK5BTp2+HdjEAskkxciWaTjMYv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1107167},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"effd2d58ab88605bbd8aa8f15a3039bf21c9f2b2","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.1.5","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.7.1_1776875559899_0.7585166562662877","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"latchkey","version":"2.7.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.7.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"0cf95f1614349f9705fb4a39035ebbd212e6259e","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.7.2.tgz","fileCount":365,"integrity":"sha512-99Kj3G3KMN28FoAeTSV6pN8g/VBwYvnaiAmX02x1S29hqW5VFSHLhagLXhk1KoKbzR7B1LI8P09js2OZn/0MdA==","signatures":[{"sig":"MEQCIEljku7eNA5q8knOrGorNf3qNo15WlKKyQPv0tRL777lAiAHqqeEsVyzbNW0NdyJWhIO1SV2ar5W8CNhS901P60Uog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1111232},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"90811623aabeb5657999ef248e4c365998323234","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.1.5","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.7.2_1777019537250_0.3695903751575782","host":"s3://npm-registry-packages-npm-production"}},"2.7.3":{"name":"latchkey","version":"2.7.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.7.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"605c1d6e37589af16fe14ad12a5807083893b689","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.7.3.tgz","fileCount":365,"integrity":"sha512-i5SM5WdzMgBmc3BvHx+QBgQc4RPaVlwQp7eT3q4g/ICOe+02q5NlYoTrirfzgczegvR1XDZQpquDBluLFtf79A==","signatures":[{"sig":"MEQCIA6+hC2EexJYgGCKWdczaUDsGCs8vrXi1vnfHBxXfKMOAiB5cHeaTtjVS7Pr0JHFmtzHphyDFBbqksVgYFoAuVaEAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1111292},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"caef1b06a9bff2f658279ab9a14f6c65ab90cec4","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"10.5.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"20.13.1","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.1.5","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.7.3_1777507521265_0.2626261682155697","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"latchkey","version":"2.8.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.8.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"42e883a66eb4bc75c1866f1807b58a63ffbdc21b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.8.0.tgz","fileCount":397,"integrity":"sha512-vIHys9jtkRXELJI02plzlbjRPI9SbS/lYvMoUsg4dBhcZcngpLs0fzelpoyEFh/oFd5dUmJ66G1ki4WMQshEqQ==","signatures":[{"sig":"MEUCIFaJPXOTjSB67oBGUs79JhFtC/QyqrpdSaK9eXTFdQ1GAiEAyYQhTYerCbvSrjkpd4iYHSZYzodelXnzqRJZd9Pg2jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1255512},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ba78ac30a53b934865d4ce390713beb84f35fbd9","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.8.0_1778069496797_0.8445686926491942","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"latchkey","version":"2.9.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.9.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"fbdadffb1caa169eb8a59b0c105c5df9ea98615a","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.9.0.tgz","fileCount":393,"integrity":"sha512-BQiPVL9/RYczLv2QntCc1W2nuZVQiC6+KDRjq4IXfh1pA+Wb1UDYegzTVbEcWbEyEfLKSi8HilbRyNwSCiZz1w==","signatures":[{"sig":"MEQCIANQusuTLt3KZ/L3toLgqCTjTWh7OWYkqju5qB3Rn0gdAiARyx1QpOIR+eiGWH8XXfn2H0HIHfwu4yiGzL7xZ/YUTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1278891},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"5732f80c8f9173fa42205c274e0c0eba240b91b3","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.9.0_1778237878041_0.6838893549392786","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"latchkey","version":"2.10.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.10.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"0c9820108d67ec053dbb308b539e93b110ec1875","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.10.0.tgz","fileCount":393,"integrity":"sha512-IlGDoqHJegKXwC7rTlAYEuuQwjdWYLF4Id9DIaEPTbgKPMn8CT/u3JUx81VAQUMZMksYuZC0coBD0+QJwCQ7JA==","signatures":[{"sig":"MEUCIQCM5++3CNBx3nYoDNQ6EIPz1OcJbxqlSFguTuoPCUzuiwIgSUq6dVnFp/QzTz9lVn54IPigD4hR5YqufQOxl69HMX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1305252},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"a6e3a2c47f980780ab5b260008eb9e567ecc7dc3","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.10.0_1778507016012_0.3044223897452485","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"latchkey","version":"2.10.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.10.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"78f1d910e788591c3718c61ee051146cae63fcc6","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.10.1.tgz","fileCount":393,"integrity":"sha512-jvsd8qsqEtyB0k861gOMQi2lf+BsB+2WB5iF/RlQHp+RjlyPBhx2KwdrUzsvsrF6+n21jJlSknBlIt/v69C4dA==","signatures":[{"sig":"MEUCIQCyB3zZqo04wLAfwIyCCJZQJj3m/rCL7AQ/9C9iqzmwvwIgMkq/bRwIlS8lRcf9IsX8Lq0YlkoQrEujr6oUgKirGz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1314618},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0927d9484463dce08ba03ecbbaf2e0a1e78e94d2","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.10.1_1778599265967_0.14094075045338306","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"latchkey","version":"2.11.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.11.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"214c0410c38f371195496b2f6d78508c4644ff7f","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.11.0.tgz","fileCount":393,"integrity":"sha512-vuhRylVZ3gPT8aSzEfJcvnftFo+AFgtHEAXKKeG2DCMFp2894E6dv/Hikgx/n4YnHIGap0X2mG19ridEXb8Jrw==","signatures":[{"sig":"MEUCIQD2bV8A9O/7hB2MXcefB8Gf2oTEtN9ZkKBw+2PYxTfrdQIgIYpMQc+fNeiOUuTZXmisdfL/7G0HV7vYMzatrm3IGbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324164},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"3ad7b5ad2978fffc6ac2894a738bf761e131eaa8","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.11.0_1778680231500_0.10938831869386689","host":"s3://npm-registry-packages-npm-production"}},"2.11.1":{"name":"latchkey","version":"2.11.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.11.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"a712ad8ba074266a6400faf1ae1a3196541a819a","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.11.1.tgz","fileCount":393,"integrity":"sha512-FIqtGXLH4fU6XA2h8Zy38EK7AGiStcWoyz4rrBRUkJ919JSuU1H/nlK+6H1Df7cU4ux24W/YyHregoH/2DglPA==","signatures":[{"sig":"MEQCIE3GVEtk0NsVOsFOHOavL0qoe5HUoLcPBHNBzET0iXYmAiBThouf23ZAQMYUTwtnreiwgfsbjg/FnNv5ZqLNbY6qeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324933},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0ae0ba228aceb71597db938d2c0fad024d48e15e","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.11.1_1778744104806_0.23091297605812589","host":"s3://npm-registry-packages-npm-production"}},"2.11.2":{"name":"latchkey","version":"2.11.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.11.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"e76c9f37e757734df2422e51f072312bb008ab40","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.11.2.tgz","fileCount":393,"integrity":"sha512-F3qQ/1ertJpU9zy83S/4FcruVYJv43YRRrbgOct0p2vypZUaznEInslFOgnH+vs3MJOslkwIVAmsSobmjSUPtQ==","signatures":[{"sig":"MEQCIA2F2GanciUg7jqIRTEiQx8+3wa5NgvT2Aja//+MV0RlAiA+7bL3Aqh2y5a2RBS9Xq9Y/mJgHKz7+ioExKogyY+RJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1325001},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"7969d636ef30a498a06b0f6cf15c5801427e7739","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.11.2_1779305079940_0.8190618370576888","host":"s3://npm-registry-packages-npm-production"}},"2.11.3":{"name":"latchkey","version":"2.11.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.11.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"b6cb29b8b44b05d62af3fcc3f160abffe6d4817f","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.11.3.tgz","fileCount":393,"integrity":"sha512-C5ysP8gCNSdUrjpiEuPsol2cFhOfWQp5M6zb5+ZUZ0L5zDTTnD1J6apS8voEAk4kNuilbujU6VtGF3gBWryK5w==","signatures":[{"sig":"MEUCIDank7ukpWWSei+JpUBpGDioudcLBNzqgJq/VjSNzUOrAiEA6YGQX0RMGFhWJ0MzjQhl2frc1/6El+HQEaQICYI8CK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317954},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"eef4118a84cfe1b2abf281c0d0a0317b2c1b9dbf","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.11.3_1779436608750_0.5515215161557381","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"latchkey","version":"2.12.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.12.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"97a89ef09b697c1b25c3a2933c3b8639e28595d7","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.12.0.tgz","fileCount":393,"integrity":"sha512-W8azSLWfw4gERubF14xsmy9wr+U++iYlxyfJUF1PxdKJmdZ6YCZ9ScYSJvbIU7KOxT6WVUoSOC2sbQPC6Sdt+g==","signatures":[{"sig":"MEUCIFJmXmnOu+l63tLdE342pYV0uBXoGaAYSLqlecWO7HZ/AiEAkN5V9hqyEQ313f5X2N4M+AyNj8K+yznKMoeI4j80bEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1328934},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"8d798d3431f568f259854a78bf291771583c5040","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.12.0_1779706903456_0.7249552886494863","host":"s3://npm-registry-packages-npm-production"}},"2.12.1":{"name":"latchkey","version":"2.12.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.12.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"70a42937f42d3743037e4dffc2533ce546dcb127","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.12.1.tgz","fileCount":393,"integrity":"sha512-asS+4PmMif/KsSfUwdKp3bb2iY2F7pV5wZaE3jwhH0IudkULt3WMzJ5eeQBhCB7Nr/uvfDioXZrviW5b6WTj7g==","signatures":[{"sig":"MEUCIGT1wgEWcRdBURLd7D7qEyQGT4+XonkA6Gg9IHCC+IzqAiEAkz2vaUeGDE5FY0l1LiavJExZL+8gYpyMRyK2Z+aXluY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1335763},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c7f5cd965e57b846e7cad35361a3158ea830e710","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.12.1_1779892709587_0.02940119725551371","host":"s3://npm-registry-packages-npm-production"}},"2.12.2":{"name":"latchkey","version":"2.12.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.12.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"20d2e56bbe2bbbd1cad1d2f4ecde0472387991b4","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.12.2.tgz","fileCount":393,"integrity":"sha512-Rr/1p4CSdUNPccUZ7QcEw/EggjoYRUzweZqjjfMIOxm05utVFPocMUJrhTwu2nEbAa8w1vmYp0dbDLRrxGOciA==","signatures":[{"sig":"MEUCIQC1E8jDo49fsrl5/EOfFue4F9SCNYX70as8ic/DWvw08QIga1t9zMjWWGE1mA+CQ0KGS2YPfISu4qYmKGmEHBS86Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1341482},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"b170ff2407f56e797b29ec2e4ec817564c6b94b1","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.12.2_1779970826504_0.2624125202799843","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"latchkey","version":"2.13.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.13.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"cdfaba938f9db6683e9117c2537dabf1657134ba","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.13.0.tgz","fileCount":397,"integrity":"sha512-inGaFHmJgg52Krvcfml9PlBrBDwIkHhSFwewpMw7sWIYXgo4uyKlMUFjWpFqofr14JN1x6ihTnutPaTcqY2mXA==","signatures":[{"sig":"MEUCIDjU6yi7anHjPUEcQ9cfh/RFHoc8EEK0eULEzhGhJyQVAiEAopoSHZ9AgfUj4so7XriYTOfk/7Tzh1JDklcN5JuGjBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1352918},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"e7b44affbcba779148cec5f8aa5d906421b61efe","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.2.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.13.0_1780047121826_0.6587880028999253","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"latchkey","version":"2.14.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.14.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"20996c2c9a5a040e3f13156985621171c7c2a60b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.14.0.tgz","fileCount":397,"integrity":"sha512-GPkITTbCAPoUoP3Yb7XZ/ifZYEpbKins7kmPn8tuhUbf3s2rSK4/S+JtGCixrNJGugK9E54L9Ch73z8AxwpYng==","signatures":[{"sig":"MEYCIQDjpGxlV5JJtpxRh4bNo4+gj1VKNvWMC9Lxw/tztLRTPQIhAMBQT0s0S115TZXarYibP3wpf4rwdMQR2JAqCn3UuVO7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1352918},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"d0e56ebaeec367d317fe46aabe30c279e0d11303","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.3.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.14.0_1780056781687_0.21734945419725293","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"latchkey","version":"2.15.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.15.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"36b73fd913fb509caad84cdc07d1f855314186c8","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.15.0.tgz","fileCount":397,"integrity":"sha512-azKVmWSjYtZfzaIYQCQOA5RzvhKqVPnjUzKGhrRXhnO6kaXywgXLR4HNLMVSz58aYnjPuBKBcKhxsoxXiXa6Qw==","signatures":[{"sig":"MEUCIE9gLPwFoHDunaoPSJDp6r2HrxfO/Fkm8nldM14GthS9AiEAvCZ3a8LU0KOb2OXAgqHm5vxBous6q5JqSsJnvlurkZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1356995},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"9d8a52fdfb95d0f031a9cc6027d10232c7429239","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"^1.58.2","@imbue-ai/detent":"^1.4.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.15.0_1780323570210_0.3806916083091523","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"latchkey","version":"2.15.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.15.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"8a13c27bcfdad7c91e2bd4f8567385712494f665","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.15.1.tgz","fileCount":397,"integrity":"sha512-WrgCODQqesaA5Ai4i1crdER/q8MvD4AtME+I7OMWEhVmuWMjI2uaECFcGVxbgR/XuOl/fk+LYuhf1MhRVr3K7A==","signatures":[{"sig":"MEUCIBaeWvLggteJpd7n7gMW8/nVbUmra707aFmrf74issM9AiEA67saDp1URogl6bpcQTxdT6ZAlimOdLZTOoVu/Qjjb4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1358323},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"f59ab30cee814cffd3be402785f6ad37d5346204","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.6.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.4.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.15.1_1780568636949_0.09017117851867096","host":"s3://npm-registry-packages-npm-production"}},"2.15.2":{"name":"latchkey","version":"2.15.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.15.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"7acaff2a688e14b593e4cccc3342bff017d777d0","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.15.2.tgz","fileCount":401,"integrity":"sha512-zKyB0smbSDDZdc7RfJ0ouv0azOO7Ij+/2Da2ytRl0e1eXbF28Q7CFmGrekhQYJRv2EjmZeajcPClzbv+p2nJWw==","signatures":[{"sig":"MEYCIQCdkk8LLEZQXp04NjTC87kcAKE3MIFVzja3l4+pJAUOfAIhAIT5aGGQ9YIS187nE5w5/vXOuSArCmt3BSN8jROirHM0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1367818},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"801a78503f194fc1408feae349d23bc973e9a1ee","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.5.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.15.2_1780932866205_0.9130522073160499","host":"s3://npm-registry-packages-npm-production"}},"2.15.3":{"name":"latchkey","version":"2.15.3","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.15.3","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"d5bf7db18e702acc2a79d574e200c430ea10b515","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.15.3.tgz","fileCount":401,"integrity":"sha512-z4/Yx980hvFmEZ8EUiSidtC/cf7XovF3kEikX3RPA5LFPk3ykP3FQFNI97xz9uyLRecaduwPF5bsrowCN9h8GA==","signatures":[{"sig":"MEQCICYGzRR1KxtKzge4eQPUralyq0oiTjdy4x4bg1Ljn8chAiBt66WDFrZ4Fd7JEbvl2tIj5gLjFlaCM3L7AkKdK/+4Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1367818},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"74f41d99997f2a671d3deab04cf3cfb45abc5666","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.6.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.15.3_1780990945299_0.3028176561469047","host":"s3://npm-registry-packages-npm-production"}},"2.15.4":{"name":"latchkey","version":"2.15.4","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.15.4","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"96865fe35ad19c68d2f9790f9b561a9bf8014b5f","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.15.4.tgz","fileCount":401,"integrity":"sha512-9hAlOuZXxPq1IvKwjAHUiUc+apv7CXhT2NREb+LNnpX4m+Q0mJZbUvUZb3XyaLmd+Q7agIXCNd0CqZsivNVtQg==","signatures":[{"sig":"MEUCIQDmXTQztXdtdZM5rMzt7C8iWS6+1vyzkB/yKuqxuKcyNwIgab2cS9VAieaTfob57hUFzSrAE5N5425CbUySKQfec2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371405},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"2b99ed11fa2feb0bf1eb048f6f415b42f55a1faa","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.6.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.15.4_1780995272936_0.42541349079275137","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"latchkey","version":"2.16.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.16.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"ef70581f1424b975c4071e4b958354bb6524e0b0","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.16.0.tgz","fileCount":401,"integrity":"sha512-5jk26eHKs2VIw8gJPpswMSKmaRuHm/UIrmPeBcYuXNhcl/N/hOQ6l8fX8GzRhYGxgxJB3KDzR549JosfFVsaHQ==","signatures":[{"sig":"MEUCIQCJwwBhjOXIhQjVHZBWa8MCi4LLXykrJ+Mp2WXhHgR1QAIgb5SXcnW8XG/S4BH7BMXxqJhRDytYOp6vmpjW4rqScL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1394247},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"3b1b64903671f056c603c71869af46b323105c8d","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.6.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.16.0_1781093466695_0.11350274749860367","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"latchkey","version":"2.16.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.16.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"61eaf2fe30d8d400684d998519a3f72b8cd1b688","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.16.1.tgz","fileCount":401,"integrity":"sha512-X/4MHhEIerwhXJlxSW6OVAu8Vpx7iB2OkrgfnI+5ta/GffPi2ASDp/FcPZ+cefH7dCaGFWm7wNzYf9nOZtK9RA==","signatures":[{"sig":"MEUCIQCS+UtT1+zm9kw/qfOwRajN8JSiz2uVNmKEQEni1F6j2wIgTLbs59F+0/OQmtDfNL5FrJLgAOjOeHDtQq+uNSHpDXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1395896},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0ef50ce140d65afdda8a1d4000afa79f302b116c","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.6.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.16.1_1781620582227_0.044422273820733604","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"latchkey","version":"2.17.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.17.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"48e3f47f30ca432000f93e80de7b7b23c7242296","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.17.0.tgz","fileCount":405,"integrity":"sha512-h1UjuGDU4MHuoIv4ePvlp4vpaQj84+VusRGJzboiASYlc1VwFGr9LfSQT6WgrJysfi7WeVGL3C7trAP3bFlZrg==","signatures":[{"sig":"MEUCIQD3yNXn4CfXH7QLjneuq5PQRhOv+ns7vFOl0/2P9aLh1QIgTIlZLA95YNgbVxw5uIKqixFb7Qyl8FaDJO3EJdfMeSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1403361},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"018ca839bcb5216dcdbbad75bc581a25d91cfaea","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.7.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.17.0_1781766341171_0.6233365133710964","host":"s3://npm-registry-packages-npm-production"}},"2.17.1":{"name":"latchkey","version":"2.17.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.17.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"6d774dbfe771f0cdf8e80a20a9c561464ad6598d","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.17.1.tgz","fileCount":405,"integrity":"sha512-r/QJfARRCP4peJjNdTZ5abDw9hV+wxxvWYbCVijlgbIzRutb004LWLolOCxDRVnQFmgYAyOmtdO8KPX1FBM6dg==","signatures":[{"sig":"MEQCIG6qpFl8f2Y27oa8NSoFPOAXMc2CGWu6sQkCNa21p5+AAiAVB+Za0Qg2ZZ6YDnEiFC8OHeX8qd2Xn2wydCxY6hNJIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1406372},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"749c62a6c9e6fc2d232b43d07691b02d3a855a11","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.7.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.17.1_1781863736388_0.10246273466394862","host":"s3://npm-registry-packages-npm-production"}},"2.17.2":{"name":"latchkey","version":"2.17.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.17.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"44f46063b85ead2e2f88670062c3d48d45dc1077","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.17.2.tgz","fileCount":405,"integrity":"sha512-5HbTcQmmJDYE0oLN6H2jMLPOYlAT9S3KbogX1bhaAHulv3bfP0Atlb3V9roq5O3pJlN/2Jvhfve1HI3GCJYnSg==","signatures":[{"sig":"MEUCIQCMfzbClmMI7Vs/XzA0eEfdaJTiMzU0mwZmqKcAV1HoKAIgNC12ZcXpN2qV9A4+CTukXN5GI6kfe5FWeVuL5PU/IAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1407350},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"f83e5370f4506575ef8995c243f9a81088ce2013","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.7.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.17.2_1782136659698_0.8706653427244659","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"latchkey","version":"2.18.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.18.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"d2b3ca31c682732a2659e585e09b25b705753595","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.18.0.tgz","fileCount":409,"integrity":"sha512-xMCWkbDaDwdgwR1JE8+N6e5qYWSr8+NB0y4+z2HLzjgFxgmNretoSID0426DoHHoEJDbMgHxyNaV+G0weIB6hQ==","signatures":[{"sig":"MEYCIQC6CcJfuOEjIWBuYnMlS/8iXzVEX49TL9lB+Yj3FR/DoAIhAL/W9zsCegAmMqh2O1PDfXvTY1h5HODV8A8ojWdfUa7z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1454519},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"7ed1dccf833ccce5dd00f53949836582d9c77a73","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.7.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.18.0_1782213703527_0.025249251187510202","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"latchkey","version":"2.19.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.19.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"87956028fcd6453e75370ad0d2ec9b82a357c716","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.19.0.tgz","fileCount":417,"integrity":"sha512-SnHWm+UdpVJV+6ExnmMiNv3Vxc+/nv7kIe7ENgc0JeaeP4eO7u1yq5qwBisGSnZQi5mq2txQUjOgAdVsmsAF2w==","signatures":[{"sig":"MEUCIQC5NmmTHCRvAwAcMLNG5oCHkKexbmjGUK0mGirei48fwAIgJSm9NAtp0UrkE5vBAXOhjmYiA/siIKj9Vx0cnlnQYQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1477410},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0e3b9752502bea7a0af232655235cb54cdf67f10","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.7.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.19.0_1782374736549_0.16436187737941998","host":"s3://npm-registry-packages-npm-production"}},"2.19.1":{"name":"latchkey","version":"2.19.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.19.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"5b6d8e7385162e7289facb7be22ac4a78d5ea225","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.19.1.tgz","fileCount":417,"integrity":"sha512-EtVQjBDsoej9b/QzuKvmp2MbAebukhjcbS5gHMe+299NahqDvVuA313Xl3s9B5zzvvFLF0ziS3X6XtDAuJYTzw==","signatures":[{"sig":"MEUCIQCeQMb9INLwrr4OoikpIWbNj4oFtNoeyqEJpLrcKKwoGQIgN7Q+OvpJAClrF+zUp+N6JpirJH5o9qkorI7V/zdEJlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1477410},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"01e9e5a9a6ec0234ea3688883e29008e55add686","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.8.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.19.1_1782375388313_0.9077897508845498","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"latchkey","version":"2.20.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.20.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"62edf575aee420d13ee0f28d92089d9a711d1f85","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.20.0.tgz","fileCount":417,"integrity":"sha512-jlCdWTa/DksDTqr+qtU5+T5zzFtuwDP7fPumZoKan5hzXphDN/BLSaLsv3Z/QR5UjQwngvp4Ou3CDWCcvuyUNg==","signatures":[{"sig":"MEUCIAurFCgRJR5qCrPyUMko1K0E0CyPHjOXrsodOmDEHNlFAiEA1DMcuRCEsRZDpJuWU+jyfwKg/02u1niLQr9rS+rJD4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1503213},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ca07fadf90426013f5f5ae2c5c8c171c7e7e1e3f","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"hynek-urban","email":"hynek@imbue.com"},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.8.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.20.0_1783420709548_0.5996170329368293","host":"s3://npm-registry-packages-npm-production"}},"2.20.1":{"name":"latchkey","version":"2.20.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.20.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"541b84805128bd46726b17a9eef35118bb1d3cdf","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.20.1.tgz","fileCount":417,"integrity":"sha512-93OK31OHWds8xr8TRsRIIOBxhtATpXdo2s908XPoO9NfbohpnuBXwL5SMFDjpwasVdSgY31bMhbZPIxeZJojNA==","signatures":[{"sig":"MEUCIQCE3M/AxJ9Z6lXxquxrn98NJhDm8glr3vc2FCyYq0qraQIgcwXfDreFoIvJwN7ablFoLCNhPQ565cs0Mwc6zrFb9Xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@2.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1503213},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"d94e8bed11843748e5ce5fb0bbfe1e55d935ddcc","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"11.18.0","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.8.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.20.1_1783432429131_0.5071016397251058","host":"s3://npm-registry-packages-npm-production"}},"2.20.2":{"name":"latchkey","version":"2.20.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.20.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"515790f9f021e0242717e5d8070bff8e87ad9254","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.20.2.tgz","fileCount":417,"integrity":"sha512-mYTVeF4m6ZHnFvVSnSkVcLF6CFUmh9wnUCbLwmM/ocwghETgzfUKVy32IE87jvtDasq68sOsUJmysbDyHqrEdA==","signatures":[{"sig":"MEQCIEYwhAHOhzacikfAIs6LXzXMwVP7umXi//PcW1lsOaFhAiAl6967e+wSfdc3bvIvqPx43mJ3C5SGJsR4fHkvHKucXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@2.20.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1503213},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"fbb0f51b89e1e848b3cb0a3e79aaeecfec477ee7","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.9.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.20.2_1784017172850_0.7366874108667922","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"latchkey","version":"2.21.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@2.21.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"3d1b4990279503a0612280250387e6f3f5704711","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-2.21.0.tgz","fileCount":421,"integrity":"sha512-fb4f4E+WObHfwcw4LZLAlFeHyUP5JEIV4Yy545TpdaMzXklIFGQ0rox3ai2D3/1mJiEw/m74mXbOWf/tKnRijA==","signatures":[{"sig":"MEQCID0AZE45kkH2Rex2glFFnUoxyRGFqbzFNCEv3N4yrPhYAiBfa2qhLDIY5H+eSv7jduScSRjWvxCao4gRok3uDgpa4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@2.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1507049},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"81d2221a807e887b0fe8e40d47ed1ccaab71252a","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.10.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_2.21.0_1784207679814_0.8454160296226076","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"latchkey","version":"3.0.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.0.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"5ac42f7f20d96473f1752a3595725b0324ec339d","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.0.0.tgz","fileCount":433,"integrity":"sha512-iJNEHEKT35JobLIn85i9gWOvdFsifQlY624l/WZY6BNzwOxMJJW4s63MVzYVpP1zR4w8WDAoHykhXtnlspkTRg==","signatures":[{"sig":"MEUCIQD567Th5mOkpL/Q8pcwQDFHALYZGkZvFBRaaYnXl0iFOAIgcBdrlBM4sY6I9GeorNjICyzBJ1Yg5G34KN0Mx04FIsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1706368},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"58f48d81badcd66f8c6221d7a345d94452f967cb","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.10.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.0.0_1784792560506_0.06295989951015657","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"latchkey","version":"3.0.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.0.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"9a4e4e49a0df312d29ecd08d746a1ddd10820c4f","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.0.1.tgz","fileCount":433,"integrity":"sha512-AqCVfpJUnGNzTQgwRmBq0Ps3/R5Z15ptxNicMEJg8jEBGdmd6kqH3xBv/swELBYZIjVSVDriO6dLa/Xq8FZYKA==","signatures":[{"sig":"MEQCIEwFSGVfZKy7nFPQmo0JTdiOscCq03nVUqdCuXy+f/ptAiAvbhLyDxEeLt82FZQUESCNyeUxXj8ilB+f/u0OxG/lXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1715282},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"437198b23131d60d1e6541d5ffab04795366b19a","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.10.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.0.1_1784799832219_0.5784105705151847","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"latchkey","version":"3.0.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.0.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"930982e0a6fbe32276d4a5b241db804e57c7cd1e","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.0.2.tgz","fileCount":437,"integrity":"sha512-D8+UaOSEqogDsFaOur0QJ4ZW6iUD/QuxfBl7uROORVF5ZO2jXehNOq0sa4R1qpE92bdsiy1d3GhWF94avndeJg==","signatures":[{"sig":"MEYCIQDv+MqhQHhzluT/0z8U9pLgWpMtyzTREQ6UTGZVAZuPoAIhAND7juX5bo5UXPPrKd+S3JNhr06TScx2P97YBbVDo7w9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1722750},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"93a40a1ec00ec5e5771e9e4e5ca9bfe42f619ad7","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.10.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.0.2_1784804353504_0.4068696150834499","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"latchkey","version":"3.1.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.1.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"40a4743f6cb92d395664f991f3c80b8ee7669ca0","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.1.0.tgz","fileCount":437,"integrity":"sha512-2OvvzeJeb4SjXLrMkWdCTyekjJ0daVxzm7lZAnUdGBNXBU12p2TNWo1s1/NdP3kKgabrrJRHC930bbdmbqUn1w==","signatures":[{"sig":"MEUCIBHMelE0tVK8kvSq9aUKIbnxeOoSSIt/hQLU98sLKoePAiEAugU0X/ptLr416bTUISphwcF1CkxTQYKKmEHfoJ1f3B8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1734676},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ee64643bd616d1d8d2c52384ae5666f7e1dc03d7","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.10.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^9.39.2","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.53.1"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.1.0_1784811090196_0.6904739484887585","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"latchkey","version":"3.2.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.2.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"daa57b9c91105ea139106f6fb5711ee798857ffe","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.2.0.tgz","fileCount":437,"integrity":"sha512-HXHoKkalQmMcHnrALwbGpAd/pojTiWX2V/DJ5VNGKmca4aXTZ0CMmq1HZcqOEgQbt6lqaRAaoaCRzvjDB5SSOQ==","signatures":[{"sig":"MEQCIDokbi6Jz/7j1sc5UyIpx4CU/IrUu4DLF4oa7d1t8hd3AiBfEbpuDhSWleZa9Oc1h2+Y7gisvdNEfwmLRaQQFKEe9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1745168},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"19c7ccb4074ced14949f0e17b9c8604824726138","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.11.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.2.0_1785159897359_0.1766647026436834","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"latchkey","version":"3.2.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.2.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"04f54f0aa7d09c199b4c9b1586d356a3cd4e3b96","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.2.1.tgz","fileCount":437,"integrity":"sha512-zFBLOORQ83c9pKvdI1iIJiQKzej3FJ6jUwBjCOAL+vD24UxsxFhx8YS8dyOmCgeKfaCqZFZHLXo1OMyHcpW15Q==","signatures":[{"sig":"MEUCIDi8G4PB9eqU8BbkNdyWZYj11RDJUbX9JKUeyNqlkHmJAiEAlenDB0tq7Bq6Bz/3tfI18bBJSBJTe869spM2N+bhpz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1760715},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"13988e2b0eece01d5fc725d111aed548e254ceac","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.1","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.11.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.2.1_1785336610336_0.34135333488197794","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"latchkey","version":"3.2.2","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.2.2","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"b4268aaf94e1809dee1f055e72782fbf9112d0c7","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.2.2.tgz","fileCount":437,"integrity":"sha512-tp3Z5IN2s+YN2u5tfK0D3G1q/rmRIdxGCfeJjnukIqiKZ1QOx/sI9MNfkihPU6DAxs/+MJ7HwZCsSG5S1CJgJg==","signatures":[{"sig":"MEUCIQCIIDGFsIt1BQq7gZ131e2+EfJi2vCAkOPuXKJVfg1VdQIgF5AVEtJjEjfhtyDagzEKAAP2VzQJu6peqwop4D/sf6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1760403},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c23c1fd11d628133d4f33c7c7893a7d24d4c3a58","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.11.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.2.2_1785409791320_0.149244625142386","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"latchkey","version":"3.3.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.3.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"99a57a4cf2a95ce48d1367efed6e19a4d4a37bd0","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.3.0.tgz","fileCount":453,"integrity":"sha512-N0mU27XV+3ngbpkpyB6Obm8UB2RD1NhiGgnqFsGwUhka/F1uAWR3g77kfYo5+pNoWF3IFywMSyK3LosyRv1vmw==","signatures":[{"sig":"MEYCIQDwyYVj2dC2PGn1vF+nm5rOvnewGRLQrkQv5mqcVk+t9wIhAKeQ0HhEKRdJJ6WZlhjlBOjJabKjDuz/CIlcP5Tim5Pn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1846759},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"6ca865d996065361e15b0e52409231774c9f28ab","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.11.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.3.0_1785501021976_0.5881729485558846","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"latchkey","version":"3.4.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.4.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"3b58be34338fc4d5aafdf95a2145619850bb4994","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.4.0.tgz","fileCount":461,"integrity":"sha512-874sdqBBVIx1UOwcVUdfVub0PyqkRDvwKPpMYZCY03e/Hps2ROE1DJ86rCkfR4QahTXGcwwH0YSZqFq7IHukhA==","signatures":[{"sig":"MEYCIQDJA/08nMEUDhBvi3kICzx1O8GFtWZPrco0QeNzlvLQEQIhAKxwxq70ATPj0xAGU+nuxOADE1xKRHezH7aoIVsSQX5J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1929651},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"692d64ffd957b40a6f08db90acfe6c25e8d974b3","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.12.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.4.0_1785888992438_0.8366587115887305","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"latchkey","version":"3.4.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.4.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"9981a162699dbdb1010a15e5dbc72c56663ad77b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.4.1.tgz","fileCount":461,"integrity":"sha512-Pex49IFrcRWDigFAcmmPZaw4B6g5vS86mSDJI2j+zrqxLTkM324zx8iVj6pyJaUVoh7+6eXggCk+KVUVZbH1zw==","signatures":[{"sig":"MEUCIQDvUGApszTaZ6yfbq1En34Rf/zhN9naN0FMT4+HBZa8OQIgNlaoD4eZqm4VRQOdFn1MjMtSxU82gXVr7nYD+21/TIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1930401},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"5c02d55d36efb1f3650f84de256a729a48ddd458","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.12.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.4.1_1785889892402_0.3954565517522246","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"latchkey","version":"3.5.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.5.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"22eb7ba46e2efbcbeb0ea7447f1b587249ceb9fa","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.5.0.tgz","fileCount":473,"integrity":"sha512-h6PJWJEb9VrL932kD9D4T1eiREM3qy9NhYyIJCjNtu1e/f5tp+sko7BUqtiFQmDo/kFX1P+ItuQKIbPkiQlhsQ==","signatures":[{"sig":"MEQCIE1Ydmtw3B26EBRRqnL/UwbLaUU+VaHmp/uuDtpl5xKuAiAY0pqoVmisUJl10mxzLXXUyNLwYCkwlEVc6Pa9eb7SrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1963349},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c2a634c37402b2ff9492bb927ad3f0f0f68b8f1d","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.13.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.5.0_1786639994857_0.039565416817720855","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"latchkey","version":"3.6.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.6.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1043ebeb9f87dd5786d2870e61b69355fd290e4b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.6.0.tgz","fileCount":481,"integrity":"sha512-CzCEB+g+26Zpg+cg5GJEG+ZZ1QknBZqbiYrhwah5v8usOy417U6rxyrcWQmqJSLfTfPzM7gr/4Fd/C/T/brdgQ==","signatures":[{"sig":"MEUCIEGG4C8oRs9h+AO0iDvamdjujLD7I5Sb9R9tuYcxYgneAiEAy6is6EnVvnlKmVoajyIPdwyBd83C9dhineKPuz5MfkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1994717},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"c6d66548f94d82fa299333a378f65af825737b8a","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.14.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.6.0_1787640345595_0.612025057170325","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"latchkey","version":"3.7.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.7.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"bcef36aa20dc4fe228b28791e034a78f01302232","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.7.0.tgz","fileCount":489,"integrity":"sha512-SSl+rMhzRQN1oByeoUcZifMXWtk8FEDaQa3XeBgaDzIBDjlkNUW5eXQbueovDtqZFfMqRRjzQibQ6YtKCmsDSw==","signatures":[{"sig":"MEYCIQDMGs5k784KuZaas0Ub6uN3NxnBy69RmVuwe3MB6xnc4AIhAOFKDJ+6cunKv54boMK2b+emMGSp+/J4wajGJjbkXpcj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2039931},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"ef3d939f0552a6a6286805bedbcba478dbfaa7bc","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.7.0_1787734550926_0.9373095474726345","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"latchkey","version":"3.8.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.8.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"a23de80cc1e53a8852bc17dd2ec56dabb445af07","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.8.0.tgz","fileCount":497,"integrity":"sha512-FLLhlFykbpzcugGpTGYD3Y/7V93+zNLNstMgm6UMU3LcqJ8lEw/RmyFXCbx5tXSuVQUh7T1pVqzWc5GBbccr/A==","signatures":[{"sig":"MEUCIAlZuV5MERjyLaGMOzXzHWuPDtXx5mPAbuhPd5fAH5YPAiEA9kdOp6kHUMBxTwslXxQvFnqWn31Vn8vb+6TUwb9koqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2095299},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"6cf62a98505037b6bbd4e5b93c7cca58d6e236ca","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","release-binaries":"npm install && bash scripts/releaseBinaries.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.8.0_1787825891901_0.4001388713968108","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"latchkey","version":"3.9.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.9.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"01a686bed6206e04aa80ed44d61402075adc1f5b","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.9.0.tgz","fileCount":505,"integrity":"sha512-Zn7+jvb2Uix62aZ1va331ZMDUFFkQQwCVa+m2GD+B+fJf9+QWyetcyB+unyYIBXEfGuGz9DO4xmOV+DfDznbdw==","signatures":[{"sig":"MEUCIDQjoi3vJiXR1uAGjMaHpsA5A/5T6hbHvkp3BUPHLollAiEAwhLCP69ydxSx/FjcEgjiAb789m64Lsm1V5qG3k6oA2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2192616},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"f8048bb86fb83bf2cafd916184bba33410945d58","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.0","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.9.0_1787930991222_0.17707445717737613","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"latchkey","version":"3.10.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.10.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"7319a1c9cfcfa93f26f210664fdf59e0dafe333c","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.10.0.tgz","fileCount":513,"integrity":"sha512-7juE1YeWWWQzm+RhTJ6qME73A4zPlLqN/ISWbNe2nML9P2w/gTBvVCU1Lrvdp507iRBZ38aENBygzSpCpMzXtA==","signatures":[{"sig":"MEQCIFwWIMn3A2nNJr8sGdMmgwuoA6zngJeVN9YcG7ACPxwwAiBqjoz9PXxf63P5tJruGD4LeCjxF5NzwJRvJgBUzPkQhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2236713},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"dc37acdaeebe20f4c640138f207074567b8e18c4","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.10.0_1788251890654_0.8564447626596952","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"latchkey","version":"3.10.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.10.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"1443989b4bee7e933da90facc77885a9f9e9838d","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.10.1.tgz","fileCount":513,"integrity":"sha512-kob57MVJyC96cI84w42uZoljDBlDhVMJ13AKpM+/tuZ9TycCcIZqz9s3+n/luW7kRW7gJKKwVKvPLk5/b+DPXQ==","signatures":[{"sig":"MEYCIQDvfTqBWlqgDJHIr2/LQJwG0rpC5aQ6lGln3biayZLQ4gIhAJLgswUeBI/2EufQbHEsOUvnIatnJERymjc0iFwUvMAD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2240676},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"0d175bae77f8ec515f99ef2d694983710d1e3558","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.10.1_1788425459670_0.3283966997986565","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"latchkey","version":"3.11.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.11.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"cb194a4de1290168e3ee8e8afcce3db36d53b2b1","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.11.0.tgz","fileCount":513,"integrity":"sha512-xKPKyK/EnzcMwYudQq7EqTSC958/pkXKp/0EPlLiW+zfMyfIHAelzzpA2L4ww3Zx+C0z+nQ0tCzJ5GooZpAIyw==","signatures":[{"sig":"MEUCIDw7tIGJLwQEV7GB1tgvqS4GfwOaG2AMQ0cUOYNEbNNNAiEAiL0FkG4LQIY2d9fxrgAQydPQQXYNzsqUWJeJ0nMF1/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2272419},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"83d21c605083f2e16ad602b389cf03d678d0f6d5","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.11.0_1788775054429_0.24158051534740288","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"latchkey","version":"3.11.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.11.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"dc03f840cebd7add2517b6265f140815c78c03ff","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.11.1.tgz","fileCount":517,"integrity":"sha512-NBIz74801B2SkX1msje+K24xXhZtfH2H8AElPYdW4AvTnhk0v9jeWtGWXtU9uGxB3eiXrAi/dmKNaOydL2/TJQ==","signatures":[{"sig":"MEYCIQCG1TCzuNaOi+acUPFPp8vdxpqtIKzOLgfZG0r3aDYx1AIhANwyNkZRjzms6ZKCy87i5tMbie1Fb0mWClBrFvgeEPSM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2295038},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"78a7aa9c0879dd866f7d2c546632201c2f603320","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.11.1_1789043276126_0.8903893537209862","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"latchkey","version":"3.12.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.12.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"7c7f4bfc2fe69cf947a183faf0466715cb7328b9","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.12.0.tgz","fileCount":517,"integrity":"sha512-Uswa0WNWAWS5H8WP+yYFenx+STSN3A760iL3Nj+8RS16ioTG+TOAaTc/ZNhBY8I5wR8IXi20aXZCo67TdL7FMw==","signatures":[{"sig":"MEYCIQD1vJo4k7ogqx2dZMNUivwNxMyhCJDfhNq0J390AsZupwIhAMPj9jZZ/VcmRsQSHQKE13Aw6F1N1Gfezmspru2cXGaX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2295683},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"2e824d161cf6c75919f39d8aafdd643bca09edf4","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.60.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.12.0_1789049665385_0.2645864405999674","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"latchkey","version":"3.13.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.13.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"35d276261eb837306a9f4a0961f0c7bbd5aab740","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.13.0.tgz","fileCount":517,"integrity":"sha512-Z7PlVIfS0h87td/+Nfw35uf89uS24155Znf66mcJIDHSgG62ki2cmJMTbxyl33YgC/CcWUJ2vFtfpxwAz8eqqQ==","signatures":[{"sig":"MEYCIQCZfxUNvmTx8shgcywnmJQCdXg+60EXKIcxs6tTgB4p8AIhAPbKCQ1Xe2gMHrMl4RcPCu63y77+E8oOIcPQkpPP1F03","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2321119},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"48f6ff565d7984c285aebf58d56cd86d80fccec3","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.63.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.13.0_1789399708483_0.005733634431271284","host":"s3://npm-registry-packages-npm-production"}},"3.13.1":{"name":"latchkey","version":"3.13.1","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.13.1","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"e3f1ae328f8977882acbafd5536fec81fa8e56de","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.13.1.tgz","fileCount":517,"integrity":"sha512-nLxIndW77WXiXPArPT/IZ+xwRis+z+iK/MmjrLNplbD1LzcS8TsO5o20ifvld9peVru5+tMidkAro462qLHW3g==","signatures":[{"sig":"MEQCIBf6QQR32/Mm2OA7BA1Kq4iT2xxmRlykawV/FSY4qXXOAiBfYCKl7QToOv0ky1wZ3FqutekHF7UAlTKlQDC07NVO+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCqgyqGSGrHop20saxuRsYwQzUATlfO2OOAwEHHqw1QpgIgWYkI2g4RWk42i/+oso0Rr5AJ29kg8L+fwPS/GUanoLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2324257},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"86f61a2e0f6e3232f619109c438f4092718535ae","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.63.0","@imbue-ai/detent":"^1.15.1","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.13.1_1789461359627_0.8646574920642303","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"latchkey","version":"3.14.0","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","_id":"latchkey@3.14.0","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"homepage":"https://github.com/imbue-ai/latchkey#readme","bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"bin":{"latchkey":"dist/src/cli.js"},"dist":{"shasum":"f380fee6ccf23f6f9c08f2016f5a8089c668d9f6","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.14.0.tgz","fileCount":529,"integrity":"sha512-8fuA3UVWkqZbjEp1LJsfSe7nVTngsKGNDhm2TtXAZzb3FHRBH/wiw4RxhH4hAGkg9vgoA4NIFYvCQeEy/6zLng==","signatures":[{"sig":"MEUCIQDv/D+1dz92flKj79/mgR1Cj8NArjNnjQYXWhO6e7B1BQIgb+qi9yH+pvIX4jOSIr1NbJrtruhgrDuJMnZPPnkeAcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmexKomwJ4LhmX4aDOFyr5ox2RVbJKW/+1sGIIsxL++AIgdX1pdSMhfb3oyjrBCQh2kewHmOopKj6dmBctMXemLOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2350128},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"bf589b0a0f914ecaa8da46c2d4dc96ade76966b6","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","commander":"^12.0.0","playwright":"~1.63.0","@imbue-ai/detent":"^1.15.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/latchkey_3.14.0_1789559226213_0.8254799550790621","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"pi":{"video":"https://github.com/imbue-ai/latchkey/releases/download/2.5.4/demo.mp4","skills":["./dist/skills/generic"]},"_id":"latchkey@3.15.0","bin":{"latchkey":"dist/src/cli.js"},"bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"dist":{"shasum":"a06a0a9e49e97b71e590834078b7bc03d661fe99","tarball":"https://registry.npmjs.org/latchkey/-/latchkey-3.15.0.tgz","fileCount":553,"integrity":"sha512-6XoK8nHdzqk93wdEsXZTHdCfGEW87sBZFjNTevGCGkzTYjX9j7hukYfSt99hTt6N4OHTA8dtcm4Iu4NNXb8ycg==","signatures":[{"sig":"MEUCIQDObHVYX/WOlrpfCEmDEvLSc7AOZmcdTykvYCnRqY7nvQIgUK59IqBnezzSu8A0UaGkzDKVj34Csx6xN6ZzZiVik2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfwBOl9Vz9k+0M9hU5ZkUTrD+GF10PpGeCisjRER5KMAIhANFqgdaQDv4VTUT7FDMrExVZ7okEOwXFTwrvv/95B7m4"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/latchkey@3.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2487460},"main":"dist/src/index.js","name":"latchkey","type":"module","types":"dist/src/index.d.ts","author":{"name":"Imbue","email":"hynek@imbue.com"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./dist/*":"./dist/*","./plugin":{"types":"./dist/src/pluginSdk.d.ts","default":"./dist/src/pluginSdk.js"},"./package.json":"./package.json"},"gitHead":"d2ee7918068c96ccbd12860204502e36575a9d3f","license":"MIT","scripts":{"dev":"tsc --watch","lint":"eslint src tests scripts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('skills', 'dist/skills', {recursive:true})\" ","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","predev":"node scripts/generateVersion.js","prepare":"node scripts/generateVersion.js","pretest":"node scripts/generateVersion.js","lint:fix":"eslint src tests scripts --fix","prebuild":"node scripts/generateVersion.js","typecheck":"tsc --noEmit","test:watch":"vitest","bun-compile":"bun build ./src/cli.ts --compile --external chromium-bidi --external electron --external playwright --external playwright-core --outfile latchkey","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"scripts/**/*.ts\"","pretypecheck":"node scripts/generateVersion.js","prebun-compile":"node scripts/generateVersion.js","prepublishOnly":"npm run build","install-dev-shim":"bash scripts/installDevShim.sh","release-binaries":"npm install && bash scripts/releaseBinaries.sh","uninstall-dev-shim":"bash scripts/uninstallDevShim.sh"},"version":"3.15.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ae49440-9cfe-49b5-a291-b052f07f314a"}},"homepage":"https://github.com/imbue-ai/latchkey#readme","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"_npmVersion":"12.0.2","description":"A CLI tool that injects API credentials into curl requests to third-party services","directories":{},"maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true},"dependencies":{"zod":"^3.22.0","semver":"^7.8.5","commander":"^12.0.0","playwright":"~1.63.0","@imbue-ai/detent":"^1.15.2","@napi-rs/keyring":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","eslint":"^10.8.0","vitest":"^4.0.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.3.0","@types/node":"^20.0.0","@types/semver":"^7.8.0","typescript-eslint":"^8.65.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/latchkey_3.15.0_1790081956967_0.7521572113136552"}}},"time":{"created":"2026-01-30T11:51:46.770Z","modified":"2026-09-22T12:59:17.528Z","0.1.0":"2026-01-30T11:51:46.939Z","0.1.1":"2026-01-30T12:04:08.807Z","0.1.2":"2026-01-30T12:05:26.273Z","0.1.3":"2026-01-30T12:25:58.214Z","0.1.4":"2026-02-03T17:39:46.560Z","0.2.0":"2026-02-10T15:06:48.840Z","1.0.0":"2026-02-13T13:31:23.600Z","1.0.1":"2026-02-13T19:13:33.385Z","2.0.0":"2026-02-20T16:46:21.982Z","2.1.0":"2026-02-24T14:28:40.593Z","2.2.0":"2026-02-27T13:49:54.785Z","2.2.1":"2026-02-27T20:03:11.656Z","2.3.0":"2026-03-04T13:50:20.034Z","2.4.0":"2026-03-06T12:02:39.430Z","2.4.1":"2026-03-06T12:18:24.813Z","2.4.2":"2026-03-06T12:31:50.836Z","2.4.3":"2026-03-06T15:28:15.435Z","2.5.0":"2026-03-08T16:55:12.535Z","2.5.1":"2026-03-08T17:15:30.189Z","2.5.2":"2026-03-10T15:28:31.710Z","2.5.3":"2026-03-19T13:25:53.011Z","2.5.4":"2026-03-25T11:33:37.574Z","2.5.5":"2026-04-01T13:26:38.180Z","2.6.0":"2026-04-10T14:18:17.449Z","2.6.1":"2026-04-15T13:39:04.761Z","2.7.0":"2026-04-20T15:22:41.692Z","2.7.1":"2026-04-22T16:32:40.064Z","2.7.2":"2026-04-24T08:32:17.466Z","2.7.3":"2026-04-30T00:05:21.462Z","2.8.0":"2026-05-06T12:11:37.023Z","2.9.0":"2026-05-08T10:57:58.208Z","2.10.0":"2026-05-11T13:43:36.226Z","2.10.1":"2026-05-12T15:21:06.160Z","2.11.0":"2026-05-13T13:50:31.734Z","2.11.1":"2026-05-14T07:35:05.005Z","2.11.2":"2026-05-20T19:24:40.098Z","2.11.3":"2026-05-22T07:56:48.933Z","2.12.0":"2026-05-25T11:01:43.613Z","2.12.1":"2026-05-27T14:38:29.756Z","2.12.2":"2026-05-28T12:20:26.670Z","2.13.0":"2026-05-29T09:32:02.039Z","2.14.0":"2026-05-29T12:13:01.852Z","2.15.0":"2026-06-01T14:19:30.558Z","2.15.1":"2026-06-04T10:23:57.142Z","2.15.2":"2026-06-08T15:34:26.340Z","2.15.3":"2026-06-09T07:42:25.507Z","2.15.4":"2026-06-09T08:54:33.106Z","2.16.0":"2026-06-10T12:11:06.893Z","2.16.1":"2026-06-16T14:36:22.398Z","2.17.0":"2026-06-18T07:05:41.319Z","2.17.1":"2026-06-19T10:08:56.571Z","2.17.2":"2026-06-22T13:57:39.901Z","2.18.0":"2026-06-23T11:21:43.727Z","2.19.0":"2026-06-25T08:05:36.758Z","2.19.1":"2026-06-25T08:16:28.447Z","2.20.0":"2026-07-07T10:38:29.731Z","2.20.1":"2026-07-07T13:53:49.339Z","2.20.2":"2026-07-14T08:19:33.037Z","2.21.0":"2026-07-16T13:14:39.948Z","3.0.0":"2026-07-23T07:42:40.684Z","3.0.1":"2026-07-23T09:43:52.389Z","3.0.2":"2026-07-23T10:59:13.674Z","3.1.0":"2026-07-23T12:51:30.377Z","3.2.0":"2026-07-27T13:44:57.534Z","3.2.1":"2026-07-29T14:50:10.540Z","3.2.2":"2026-07-30T11:09:51.529Z","3.3.0":"2026-07-31T12:30:22.136Z","3.4.0":"2026-08-05T00:16:32.648Z","3.4.1":"2026-08-05T00:31:32.551Z","3.5.0":"2026-08-13T16:53:15.056Z","3.6.0":"2026-08-25T06:45:45.776Z","3.7.0":"2026-08-26T08:55:51.159Z","3.8.0":"2026-08-27T10:18:12.049Z","3.9.0":"2026-08-28T15:29:51.392Z","3.10.0":"2026-09-01T08:38:10.804Z","3.10.1":"2026-09-03T08:50:59.849Z","3.11.0":"2026-09-07T09:57:34.560Z","3.11.1":"2026-09-10T12:27:56.299Z","3.12.0":"2026-09-10T14:14:25.526Z","3.13.0":"2026-09-14T15:28:28.646Z","3.13.1":"2026-09-15T08:35:59.719Z","3.14.0":"2026-09-16T11:47:06.329Z","3.15.0":"2026-09-22T12:59:17.078Z"},"bugs":{"url":"https://github.com/imbue-ai/latchkey/issues"},"author":{"name":"Imbue","email":"hynek@imbue.com"},"license":"MIT","homepage":"https://github.com/imbue-ai/latchkey#readme","keywords":["cli","curl","api","credentials","authentication","agents","imbue","pi-package"],"repository":{"url":"git+https://github.com/imbue-ai/latchkey.git","type":"git"},"description":"A CLI tool that injects API credentials into curl requests to third-party services","maintainers":[{"name":"hynek-urban","email":"hynek@imbue.com"},{"name":"imbue-bot","email":"bot@imbue.com"}],"readme":"# Latchkey\n\n[![npm](https://img.shields.io/npm/v/latchkey?style=flat-square)](https://npmjs.com/package/latchkey)\n[![CI](https://img.shields.io/github/actions/workflow/status/imbue-ai/latchkey/test.yml?style=flat-square)](https://github.com/imbue-ai/latchkey/actions)\n[![license](https://img.shields.io/npm/l/latchkey?style=flat-square)](LICENSE)\n[![downloads](https://img.shields.io/npm/dm/latchkey?style=flat-square)](https://npmjs.com/package/latchkey)\n\nInject API credentials into local agent requests.\n\n## Quick example\n\n```bash\n# User stores the credentials.\nlatchkey auth set slack -H \"Authorization: Bearer xoxb-your-token\"\n\n# Agent makes http calls.\nlatchkey curl -X POST 'https://slack.com/api/conversations.create' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"name\":\"something-urgent\"}'\n```\n\n## Overview\n\nLatchkey is a command-line tool that injects credentials into curl commands.\n\n- `latchkey services list`\n\t- List third-party services (Slack, Google Workspace, Linear, GitHub, etc.) that are supported out-of-the-box.\n    - (In simple cases, `latchkey services register` can be used to add basic support for a new service at runtime.)\n- `latchkey curl <arguments>`\n\t- Automatically inject credentials into your otherwise standard curl calls to HTTP APIs.\n\t- Credentials must already exist (see below).\n- `latchkey auth set <service_name> <curl_arguments>`\n\t- Manually store credentials for a service as arbitrary curl arguments.\n- `latchkey auth browser <service_name>`\n\t- Open a browser login pop-up window and store the resulting API credentials.\n    - This also allows agents to prompt users for credentials.\n    - Only some services support this option.\n\nLatchkey is primarily designed for AI agents. By invoking\nLatchkey, agents can utilize user-provided credentials or prompt\nthe user to authenticate, then continue interacting with HTTP\nAPIs using standard curl syntax. No custom integrations or\nembedded credentials are required.\n\nUnlike OAuth-based flows or typical MCP-style integrations,\nLatchkey does not introduce an intermediary between the agent\nand the service. When the `browser` command is used, requests are made\ndirectly on the user’s behalf, which enables greater flexibility\nat the cost of formal delegation: agents authenticate as the\nuser.\n\nLatchkey integrates with [Detent](https://github.com/imbue-ai/detent)\nto let you define fine-grained HTTP permissions for agents.\n\nIf a service you need isn’t supported out of the box, the\n[new service registering mechanism](#entirely-new-services)\nmay help. Otherwise, contributions are welcome! See the [development docs](docs/development.md)\nfor details.\n\nYou can also [leave us a note](https://github.com/imbue-ai/latchkey/issues/56).\n\n## Installation\n\n### Prerequisites\n\n- `curl`, `node` and `npm` need to be present on your system in reasonably recent versions.\n- The `latchkey auth browser` subcommand requires a graphical environment.\n\n### Steps\n\n```bash\nnpm install -g latchkey\n\n# Optionally, if you intend to use `latchkey auth browser`:\nlatchkey ensure-browser\n```\n\nThe `ensure-browser` command discovers and configures a browser\nfor Latchkey to use. It searches for Chrome, Chromium, or Edge\non your system. If none is found, it downloads Chromium via\nPlaywright.\n\n## Agent integrations\n\nWarning: giving AI agents access to your API credentials is\npotentially dangerous, especially when using the `auth browser`\nfeature. They will be able to perform most of the actions you\ncan. Only do this if you're willing to accept the risks.\n\n\n### Using skills.sh\n\n```bash\nnpx skills add imbue-ai/latchkey\n```\n\n### From ClawHub\n\n```bash\nnpx clawhub install latchkey\n```\n\n### As a Pi package\n\n```bash\npi install npm:latchkey\n```\n\n### Manually\n\nThe exact steps will differ depending on the agent. Taking OpenCode as an example:\n\n```bash\nmkdir -p ~/.opencode/skills/latchkey\nlatchkey skill-md > ~/.opencode/skills/latchkey/SKILL.md\n```\n\n### Using the Python `llm` tool\n\nSee [integrations/llm-latchkey/README.md](integrations/llm-latchkey/README.md).\nAlso check out our [llm-webchat](https://github.com/imbue-ai/llm-webchat) web UI that can be used together with Latchkey!\n\n\n## Demo\n\n![Image](https://github.com/user-attachments/assets/953eae6e-35ab-4d64-91f3-98b6843c502d)\n\n\n## Direct usage\n\nLet's revisit the initial example:\n\n```bash\nlatchkey curl -X POST 'https://slack.com/api/conversations.create' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"name\":\"something-urgent\"}'\n```\n\nNotice that `-H 'Authorization: Bearer ...'` is absent. This is\nbecause Latchkey injects stored credentials automatically. To\nset up credentials for a service (Slack in this example), run:\n\n```bash\nlatchkey auth browser slack\n```\n\nThis opens the browser with a login screen. After you log in, Latchkey extracts\nthe necessary API credentials from the browser session, closes the browser, and\nstores the credentials so that they can be reused.\n\nAlternatively, you can provide credentials manually:\n\n```bash\nlatchkey auth set slack -H \"Authorization: Bearer xoxb-your-token\"\n```\n\n`latchkey curl` passes your arguments straight through to `curl`\nso you can use the same interface you are used to. The return\ncode, stdout and stderr are passed back from curl to the caller\nof `latchkey`.\n\n### Multiple accounts\n\nCredentials for a service can be stored under several accounts.\nAn account is a string that uniquely identifies the account\nbehind the credentials - typically an e-mail, but for some\nservices it may be an id. Use the global `--account` option to\nselect one:\n\n```bash\n# Store credentials for a specific account.\nlatchkey --account bob@example.com auth set slack -H \"Authorization: Bearer xoxb-...\"\n\n# Use them in a request.\nlatchkey --account bob@example.com curl https://slack.com/api/auth.test\n```\n\nWhen `--account` is omitted, the single stored account is used\nautomatically. If a service has more than one stored account,\n`--account` becomes required. Credentials stored without an\naccount live under a \"default\" account (empty string, `\"\"`).\n\nBrowser logins (`latchkey auth browser`) determine the account\nautomatically. The `--account` option here merely allows users\nto specify which existing OAuth client configuration to use for\nthe login (selecting one associated with an existing account) if\nneeded.\n\nThe only exceptions are services that cannot determine the\naccount for the completed browser login. For those, `--account`\nalso names the account the new credentials are stored under. All\nservices registered at runtime (see \"Entirely new services\"\nbelow) fall into this category.\n\n### Self-hosted services\n\nFor services that can be self-hosted, like GitLab, first make Latchkey aware of your service instance:\n\n```bash\nlatchkey services register my-gitlab-instance --service-family=gitlab --base-api-url=\"https://gitlab.example.com/api/v4/\"\n```\n\nThen continue as usual.\n\n```bash\nlatchkey auth set my-gitlab-instance -H \"PRIVATE-TOKEN: <token>\"\n\n# Agents can then call the API.\nlatchkey curl https://gitlab.example.com/api/v4/user\n```\n\n\n### Entirely new services\n\nIf you want to use Latchkey with a service that is not in the\nlist of supported built-in services, you can still use the\nmechanism described above to register a new service at runtime:\n\n```bash\nlatchkey services register mastodon --base-api-url=\"https://mastodon.social/api/v1/\"\nlatchkey auth set mastodon -H \"Authorization: Bearer <your_access_token>\"\n\n# Agents can then call the service:\nlatchkey curl https://mastodon.social/api/v1/timelines/public?limit=2\n```\n\nYou can also configure browser login flows for registered services. For details,\nsee `latchkey services register --help`.\n\n\n### Plugins\n\nIt is also possible to add support for a new service by\ninstalling a plugin that implements it. A Latchkey plugin is\na git repository; installation is a matter of running `git\nclone` in `~/.latchkey/plugins/`. For more details, see the\n[plugins docs](./docs/plugins.md).\n\n\n### Indirect credentials\n\nSome services can't express their credentials as static curl\narguments. For example:\n\n- AWS requires a signature that changes with each request.\n- Telegram expects bot tokens to be directly part of the URL.\n\nIn similar cases, when supported, you can use the `latchkey auth set-nocurl` command, e.g.\nlike this:\n\n```bash\nlatchkey auth set-nocurl aws <access-key-id> <secret-access-key>\n```\n\nLatchkey will then modify subsequent `latchkey curl` requests as\nneeded. You can find more information (including the expected\nsignature) by calling `latchkey services info <service_name>`.\n\n### Remembering API credentials\n\nYour API credentials and browser state are encrypted and stored\nby default under `~/.latchkey`. They are never transmitted\nanywhere beyond the endpoints specified by the actual curl\ncalls.\n\n\n### Inspecting the status of stored credentials\n\nCalling `latchkey services info <service_name>` will show\ninformation about the service, including a `credentials` object\nkeyed by account (the default account uses the empty string).\nEach entry reports a credentials status of:\n\n- `invalid`\n- `valid`\n- `unknown` (for user-registered services)\n\nA service with no stored credentials shows an empty `credentials`\nobject.\n\n### Clearing credentials\n\nRemembered API credentials can expire. The caller of `latchkey\ncurl` will typically notice this because the calls will start returning\nHTTP 401 or 403. To verify that, first call `latchkey services info`, e.g.:\n\n```bash\nlatchkey services info discord\n```\n\nIf the credentials status is `invalid`, it means the Unauthorized/Forbidden\nresponses are caused by invalid or expired credentials rather than insufficient\npermissions. In that case, log in again:\n\n```bash\nlatchkey auth browser discord\n```\n\nOr alternatively:\n\n```bash\nlatchkey auth set discord -H \"Authorization: ...\"\n```\n\n\n### Clearing credentials and logins\n\nIn case you want to remove stored API credentials, use the `auth clear` subcommand.\n\n```bash\nlatchkey auth clear discord\n```\n\nTo clear all stored data (both the credential store and browser state file), run:\n\n```bash\nlatchkey auth clear\n```\n\n\n### Re-encrypting credentials\n\nIf you want to export your stored credentials encrypted with\na different key or containing only some of the credentials (for\nexample to move them to another machine) , use the `auth re-encrypt`\nsubcommand. Use `--services` to limit the export to certain services\nand the global `--account` option to export only the credentials of\na single account.\n\n\n### Permissions\n\nOptionally, you can specify rules for approving / rejecting\nrequests by creating the `permissions.json` file in the Latchkey\ndirectory (`~/.latchkey/permissions.json`). For example:\n\n```json\n{\n  \"rules\": [\n    {\"google-gmail-api\": [\"google-gmail-read-all\"]},\n    {\"slack-api\": [\"slack-read-all\"]}\n  ]\n}\n```\n\nThis would mean that:\n\n- When accessing the Gmail or the Slack API, only read actions are allowed.\n- No requests are allowed to any other domains.\n\nRules can also depend on the used account which Latchkey injects as the\n`account` custom metadata key. See [the underlying library's docs](https://github.com/imbue-ai/detent#custom-metadata) for more details.\n\nIdeally make the file read-only: `chmod -w ~/.latchkey/permissions.json`.\nIn the gateway mode, you can use [permission overrides](#permission-overrides) to let\ndifferent callers claim different permission policies.\nFor more details, check out the [permission docs](https://docs.imbue.com/latchkey/basics/permissions).\n\n\n### Gateway mode\n\nPeople sometimes run agents in isolated sandboxes for higher\nsecurity. Using gateway mode lets you extend the isolation\nto Latchkey itself. Run this to start a Latchkey server on the\nmachine where your main configuration lives:\n\n```bash\n# Listens on localhost:1989 by default.\n# You can override this using the LATCHKEY_GATEWAY_LISTEN_HOST\n# and LATCHKEY_GATEWAY_LISTEN_PORT environment variables.\nlatchkey gateway\n```\n\nSuppose you run an agent inside a container on the same machine,\nwith the gateway port mapped into the container. Then setting\n`LATCHKEY_GATEWAY=http://localhost:1989` in your container will\nroute your agent's `latchkey` calls to the host Latchkey\n(limited to a selected safe subset of commands). That way the\nagent won't be able to tamper with your Latchkey configuration\nwhile still being able to use Latchkey itself as intended.\n\n#### Password\n\nYou can additionally protect the gateway with a shared password.\nSet `LATCHKEY_GATEWAY_LISTEN_PASSWORD` on the machine running\n`latchkey gateway` (the value the server requires) and\n`LATCHKEY_GATEWAY_PASSWORD` on the client (the value the CLI\nsends). When the two match, the request is accepted; otherwise\nthe gateway responds with `401`. The password is carried in the\n`X-Latchkey-Gateway-Password` header and is never forwarded\nupstream, so it stays internal to Latchkey.\n\n\n#### Permission overrides\n\nIndividual gateway requests can also override which\n`permissions.json` file the gateway consults by sending a\n`X-Latchkey-Gateway-Permissions-Override` header. The header\nvalue is a minimal HS256 JWT whose only payload field,\n`permissionsConfig`, is an absolute path. The signing key is\nderived from your Latchkey encryption key, so only someone with\naccess to that key can mint valid pointers. Generate one with:\n\n```bash\nlatchkey gateway create-jwt /etc/latchkey/permissions-readonly.json\n```\n\n(Pass `--no-validate` to skip the existence check, e.g. when\nthe target file lives on a different machine.) The gateway\nresponds with `401` for invalid or missing-signature JWTs and\nwith `400` when the JWT is valid but the referenced file does\nnot exist.\n\nOn the client side, set `LATCHKEY_GATEWAY_PERMISSIONS_OVERRIDE`\nto the JWT and the CLI will attach it to every outgoing gateway\nrequest automatically (analogous to `LATCHKEY_GATEWAY_PASSWORD`).\n\n\n#### Extensions\n\nYou can extend the gateway with your own HTTP endpoints. For\ndetails, see the [extensions docs](./docs/extensions.md).\n\n\n### Other configuration\n\nYou can set these environment variables to override certain\ndefaults:\n\n- `LATCHKEY_DIRECTORY`: path to the directory where Latchkey stores its data (defaults to `~/.latchkey`)\n- `LATCHKEY_CURL`: path to the curl binary\n- `LATCHKEY_KEYRING_SERVICE_NAME`, `LATCHKEY_KEYRING_ACCOUNT_NAME`: identifiers that are used to store the encryption password in your keyring\n- `LATCHKEY_ENCRYPTION_KEY`: override the encryption key, e.g. when a keyring is not available. Example: `export LATCHKEY_ENCRYPTION_KEY=\"$(openssl rand -base64 32)\"`\n- `LATCHKEY_DISABLE_BROWSER`: when set to a non-empty value, disables the browser login flow; commands that would trigger a browser login (`auth browser`, `auth browser-prepare`) will fail with an error instead\n- `LATCHKEY_EPHEMERAL_BROWSER`: when set to a non-empty value, browser flows operate similarly to the browser incognito mode. Useful when logging into multiple accounts.\n- `LATCHKEY_DISABLE_COUNTING`: when set to a non-empty value, disables daily usage counting.\n- `LATCHKEY_DISABLE_CREDENTIALS_REFRESH`: when set to a non-empty value, expired credentials are never refreshed. (Useful when the credentials are shared and refreshing in one place would risk exhausting the refresh token for the other one.)\n- `LATCHKEY_PERMISSIONS_CONFIG`: override the `permissions.json` location.\n- `LATCHKEY_PERMISSIONS_DO_NOT_USE_BUILTIN_SCHEMAS`: do not use the built-in permission definitions.\n- `LATCHKEY_PASSTHROUGH_UNKNOWN`: if set, Latchkey will forward requests (via `latchkey curl` or gateway) even if no credentials are injected.\n- `LATCHKEY_HIDE_BUILTIN_SERVICES`: comma-separated list of built-in service names to disable/hide.\n- `LATCHKEY_GATEWAY`: when set to a base URL (e.g. `http://localhost:1989`), the CLI delegates commands to a remote Latchkey gateway instead of running them locally. Commands that change local state (`auth set`, `auth clear`, `auth re-encrypt`, `services register`, `ensure-browser`, `gateway`) cannot run in this mode.\n- `LATCHKEY_GATEWAY_LISTEN_HOST`, `LATCHKEY_GATEWAY_LISTEN_PORT`: default address and port the local `latchkey gateway` command binds to when `--host` / `--port` are not supplied (defaults: `localhost`, `1989`). Distinct from `LATCHKEY_GATEWAY`, which configures a *remote* gateway URL.\n- `LATCHKEY_GATEWAY_PASSWORD`: optional shared secret used by the client side. When set together with `LATCHKEY_GATEWAY`, the CLI sends the value in the `X-Latchkey-Gateway-Password` header on every outgoing gateway request.\n- `LATCHKEY_GATEWAY_LISTEN_PASSWORD`: optional shared secret used by the server side. When set, `latchkey gateway` rejects (with `401`) any request that does not present the same value in the `X-Latchkey-Gateway-Password` header. The header is stripped before requests are forwarded upstream.\n- `LATCHKEY_GATEWAY_PERMISSIONS_OVERRIDE`: optional permissions-override JWT (see `latchkey gateway create-jwt`) used by the client side. When set together with `LATCHKEY_GATEWAY`, the CLI sends the value in the `X-Latchkey-Gateway-Permissions-Override` header on every outgoing gateway request, causing the remote gateway to enforce the permissions.json file referenced by the JWT instead of its default one.\n- `LATCHKEY_APP_NAME_PREFIX`: prefix used for the app, project, and OAuth client names that Latchkey creates on your behalf inside third-party consoles (defaults to `Latchkey`).\n- `LATCHKEY_LATCKEY_DIAGNOSTIC_HEADERS`: if set, Latchkey adds special headers with diagnostic information to the outgoing requests. This currently includes `X-Latchkey-Matched-Service`, indicating the service that Latchkey matched the request to and injected credentials for.\n\nAll of the above settings, except for `LATCHKEY_DIRECTORY`,\n`LATCHKEY_ENCRYPTION_KEY`, `LATCHKEY_GATEWAY_PASSWORD`,\n`LATCHKEY_GATEWAY_LISTEN_PASSWORD`, and\n`LATCHKEY_GATEWAY_PERMISSIONS_OVERRIDE`, can alternatively be\nspecified in the `settings` section of `config.json` inside the\nLatchkey directory.  In case of a clash, environment variables\noverride `config.json` values.\n\n```json\n{\n  \"settings\": {\n    \"curlCommand\": \"/usr/local/bin/curl\",\n    \"keyringServiceName\": \"latchkey\",\n    \"keyringAccountName\": \"encryption-key\",\n    \"browserDisabled\": false,\n    \"browserEphemeral\": false,\n    \"countingDisabled\": true,\n    \"permissionsConfig\": \"/etc/latchkey/permissions.json\",\n    \"permissionsDoNotUseBuiltinSchemas\": false,\n    \"passthroughUnknown\": false,\n    \"hideBuiltinServices\": [\"telegram\", \"yelp\"],\n    \"gateway\": \"http://localhost:1989\",\n    \"gatewayListenHost\": \"localhost\",\n    \"gatewayListenPort\": 1989,\n    \"appNamePrefix\": \"Latchkey\"\n  }\n}\n```\n\n### Troubleshooting\n\nFor debugging purposes, the global `--dry-run` option (currently\nsupported only by `latchkey curl`) resolves the request\nas usual but stops short of sending it, printing a diagnostic\nJSON on stdout instead:\n\n```bash\nlatchkey --dry-run curl https://slack.com/api/auth.test\n```\n\n```json\n{\n  \"credentialsInjected\": true,\n  \"service\": \"slack\"\n}\n```\n\n\n## Disclaimers\n\n- This is still a work in progress.\n- Latchkey has been created with the help of AI-assisted coding tools with careful human curation.\n- Invoking `latchkey auth browser ...` can sometimes have side effects in the form of\n  new API keys being created in your accounts (through browser automation).\n- Using agents for automated access may be prohibited by some services' ToS.\n- Unless `LATCHKEY_DISABLE_COUNTING` is set, once a day, when invoking `latchkey`, a GET request is sent to [goatcounter.com](https://goatcounter.com). We don't store any sort of private information and don't track anything beyond a simple daily count of active users.\n- We reserve the right to change the license of future releases of Latchkey.\n- Latchkey was not tested on Windows.\n\n## Currently supported services\n\nLatchkey currently offers varying levels of support for the\nfollowing services: AWS, Calendly, Discord, Dropbox, Figma, GitHub, GitLab,\nGmail, Google Analytics, Google Calendar, Google Docs, Google Drive, Google Sheets,\nLinear, Mailchimp, Notion, Ramp, Sentry, Slack, Stripe, Telegram, Todoist, Yelp, Zoom, and more.\n","readmeFilename":"README.md"}