{"_id":"@bagasek/firehh","_rev":"11-00eabf7fdb49ebe34fdad657975025be","name":"@bagasek/firehh","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@bagasek/firehh","version":"0.1.0","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.1.0","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"bin/firehh.js"},"dist":{"shasum":"9b0c9b354ce9981cd5becd296e6b12a2f7aeb362","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.1.0.tgz","fileCount":25,"integrity":"sha512-dUC3az3sTxRszn0GJBmgrEwCNA1UpbY71VVOyFNjVcMg2Dtxa4QIC7NHSOGfF6py/4wP2J8aR5rQrQpifGWgVg==","signatures":[{"sig":"MEYCIQCmDrr7cwSLtZJfaSO15wX1fUWJbjpDzKZQ+ymjELma5AIhAKAaOuS6Yk4SPq28J6rP5Tlx09Ss7jAQoZUk/bSsISY/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48743},"type":"module","gitHead":"9ae7a67f503a06968eade3db139c759540798735","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"bagasek","email":"ng.ghh@yandex.ru"},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.12.1","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.1.0_1782671261522_0.7230244108725212","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bagasek/firehh","version":"0.1.1","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.1.1","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"bin/firehh.js"},"dist":{"shasum":"8ec76112bbc11b0afd7101ea5dce539b4427b9c3","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.1.1.tgz","fileCount":25,"integrity":"sha512-cW0cD1MrNIavn3jQO0j5aD/vHyc/ZfAsFbtJicyHJdEuBsveM6+X+HlbAwSxzFZn+ds2D1en5kdyO5VNNgQGBA==","signatures":[{"sig":"MEUCIQCrfhCiykr35Qn4VdRTdQrWNXN1MxFj80LgjZt4jl/2tAIgZqTidJt+UI+lVDB4BTnD0MEzwrfdOr+EX9gdYHPshpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48792},"type":"module","gitHead":"2e7c46083a60613b0afee476dd7f077b0126219a","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.1.1_1782671585257_0.8756202044457646","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bagasek/firehh","version":"0.1.2","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.1.2","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"bbe587feefe1fa5e35ee838f4e01e82ff10f5be0","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.1.2.tgz","fileCount":24,"integrity":"sha512-e4GBJbAQd2OfhNP3iizqkp36LhofNnMr81SHEMUxazHUmina+TvIMqvHkPwFTQLkG6iOeTfYaD0aTJB9IbuCQA==","signatures":[{"sig":"MEUCIARotdO56QgHj1pvMg+Q/3ONGO6wAlr9oWgUaZn0OJijAiEAwQ5Yg4JK8amqj6tSvJ6d6eaZeZggppoDm7JA/3NxKbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48430},"type":"module","gitHead":"cc2db756d4847fdd53db178e21952309c7d2dc4c","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.1.2_1782671875920_0.14932502269591352","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bagasek/firehh","version":"0.2.0","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.0","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"d519a41ceaf6079454a316133fe2f959e180b6a1","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.0.tgz","fileCount":25,"integrity":"sha512-IYZaDzWILT5Ck8o8GYdYPxPcxEjck2xOQB4MSfgpJojlCeO/uey3OmvlllM4XfAnmY3458r34O0jNHjjbneHKA==","signatures":[{"sig":"MEUCIH5NSE83K4pcimsdLecjGdiQTq2+XhI4eDXgeHv2llvaAiEAnyFmVds2absm/MDXqV3pvTDWpnN7LWRn0dmYj+3iyrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55269},"type":"module","gitHead":"558dfbb4682e93b1b5f4b5470f7a75028a613db2","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.0_1782673387861_0.7285392619773365","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bagasek/firehh","version":"0.2.1","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.1","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"b377e6869f6495f3bd648eb8edff0a91e74f8a90","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.1.tgz","fileCount":25,"integrity":"sha512-AxKktbemUZyio/ggYCTOluQl6SmbQzfOoAcrteKJzBziE3s98hA44QODJjP3T4gB2VKS148w7CaRLEU4uXYtMQ==","signatures":[{"sig":"MEUCIBSOkFyJJqFl0b3oKiuFrzm9PuCj9i6rcjyYVQIDvti5AiEA19MHTBRcQGfsda1PXuFsRd1eVfoj5D9lBY/4GHQI8cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57508},"type":"module","gitHead":"00748aa98968b42c06bc39d1d8080bac2c78cddb","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.1_1782691969888_0.07102285830748922","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bagasek/firehh","version":"0.2.2","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.2","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"795f779c7fc2b8ee5e5b237c8bea2b90a5f78aab","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.2.tgz","fileCount":25,"integrity":"sha512-EYcZZin1rgXP2xie2JoPL3Lab/QJt27+qBYAVesOO+WvtNcylz3LMHvLqaH940NV0daWo1CpwdxccvKIP2Rn6Q==","signatures":[{"sig":"MEYCIQCZg4WjCa5AGhLJRLzB5YIhsDQ0k+hhFrR35L3UZJ42EAIhAIYuqCF1va0UTNTbFGihFeMlcrlzCANS2GvmVuf6xeFc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57868},"type":"module","gitHead":"b93450cd36de5ff89b8ca9b0e8103c6eab741334","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.2_1782725132758_0.7469373834225481","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@bagasek/firehh","version":"0.2.3","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.3","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"22852a4bdd1a53e131145bf316a5c92c1cf7509f","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.3.tgz","fileCount":25,"integrity":"sha512-KnnG3ZRK32Dr1uLuwPzaA8ZILqcpESABSPuA8JHqUKSNZ5dlortGD7fK85zYtcmJrBmwTU/FUFtsz12hdF8JyA==","signatures":[{"sig":"MEUCIEdavY3RrqMF+ccXCMEx12d9Wc+q2ZlJpgFS8xsl36fZAiEAqqoS+MMqOP3KDdGA3/SMUihOIdZwWzxoRHZ0zSOIlQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56259},"type":"module","gitHead":"9122bdc09f9ca86b0cafc683abfb2c436b5931d7","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.3_1782739895602_0.14409864825973995","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@bagasek/firehh","version":"0.2.4","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.4","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"221b1c617bdb4f258d8f8325525f1cacf603154b","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.4.tgz","fileCount":25,"integrity":"sha512-OnjrVD+49UBzXLk8x+low5T/4Cx0nwL8EfrT+uD5+siv9vx+ixv5Yaw3iHRyMeRmmIoLuClAWcGU60txq1/nOA==","signatures":[{"sig":"MEUCIBDE9RUxNcrXgUqxpcb9Kam5Eef9xFBJFgt3QQNXNko1AiEArQS5Qb1G+k01KC5pjCyjme20Z6MMxP943gLvLWcRCOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56263},"type":"module","gitHead":"545072e4f298d23ec0586f3a3e6308f79ee8b9dd","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.13.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.4_1782746891774_0.6937864385349664","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@bagasek/firehh","version":"0.2.5","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.2.5","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"60037427aacc3854037a29d0005e5fde7d19a055","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.2.5.tgz","fileCount":28,"integrity":"sha512-HKgpH3x2zxAJhaxnDlmIyI2d4XvNq7QIcxiL+dxBvGE+CEGlPzw4YnGVFo5ltnSXamI+sI703MqNcZDonJncRg==","signatures":[{"sig":"MEUCIQCpOmFA2DWZdZcQZpanBU8DnuojorejzxX1ezBRPMBv3QIgK9tkvfjsMVwpEj1UNaa/HoFKa1BtH6J1vKGKzjC/Bkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61472},"type":"module","gitHead":"54515bdf95785fa51e8915dea1504c05a7a3d127","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.16.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.2.5_1782930867110_0.7917896500678041","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bagasek/firehh","version":"0.3.0","keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","_id":"@bagasek/firehh@0.3.0","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"homepage":"https://github.com/Mergemat/firehh#readme","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"bin":{"firehh":"src/firehh.ts"},"dist":{"shasum":"db7a2b56691671b27ce75fdf2f45b47d20b5783e","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.3.0.tgz","fileCount":36,"integrity":"sha512-hTnrLO0aCR2GAwMwWXnFWxlwrOe7ZdckxQPa7bY6TwsUnWUo7yzmm5h1PamRLrNRSoITkp3WAva2ZGbiC6zmcA==","signatures":[{"sig":"MEQCIF11hK2wPJiSqkPMxf2BDUJS4g/ew/178FlTZeaqMbs5AiB6EHw/F3u7kO0DNakjXNTP7geNfvbB+Cn4KrUh28JFiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101368},"type":"module","gitHead":"b2f7766ff139c26ac6cf9e4ac97eb79b2c3b48ed","scripts":{"check":"bun src/firehh.ts --help","firehh":"bun src/firehh.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"repository":{"url":"git+https://github.com/Mergemat/firehh.git","type":"git"},"_npmVersion":"11.16.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/firehh_0.3.0_1782935554303_0.8412238477290543","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bagasek/firehh","version":"0.4.0","description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","type":"module","bin":{"firehh":"src/firehh.ts"},"repository":{"type":"git","url":"git+https://github.com/Mergemat/firehh.git"},"keywords":["headhunter","hh","cli","bun"],"author":{"name":"Mergemat"},"license":"MIT","bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"homepage":"https://github.com/Mergemat/firehh#readme","publishConfig":{"access":"public"},"scripts":{"firehh":"bun src/firehh.ts","check":"bun src/firehh.ts --help"},"gitHead":"13c5b3d185fb1a90ae7a18af1d6defdc1e315ff0","_id":"@bagasek/firehh@0.4.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-IVxyFMYXHLqu9oOKGZtLvbcALFssU8+/VacyNqqnGKf7IMncCA+D+67VGbOiUcalr3jzlf66YoeqEMsSztKQLQ==","shasum":"8e71b90530b43b30b122cb60bfd067752b6eff21","tarball":"https://registry.npmjs.org/@bagasek/firehh/-/firehh-0.4.0.tgz","fileCount":34,"unpackedSize":110009,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bagasek%2ffirehh@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFPO4wrOXEf55Azi9iRHeHUb+pYfaaEfGhpSlCshzWMsAiEA3sRDbPS1pxRaNRmsXoJSm4KPbN8mGvUUYan+8SzPMzU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2140f6-7650-4411-bfea-2e59bfc984a1"}},"directories":{},"maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/firehh_0.4.0_1783214191128_0.5824771293548037"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T18:27:41.380Z","modified":"2026-07-05T01:16:31.541Z","0.1.0":"2026-06-28T18:27:41.655Z","0.1.1":"2026-06-28T18:33:05.396Z","0.1.2":"2026-06-28T18:37:56.055Z","0.2.0":"2026-06-28T19:03:08.000Z","0.2.1":"2026-06-29T00:12:50.012Z","0.2.2":"2026-06-29T09:25:32.930Z","0.2.3":"2026-06-29T13:31:35.726Z","0.2.4":"2026-06-29T15:28:11.907Z","0.2.5":"2026-07-01T18:34:27.355Z","0.3.0":"2026-07-01T19:52:34.447Z","0.4.0":"2026-07-05T01:16:31.260Z"},"bugs":{"url":"https://github.com/Mergemat/firehh/issues"},"author":{"name":"Mergemat"},"license":"MIT","homepage":"https://github.com/Mergemat/firehh#readme","keywords":["headhunter","hh","cli","bun"],"repository":{"type":"git","url":"git+https://github.com/Mergemat/firehh.git"},"description":"Bun-powered HeadHunter CLI for vacancy search, resume checks, OAuth tokens, and applications.","maintainers":[{"name":"bagasek","email":"ng.ghh@yandex.ru"}],"readme":"# firehh\n\n`firehh` is a Bun/TypeScript CLI for hh.ru (HeadHunter): OAuth login, resume listing, vacancy search/view, application status, and applying with a cover letter. It is designed for humans and AI agents: scoped commands, deterministic stdout/stderr, compact JSON envelopes, actionable errors, and complete `--help` at every level.\n\n## Install / build\n\n```sh\nbun install -g @bagasek/firehh\nfirehh --help\n```\n\nFrom this repository:\n\n```sh\nbun install\nbun src/firehh.ts --help\nbun test\nbun run check\n```\n\n## 60-second quickstart\n\n```sh\n# 1) Login once. Opens Chrome/Chromium and stores a token.\nfirehh auth login\n# stdout: {\"ok\":true,\"data\":{\"token_file\":\"/Users/me/.config/firehh/token.json\",\"expires_at\":\"2026-07-05T12:00:00.000Z\",\"credential_source\":\"android\",\"auth_flow\":\"browser\"}}\n\n# 2) Pick a resume id.\nfirehh resumes list\n# stdout: {\"ok\":true,\"data\":{\"found\":1,\"items\":[{\"id\":\"resume-abc\",\"title\":\"Frontend Developer\",\"status\":\"published\",\"area\":\"Москва\",\"updated_at\":\"2026-06-30T10:00:00+0300\",\"total_experience_months\":72}]}}\n\n# 3) Search vacancies.\nfirehh vacancies search --text \"frontend react\" --remote --must \"React|TypeScript|Next\" --reject \"Vue|Angular|React Native\" --per-page 5\n# stdout: {\"ok\":true,\"data\":{\"found\":120,\"matched_items\":3,\"page\":0,\"pages\":24,\"per_page\":5,\"items\":[{\"id\":\"133561763\",\"name\":\"Frontend React Developer\",\"employer\":{\"id\":\"1\",\"name\":\"Example\"},\"url\":\"https://hh.ru/vacancy/133561763\",...}]}}\n\n# 4) Inspect one vacancy before applying.\nfirehh vacancies view 133561763\n# stdout: {\"ok\":true,\"data\":{\"id\":\"133561763\",\"name\":\"Frontend React Developer\",\"active\":true,\"already_applied\":false,\"description_text\":\"...\",\"apply_url\":\"https://hh.ru/applicant/vacancy_response?vacancyId=133561763\",...}}\n\n# 5) Dry-run an application payload, then send it.\nfirehh applications apply 133561763 --resume resume-abc --message-file cover-letter.txt --dry-run\nfirehh applications apply 133561763 --resume resume-abc --message-file cover-letter.txt\n# stdout: {\"ok\":true,\"data\":{\"applied\":true,\"negotiation_id\":\"987654\",\"location\":\"https://api.hh.ru/negotiations/987654\"}}\n```\n\n## Command reference\n\nRun `firehh --help`, `firehh <scope> --help`, or `firehh <scope> <command> --help`. A bare scope such as `firehh vacancies` prints that scope's help and exits `0`.\n\n### auth\n\n```sh\nfirehh auth login [--timeout <seconds>] [--browser <path>]\nfirehh auth status\n```\n\n- `auth login` opens Chrome/Chromium, captures the `hhandroid://oauthresponse` redirect via DevTools, exchanges the code, and saves the token. Output data: `token_file`, `expires_at`, `credential_source`, `auth_flow`.\n- `auth status` prints token metadata only: `token_file`, `token_source`, `token_source_file`, `access_token`, `refresh_token`, `expires_at`.\n\n### resumes\n\n```sh\nfirehh resumes list\nfirehh resumes for-vacancy <vacancy-id>\n```\n\n- `resumes list` output data: `found`, `items:[{id,title,status,area,updated_at,total_experience_months}]`.\n- `resumes for-vacancy` checks that the vacancy is remote and from an accredited IT employer, then returns `vacancy`, `already_applied`, `found`, `items`.\n\n### vacancies\n\n```sh\nfirehh vacancies view <vacancy-id>\nfirehh vacancies search [--text <query>] [--area <id>] [--remote] [--hybrid] [--employment <id>] [--experience <id>] [--salary-from <n>] [--salary-to <n>] [--only-accredited] [--published-after <date>] [--must <regex>] [--reject <regex>] [--format json|tsv|md|jsonl] [--page <n>] [--per-page <n>]\nfirehh vacancies suitable <resume-id> [--page <n>] [--per-page <n>]\n```\n\n- `vacancies view` output data includes normalized `active`, `archived`, `salary.gross`, `contacts`, `apply_url`, `already_applied`, `description_text`, and `formalization.{labor_contract,gph,project_work,individual_entrepreneur}`.\n- `vacancies search` uses hh.ru API filters plus local filters for salary bounds, accreditation, `--must`, and `--reject`. Defaults: `--format json`, `--page 0`, `--per-page 20`. JSON output data: `found`, `matched_items`, `page`, `pages`, `per_page`, `items`. `--format tsv|md|jsonl` writes raw rows to stdout without the `{ok}` envelope.\n- `vacancies suitable` searches hh.ru suitable vacancies by resume id. Output data: `resume_id`, `query`, `found`, `page`, `pages`, `per_page`, `items`.\n\n### applications\n\n```sh\nfirehh applications apply <vacancy-id> --resume <resume-id> (--message <text> | --message-file <path>) [--dry-run]\nfirehh applications status <vacancy-id>\nfirehh applications list [--since <date>] [--page <n>] [--per-page <n>]\n```\n\n- `applications apply` sends the requested vacancy, resume, and cover letter to hh.ru without local eligibility checks. `--dry-run` output data: `dry_run`, `vacancy_id`, `resume_id`, `cover_letter_chars`, `cover_letter`; real apply output data: `applied`, `negotiation_id`, `location`.\n- `applications status` output data: `vacancy_id`, `already_applied`, `items`.\n- `applications list` output data: `since`, `page`, `per_page`, `scanned_pages`, `items:[{id,created_at,updated_at,state,employer_state,has_updates,viewed_by_opponent,vacancy,resume}]`. Defaults: `--page 0`, `--per-page 50`.\n\n## Output contract and errors\n\n- Success JSON stdout: `{\"ok\":true,\"data\":...}`.\n- Error JSON stderr: `{\"ok\":false,\"error\":{\"code\":\"...\",\"message\":\"...\"}}`.\n- Interactive prompts, browser progress, diagnostics, and update notices go to stderr.\n- Help/version are text on stdout.\n- Exception: `firehh vacancies search --format tsv|md|jsonl` writes raw machine-friendly rows to stdout.\n\nExit codes:\n\n- `0`: success, help, or version.\n- `1`: input/usage error (`INPUT_ERROR`) such as unknown command, unknown flag, missing required arg, invalid date/number/regex.\n- `2`: auth, browser, hh.ru API, or runtime failure (`AUTH_ERROR`, `HH_ERROR`, `hh_<status>`, `captcha`, `direct_response`).\n\nImportant error codes:\n\n- `INPUT_ERROR`: fix invocation; rerun the command with `--help`.\n- `AUTH_ERROR` / missing token message: run `firehh auth login`.\n- `captcha`: stderr includes `captcha_url`; open it, solve it, then retry the same command.\n- `direct_response`: hh.ru requires manual apply; open returned `url`.\n- `hh_<status>`: hh.ru API returned HTTP status; message is compacted from the API response.\n\n## Authentication\n\nThe CLI includes hh.ru Android OAuth credentials, so login works without a project `.env`:\n\n```sh\nfirehh auth login\n```\n\nToken lookup precedence:\n\n1. `HH_ACCESS_TOKEN` or `HH_TOKEN` environment variable. The value may be a raw access token or a JSON token object.\n2. Token file at `~/.config/firehh/token.json`, or `HH_TOKEN_FILE` when set.\n\nStored tokens are refreshed automatically when `expires_at` is near and `refresh_token` exists. If refresh is impossible, run `firehh auth login` again.\n\nOptional environment overrides:\n\n```sh\nHH_CLIENT_ID=\nHH_CLIENT_SECRET=\nHH_REDIRECT_URI=hhandroid://oauthresponse\nHH_TOKEN_FILE=\nHH_ACCESS_TOKEN=\n```\n\n## Using with AI agents\n\n`firehh` is agent-friendly beyond “it returns JSON”:\n\n- `--help` is self-contained: commands, flags, defaults, output shape, exit codes, and examples.\n- Every command is scoped (`auth`, `resumes`, `vacancies`, `applications`), so discovery is predictable.\n- Unknown commands/flags include nearest alternatives and a concrete help command.\n- Stdout is reserved for data; stderr is reserved for prompts/errors/diagnostics.\n- Exit code `1` means the agent should fix its invocation; exit code `2` means auth/hh.ru/browser state needs attention.\n\nExamples:\n\n```sh\nfirehh vacancies search --text \"frontend react\" --remote \\\n  | jq -r '.data.items[] | [.id, .name, .employer.name, .url] | @tsv'\n\nif ! out=$(firehh resumes list 2>err.json); then\n  jq -r '.error.message' err.json >&2\nfi\n```\n\n## Platform notes\n\n- Runtime: Bun.\n- Browser OAuth: Chrome/Chromium with DevTools; tested primarily on macOS.\n- DOCX cover letters: converted with macOS `textutil`. On non-macOS, convert DOCX to `.txt` yourself or pass `--message`.\n","readmeFilename":"README.md"}