{"_id":"@craibuc/adp-workforce-now","_rev":"18-a28f71e0f303da6006ca1da725e9229a","name":"@craibuc/adp-workforce-now","dist-tags":{"next":"2.0.0-rc.1","latest":"3.5.1"},"versions":{"1.0.0":{"name":"@craibuc/adp-workforce-now","version":"1.0.0","keywords":["adp","workforce-now","api","now"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.0.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"62f3f0fe35634028c795e98f30c7c3db5cd1c97d","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.0.0.tgz","fileCount":7,"integrity":"sha512-NKQrbkHcC9Z32Sn1ol+MVFChjoVA8S4xPX0ClxUV6H48KaskO5RAPnJMfQqy2qKwaXDROTvpj8cCeNfxcOd9Hw==","signatures":[{"sig":"MEUCIF2XiXEEmybSGQXNaTOcitFyfHq3S6OxSMj7kIJ7R1zlAiEA8F5XT7TaS4+OeoZcUez23pImYrkRpqqm8L2pMhIHckE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMDgkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRehAAlU1riCIzeVA9qfeZZ3Uh8n//c0RFOu5+UtD0P/XyOX8hyFCI\r\nIu0Mdtk2WKyxAaJTG0EaQwRb2E4HD/+kNzQjlbGdvOvf29QigvHvp6UkN0cJ\r\n91tvSNAShuchk2BpudYXEdiogUPxYYV8OB4QKsesRRgE0vNvx5UawT0PJTD2\r\nGak+UlbWZ4UJ8YsGQWQZJxd2EGR6T7s+lppVFcgLHQeow2LeZIge+PWH1in0\r\nt9pcjffcTpVQ0u/et5dHa4EzA9RsargGchA/39NHk+1mOwNaVQ/8vOKqK7ed\r\n9dBIOgVGo/0rHlmj4XFmBKcC5lJW6Nsx0TmFuVeyvLWIT33xFbAvzDL4XnsF\r\nPV2/Ys34LgEr64NbwwKnXajiR/Hzydzuda63b5UnVoxpn/ETVFARp/BneLSz\r\ne4wVZCfzG7oL2XkVCfrfsU+/u/a0NtBpJcnK1XsSXiKQRVsEEKHnzH3ZZZop\r\nTJ/f585kbWNkD1FQ2fif8NJFX/TeOWUWeO+Q1pWN9WuETNHt4VpLZHx+zYNb\r\nsqC0fO0xzYuMsj2lXY84qt/dmf1IFr4wNig8nIHHhkBPLZA8eTM+6Vq8XDHl\r\nPS8Gh/mh1MYPYwHQAQwMX2RqGTeUEAyv9JmZm+/pTcmzC+5+NOy7SFWDLa9P\r\nY9W+KjRftss33b//Sro/zDNZS9lYnvqTEdo=\r\n=LJ5Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"adp_client.js","gitHead":"a38409d8bf4abcdd0dac44cad5d3e34a875fd369","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.0.0_1680881700561_0.717281144210473","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@craibuc/adp-workforce-now","version":"1.0.1","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.0.1","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"862317254244921df4481717ff190cf2e3dbff93","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.0.1.tgz","fileCount":7,"integrity":"sha512-rmJGtYZvk4ng2M93+C8V4/5ynGgMJHN/lcmGvlOp2/RRIqmAyaaEZ0dUQ3sEf7Byy0Tjl/EmTmfFoo8NZJ5niQ==","signatures":[{"sig":"MEQCICeATvxBO14vTtVe6Y0XWYkxsKu/czya/f+T5KVbbcuBAiBTQDbJieHS9pLUSNm9cT9zc6qBGVcc/JhiHv1SLz0vhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMDiuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplEQ/6AhnAay+ovbRjw5q2HCUW0ipDYcnojerLBSc9eNHAgyOWgY5a\r\nKidYz0fga17755r5Ejat0byFi+FKxhxA8VB+CFIaC9kvz+ok1wq3vkRfxtYW\r\nBXgVCc+gdi0hs1Gp6/TY09PDinV25KJZTPM8s7GfkYL1LtaVfoZeLwzH1ZT1\r\nMrYkz1E9rSwCo1dsKmj7QENL80KZfIIRzqFQ+lCF092CzMbHy2EPwuJ1D4sH\r\nNID6BEX1B9fY1NKmo7ThQjtgTzkJJB6fIGjMcoDjfmMuJ0DZBJvMO7CeCyEu\r\nVxmxiQ5ecc2kHMphoQaEgTnXGX7mp+HBDFv0A/wpNFU2v76/vQIzfwhi3iuk\r\nGDml6HDOHlCrkk+q3srKPMVMqtIeGw5JRZnLXdwOY1ZFUj8MoJYDZcLXMHUo\r\n7MqyoCMb3oYm4gcm4oGnUtglXb9zd9pEXr0QK1HeW9nGr4l+crDRH2l4LRDw\r\nTBLUhRL1qWDJpfHZQi+nbund6NoQQY3k5CkJNDT0okRVJbHyNg5edbn9JQ7C\r\nCV7KLqF8e0SQX1R3ANDFk04P7YHYPpx2Rb0ZTyzh7DpJOjhB3yedcZIJLCSL\r\ntLWf9zcDzKLF3IliMfHuUHwFVgFxwNVFjreM4BbC7ReA3PFnNaOmcbaLUACZ\r\nyGNljMzvQnCU7KqSGLBmdUt5rIA7PRkRIwY=\r\n=Z8jl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"adp_client.js","gitHead":"a38409d8bf4abcdd0dac44cad5d3e34a875fd369","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","dotenv":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.0.1_1680881838440_0.5560204726380111","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@craibuc/adp-workforce-now","version":"1.1.0","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.1.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"310df1664277518d0705d050c776ccd4f23d7654","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.1.0.tgz","fileCount":21,"integrity":"sha512-U0VFmWpAhnkFf8bAngGzCEuJhI6nP4mp4mox8nuUGF1TW05f1TZnStDZW6obNWbWCEdFS0UEG7iRYsb118AbvQ==","signatures":[{"sig":"MEUCIE6ZdaKA8rzKEMQR2weR80gbPifP5+7t4X151dDlccPlAiEAqJpxoVCFlkmpqET9PPUXoon4BHbuHCBIhOJ4dkca96Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNGdZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroPw/5AB9LFmixO2UYBztQgpxUrUc43AdCbs27g2pjy2zmIBdUWMhQ\r\nKP5OsEJDIl3akS451UNeX24WPHPMO9oK8xgSiFb8zcEG974NujLesPTiaN/V\r\no96XvnsV00w+l0yntQC3RV97j9MncoOyRfX2Ec0LpZXF9Tj55qPIQia0+46b\r\nEZXRGr0Jt+3liON1Af/YImvpIjAjAI32zUC+FAjwXiy6VZPSDXEdydCq2i3c\r\niwJFPmfVBjqkG9TDpW51ip5sJtBNFKR4bfh3FTsXWmCJ4bnLcEVr4yAO+3wZ\r\ncpMSd5vj2EprwQRayyW41u3Np4EAng/Ey9JGC8I+NQKmfO7hcr52DJfJ0RgB\r\nP8lJ0sW7NVQGMwBevzUZNBSSKoCGMv7RB5igfQTvwT5CaSjSyC0kM2LX3aZZ\r\njT3QdJ50TyuRB3RWvwDFkP8Ai8XSTaoNWaICUBhbj1dA8zD6EXnBlYnpfcK0\r\nKkn2WDSnUeTaAVNdJz5Bj196OpRZB9bXRAepbtTwbT+2ELvieFexmn1wei9F\r\njrAojomVGmp6H4u912UBz31twUPnlj6M5vAmPTXnqyuZ91e0vK6sH/JyVae0\r\n6sxMCZzIobMiG3RJ1e6BXz5NHY+gSsrF6+vW0+TeX1wZD1TwvuCVLMy4k5/4\r\nBrYNwVkg/obn+OqVpfFHDDKRey4DeQNwthU=\r\n=GX1E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{"^.+\\.[t|j]sx?$":"babel-jest"}},"main":"lib/index.js","type":"module","gitHead":"e98da91912f4a399dfd60bc30eaf1858310f5a15","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","dotenv":"^16.0.3","babel-jest":"^29.5.0","@babel/plugin-transform-modules-commonjs":"^7.21.2"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.1.0_1681155929022_0.7301553891466324","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@craibuc/adp-workforce-now","version":"1.2.0","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.2.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"61caa230b7dd9ae59aabeaad5c61794cd432369f","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.2.0.tgz","fileCount":21,"integrity":"sha512-FPeUd4n/QO0XmeqUTsswP3pJVDQLN440BM3plmypeXxg+BPQTWySlVjpKoGFaWTddNqHTJ+7PUiIvNqImS2O/A==","signatures":[{"sig":"MEYCIQDSnBVNDizcvVH75k5BRjEKu1d928a5s9Se9CRj2tYtCAIhANcOSLsJWRlkR65hvjfxnob/qML4z60NQFfXQegoaoC3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNab1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiLQ//VH+RmATyZSxY6p8GcIQ7TB+R3toIxq61+OifJLWGGj7NjcDj\r\nKcO7xPIg5PhNo8876ubzupshlH3wA2hIb70PbXlkM0iJmYwvGXFbaX+sTYHz\r\nIlZB2/KzsyFPFFE/qa1Y0Db6KbPlvjn0777v8tfN7iarOJAfkKj+tOcnQMVC\r\nC4635T39oBn4t7R0s7XE0ZPlj88no8JZc6ATE1QiHHm8Cu5OfgCsHllsxiEi\r\n/28dz468skB/61kpi4J/9sfJ4CBdGVEwupvSwVsFA2O84TXvNKkIPpt/vGTT\r\n8RxYQMmVix8lRyL34NSKR5SbkrTFKxwdbXaLE+FQ4eZwSnfBNRxmA1hSmEPk\r\nTovBeLd7uU7i6QOUEwTctR/WygDWsVGfuObEn8wmTM7DD1QhCZIhPH1ATs0Q\r\nNVz6yuizTL/9daOlUWwbIiarx3YlY8Flnwun9BGNhM5RlmOUz28CFcoOpnVZ\r\ngX28jLTpHr71aTd1mY81j0UOaQh0kcPMDDKrszboNk/ldSNAH1V9igINRPp3\r\n5Q5Lm5yNhZJm2XoNot9v787QHzq/5ZqfSMm4CIqRuv4qa80FOTu+NWARJXC/\r\nTibxLvAwLCdE0msYwS1b/auqZNrkrYsBT3sjBoCeMHGuNFvrxKecgjJMoUQb\r\ngol2//JAaak5WgI3XQn6v+0oh8BCfroqgsc=\r\n=SSUs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"346e5d8c12612a4126b7d69fba614c1c10eceb1b","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0","dotenv":"^16.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","@babel/plugin-transform-modules-commonjs":"^7.21.2"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.2.0_1681237749581_0.2810773177180934","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@craibuc/adp-workforce-now","version":"1.2.1","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.2.1","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"42800e61347a583366d6bcef96d8e4af4437910b","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.2.1.tgz","fileCount":21,"integrity":"sha512-HLAaAhI/6ANQTFMln6Q7mNxxx8qAxxoJtsREr7gVxjm6cDIZWw1cPXI24IrtrNrztcVUnGIT3fbOouTMz0d4fQ==","signatures":[{"sig":"MEUCIADwcscOdZhJMnDcUzvssJSCllN/faIBZxXO5x1WymoEAiEAmMLJ4ZYnaAHHjXMIrKV448BGoZhEBppadkjTjmztJOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNa6dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+rA/+JD9+XsxqUpClClvrVCJjZ9CYDzIv0wJS4bILWqsjAipo9GIa\r\noDjiWFhaMR/g5UGcGwyIHf2ZCClH5FjCHLdTcLaofx+wvZ3mao6zj6Ua1RvQ\r\nMkreohipcANvgzKeSe9IhG+IwmBdoDofC8OfZ1swW9XLblWj2TS2Up3nENDl\r\nUezpeMJTsUzXrAm3z9wJghLnR0q7wtgGuFjfOMMqsou9LPpm9R33pG9crdo0\r\nVu5amMwf5gQj7nEFYvDv998G0SaO5weNFaJ+1gYmRmOSj06x2++MBjXowWEd\r\nR2KIg5C6S91++tmDI4sMhQoIdRnAXiht9Ejc0l5xqNhSQnVHsEIP8QmceiNJ\r\nfjd7GY/ZomJnincBUdROyBSVAIE+XDtPbPS3QNgrm7NlKJOqCnHuM7jVQWTB\r\n4dMi5ecYaD5SrvHZLaEIlK1NWChe4QCE0+JDQNMchWroRcK7CXYuL/VIJKKw\r\nVryoBO8BxOgZbLs4zG6qFgHds3Ybd6ZbP7WrVYcNya1SCB/Zj5aoWEs/8U3X\r\n+VFUeZ7gdU9wCIIe/0/M8S1ltgqaB9+iXGRN/P4eMLdVPpMh4yW6gZdptwAL\r\nHXqJp7aGYTjaOR0ESadh0iyWoG4XRYK97W0rJAKMTTp98oP5wGjODlWJui1x\r\nCa+M1NPn0i+4HE6o8Iz+m2k14SPMcuSvZho=\r\n=CeWP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"346e5d8c12612a4126b7d69fba614c1c10eceb1b","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0","dotenv":"^16.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","@babel/plugin-transform-modules-commonjs":"^7.21.2"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.2.1_1681239709461_0.1049739230137714","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@craibuc/adp-workforce-now","version":"1.2.2","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.2.2","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"56353822aa315311ad8956a5803c7cfd24c9c526","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.2.2.tgz","fileCount":21,"integrity":"sha512-RdFAfx1SxLacyZhZ8Zw+fiBNAJg3S4uZlyeGEzFzkJ5eajJReAjUfN7Aifit3LnFSYE8GGCtbfnx/zN5Ko6rJQ==","signatures":[{"sig":"MEYCIQC/l8/GOTYjHu/5E70W4q+LCRaoDMfrgSRw6xv+VMHBUgIhAI1rpjm+WnOyfl7emHhFDw4nuPwRR79uN/CRVqE0oJ6y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNbM6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfEw/+IKwq+PGNgbqV+jkm0e2TDKsE83GD8MPLP9QDMPxw+6LFUkAu\r\nq3KyBTACeisHGWjIp+nkzeQbN9NT2KMN3vVkufmIDrVWIZMnkL1zW9MnjfK9\r\nodyjm0PkztXgUVr8zwa7dw79XwK6C1iNZP6Oo/WEMXX/I++hpc0C7wwn9NQS\r\n/jAkihGN9hLqJ9RJFeIPS3muaZkeryY4qUDNlD1bRxGOe3m/kekuMKfMCIMm\r\nEZWrWDmildyCrPMsdTknhfilOl6RLcQs2UmFe9sYRqjTonErV2dghJMdX0kX\r\nglIQAkmB3YGbRP5o7p+zGugILCfP0Z3SLHTlFXYUQJ4F5QvPAnMww0tk5GMz\r\nO4WZSEzKRlH2sjusc1CzSmmhsp2PPVPLwpHBV1uH37lLSIscpD5UZCIKdgH+\r\nt84CxBKgORbeQtW8+Jejfaf200yvncTUmqbDns5FF5oXFgxNpJ1WwGNVUZcu\r\nEALP3DfS7p2Exqhq4rCDi6ay4WrhawObTb/BttAag7sMVS8/D61Ulx2Xyrl4\r\nyI/SwCoMgrTjASB3Vr32OOaG5sNmYcvHoW7u/Y+Y1jdbAWUIMHjX0suyRzta\r\n4j3hELzKd+2XckTc6/q/iWaMMu/wrFT2zc96hiMbM47m7q+ken/4SEb6Ae7U\r\ntTTIjZCOmaScthwiKsxO6n8ccVOJ28rxw9E=\r\n=02VF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"346e5d8c12612a4126b7d69fba614c1c10eceb1b","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0","dotenv":"^16.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","@babel/plugin-transform-modules-commonjs":"^7.21.2"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.2.2_1681240890699_0.013087182714117462","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@craibuc/adp-workforce-now","version":"1.2.3","keywords":["adp","workforce-now","api","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@1.2.3","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"11ff397c33d020c4d79994f143accb1213f5444f","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-1.2.3.tgz","fileCount":21,"integrity":"sha512-tva/rcf+NzWkuABL/2CDhJlSh7urKbvCaQGkAf7llk7yzZzW+Nuuj5ApQZj8ooQ33fepqGDXj04rGtINB5MS1g==","signatures":[{"sig":"MEUCIBrO46N1pxb4/veYuxqZAS/6weKNQrrXQGGIeMIyhXivAiEAki9PhKP+oz2EfHSk7jJSONJL132w0GnONGs6R68zLUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTByUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo23A/9EU5cuOtce0uLQl+wsZhZCct4YAodhHRf22/XP4KBfW7ArQct\r\ns1MHDVwiTARfVQ4F/WgF/kQvZhMqVv9RHFyOIz7tEEtWD/W/Oxo1MOVH1TLu\r\nRiTwhaQluSYOEU+XqR+2JU5o/JIaBvE1i5iksHYTY0SNsm789pCaSpib7fhp\r\nTFtLSLPbxYzDDB0vJ1Gmjnc6UGxRMP0uhBSCpdydXLYTivh0A4bJRrY2YpX2\r\nXJADu4w+J0/aq1kA7m24MOVMPJb8JALESECctHKXFGryOjfT4bscELpGh3qn\r\n43RXrF7F8CDd6oITubDQO17vYCG87t/amhveBOum7vd54XFtFspr1qRVKIgE\r\n5apVnmQnaFEyIcSqUFOaOoHIaf6R+GAanUh+IRmekJPlPqQm2fHRiiMfpA+s\r\n+Q/+V0io+dLW5z6Buhl3MgKz0MBScTSAhiKDsl4BWeP5bki3n6n30zDQwBHB\r\n24/ohRysCyqTn5Zv1L1UIwvxIXMSl6U5VF/Da81wBWsGxZHvU0UQqfaAp3eh\r\niq4djN2MiSqZ38eetB2jIg2ZMDGw9m6XpU5HbWvyRKZXVWdqHbTEzoWF7Fyp\r\nonEPxQgExiZulEp24YCRJz4e1b+l0+6ZXSYsZ3Jb3nIEaYXXYBoGbTb7dQbJ\r\nX+fsMEe2MvQ1Dh6F9acQbnYZ5sTsB6tajic=\r\n=mJcr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"90496d46938a7dcfc60cfd5610aa0fe2ebb46568","scripts":{"test":"jest --testTimeout 10000"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js library to interact with ADP's Workforce Now API.","directories":{},"_nodeVersion":"19.8.1","dependencies":{"https":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","dotenv":"^16.0.3","@babel/plugin-transform-modules-commonjs":"^7.21.2"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_1.2.3_1682709652167_0.6084231943555352","host":"s3://npm-registry-packages"}},"2.0.0-rc.1":{"name":"@craibuc/adp-workforce-now","version":"2.0.0-rc.1","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@2.0.0-rc.1","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"c5afa6fd1ec194d3ad3224f30b6b96942589bef2","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-2.0.0-rc.1.tgz","fileCount":34,"integrity":"sha512-Lwgoef5UfCLGy10Jb0vHjvPH2h72fztvVb76BibRtfeqfFY0E8+sFu5tO4dI5GDJ4nVR5vJGIcRHLXJ/FR4LZg==","signatures":[{"sig":"MEYCIQDVRDjkOpz9+jTT1tebl1aEOhGXWrJ4BnJE4c9GY1t11gIhAKDzJf8aCEXq/fhG5fkMp9Okx9SRi2LGBWN2gTQ7m+c3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48291},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"b2c526950efb3102e22f1f591749ff5a482d7966","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_2.0.0-rc.1_1783924542124_0.19554279602670377","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@craibuc/adp-workforce-now","version":"2.0.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@2.0.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"aa6a046f7bec2c7f27659e0b9d5ea2ef826f3dc7","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-2.0.0.tgz","fileCount":34,"integrity":"sha512-lkZPe3nN4tXAgSyy3XMqbYA7Trf3ewih4wDvVclBnTjizdpyJmuImdS7qDs3xvl+g6CwYgo0n9zlhwWklU2J0Q==","signatures":[{"sig":"MEUCIFYrGTicj08RXHNkagg6qxmVNleRMvxaS7cMCTh8bk5vAiEAk0uwHTEEle8C7epSdmmXG8LpxcId0S7zDF5dCGQwwAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"92d1aa39f8a8cb3429607ce72d2523c5c3c2d096","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"craibuc","email":"craig.buchanan@cogniza.com"},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_2.0.0_1783925726515_0.5452830554872157","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@craibuc/adp-workforce-now","version":"2.1.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@2.1.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"dd293492b94ce90c095fe9fcf2bceab42d7313a8","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-2.1.0.tgz","fileCount":37,"integrity":"sha512-bwyPFJqMi+10xvFjATWIhcQ5EM8hZw9H4uGLXCucB+wdGc4X+E4Yi3F5khPQdBvgGZ8082g3DVj+9pl7JEGFnA==","signatures":[{"sig":"MEQCIAEOFTkeGcENGoNjZvCRSCzada3ET0b05Vq3Fher2OfzAiAI2tedN4RZOGasP4DFQQyJzcAAGixHAjLyLzWKbmSwRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":97469},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"af9f343c923f5eb5d0e6642c6c4e6537c7ba2caa","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_2.1.0_1783939388882_0.25690480291837536","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@craibuc/adp-workforce-now","version":"2.2.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@2.2.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"eb34c078af83dda038858b06c4e12a311d6ea161","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-2.2.0.tgz","fileCount":37,"integrity":"sha512-a7IJy3rMaSuWBLfHrP9P2m6q4i7o3a/WBfax6wjhAPm2y0+sn2cFgXkA783xpL9T/F+Y9QIH7DxMZ916goStuQ==","signatures":[{"sig":"MEUCIQCW9Ivm+wNgrNsmc4bg+rQlTABiS39QJmjbkzC+3pI6TAIgQxusWjIoFaFdB+U9P21FtPI2gve/DLnfTiaidX/bkOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98567},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"86649e1b3350951aa2e94f18eb6cf100325b9866","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_2.2.0_1783944316370_0.9930433927190776","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@craibuc/adp-workforce-now","version":"3.0.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.0.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"ef638c9632cbe48979f996595aea51927fdf396a","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.0.0.tgz","fileCount":40,"integrity":"sha512-6vVrR953wivkgirdOu0hRbzyIglj1tUFgw03Ri/TWLq4XKFWIBD+axmMjGrKy7VlNWqovwXRj0aDsChFGr0/nQ==","signatures":[{"sig":"MEYCIQDoz+ZIQYN8B/ZgZ9eDVfsqezfL58XSJC45qz4DSdBWSwIhAP0m1andLqoZFLztPGuHiEEV9qqwqQUfDtm4z5ZJaytw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111126},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"406bdab39f3459f6d18991333d00f0518f822797","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.0.0_1783952975181_0.7834758683639811","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@craibuc/adp-workforce-now","version":"3.1.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.1.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"732b73d6ed402e038506e0f91d17f40fa368c216","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.1.0.tgz","fileCount":43,"integrity":"sha512-EAtlSRM1YMEfI44AM+ZFybUKnImmjDpvoS05nBgal1mu1gBI8pZE2Ui3fakUSph4hRxDhO5LTn4+KnXvxYZUpw==","signatures":[{"sig":"MEUCIDmDgyPz0Vbbvg3ILgmH/pU6k2TAvppLlry4RYFEkfdUAiEAjlvXLQOyzBK/a4Ki5faLS/NBzvOINcGKYr/FhlCC1TI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119048},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"ec89d355d13cb308760cbe12f075253c013f6ac9","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.1.0_1783958499519_0.7177750331456196","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@craibuc/adp-workforce-now","version":"3.2.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.2.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"09ac205c830971af36ea7d67e14bfdc06a84f6ec","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.2.0.tgz","fileCount":46,"integrity":"sha512-O2471u9Jg93P3R26r+F6uFuwLkkaEdfiCfKgyIJN1A2qrJmGl5XDDe6ATdt2gIPAHiRgSDBibJCsNxt1ZqIPOw==","signatures":[{"sig":"MEYCIQCBZMTvhPIYLmGV4YxlVLOKOsjzm8cxCLP38pTc82OlDwIhAPalDPKW/jrOEopRfSphXwy4kryMq+CZ7JjirNFT3gbJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":138096},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"c382b704ba50064a33ec10571275644d8397b753","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.2.0_1784032438133_0.5709219756637756","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@craibuc/adp-workforce-now","version":"3.3.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.3.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"3ff8662e6a480314fab109e96c2c3b8c57c01be0","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.3.0.tgz","fileCount":46,"integrity":"sha512-KuesKxHb+dofwnsc8eoJFH+PwiMcZ4blPlYhD6Mtn/QWuWDtVXxqtUvkWuLnzMfw4vrFhcueCShN6tYndcmfZw==","signatures":[{"sig":"MEUCIHiALjK9JdtzJwfVaDnPXs8BrYyjwgxcIOlyws1KAD2EAiEA1IfAsH+g9y0jRO6QLSk5t0LYM6QDLK2lyPg+GKve66g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171145},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"0a4536554e7221fddb03031b0fcc3e54fd423cca","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.3.0_1784112304169_0.11517949549945805","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@craibuc/adp-workforce-now","version":"3.4.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.4.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"dc7abe3c0a9605e5140c6d5668c2a931d8925c7c","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.4.0.tgz","fileCount":46,"integrity":"sha512-H4EbKnieay9LEfopSCVFBzbH3uzq3Mu1aZX1stoqZ770dPQCzKFSZ7+KwXANMg5nyM3ooQ1dFPTbiBfmvKYJrg==","signatures":[{"sig":"MEYCIQCoAqUHn/BpxxcRnOYVdPQi2yvhygo7mpRZkrklrFprXwIhALSLBHMFgfk5EinqRPNCY+93B/2KoymhPLqGPNIJ9TyI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172363},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"d4901e9ef2de4c4664bbab82f2355a2fa9da422e","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.4.0_1784121373941_0.36786976684882355","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@craibuc/adp-workforce-now","version":"3.5.0","keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","_id":"@craibuc/adp-workforce-now@3.5.0","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"dist":{"shasum":"b67dd31e33318d1ab71b9103f1f812d6d0a6b450","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.5.0.tgz","fileCount":46,"integrity":"sha512-gt1BJkdTBysqL6pWzt4DcmfgB1d559nk+7gl8fO8UHGAH5gvCjZzvgM2zHyYUtz2gEpmHseMuS3uAEk3RxrmTA==","signatures":[{"sig":"MEYCIQC/EV+/gzOm2mqZggSiMNqhKeUYdOr57jM9laZtugcv/QIhAOBLZPO2slzKdFSApDb+8Tbc26O9c1MdeDB2dW2NjSjw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173391},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"gitHead":"4bcbf70b7383432743c3686ec8c1983173d8feea","scripts":{"test":"bun test","build":"tsc","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"repository":{"url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git","type":"git"},"_npmVersion":"11.16.0","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^24.0.0"},"peerDependencies":{"windmill-client":">=1"},"_npmOperationalInternal":{"tmp":"tmp/adp-workforce-now_3.5.0_1784186753409_0.8941465003665852","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@craibuc/adp-workforce-now","version":"3.5.1","description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"},"./windmill":{"bun":"./src/token-store/windmill.ts","types":"./dist/token-store/windmill.d.ts","default":"./dist/token-store/windmill.js"}},"sideEffects":false,"scripts":{"test":"bun test","test:node":"npm run build && node --test tests/node/*.test.js","typecheck":"tsc --noEmit","build":"tsc","prepublishOnly":"npm run build"},"engines":{"node":">=20"},"repository":{"type":"git","url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git"},"keywords":["adp","workforce-now","api","typescript","bun","node"],"author":{"name":"Craig Buchanan"},"license":"ISC","bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","peerDependencies":{"windmill-client":">=1"},"devDependencies":{"@types/node":"^24.0.0","typescript":"^5.5.0"},"gitHead":"efd4e876ad4c82a69f541f396f9a994db8c25125","_id":"@craibuc/adp-workforce-now@3.5.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-8eQhfCinl0/1KFj69R5zsNlSH685Zs/dNJH+15g1RKyNF5F+mAR58DsCwtLbAVpY2xlp8fr3pE2/HmkFezuv6w==","shasum":"b5864e9f8b470e6e5549e710fb868c8564b2cda6","tarball":"https://registry.npmjs.org/@craibuc/adp-workforce-now/-/adp-workforce-now-3.5.1.tgz","fileCount":46,"unpackedSize":173343,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@craibuc%2fadp-workforce-now@3.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFlytQE5sWtOMDnYUbbn+pzSvjxZza1U5eaDFEljBcQ4AiBfAUfXjwvJzqC1UwuTmE0dL+7yKewuJkXiGXFaN3pGbw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc2214f1-1b05-47fd-a39d-6cf87c28c886"}},"directories":{},"maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adp-workforce-now_3.5.1_1784266157540_0.21441931895561162"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-07T15:35:00.504Z","modified":"2026-07-17T05:29:17.971Z","1.0.0":"2023-04-07T15:35:00.739Z","1.0.1":"2023-04-07T15:37:18.625Z","1.1.0":"2023-04-10T19:45:29.205Z","1.2.0":"2023-04-11T18:29:09.767Z","1.2.1":"2023-04-11T19:01:49.703Z","1.2.2":"2023-04-11T19:21:30.930Z","1.2.3":"2023-04-28T19:20:52.399Z","2.0.0-rc.1":"2026-07-13T06:35:42.400Z","2.0.0":"2026-07-13T06:55:26.643Z","2.1.0":"2026-07-13T10:43:09.018Z","2.2.0":"2026-07-13T12:05:16.508Z","3.0.0":"2026-07-13T14:29:35.320Z","3.1.0":"2026-07-13T16:01:39.663Z","3.2.0":"2026-07-14T12:33:58.311Z","3.3.0":"2026-07-15T10:45:04.318Z","3.4.0":"2026-07-15T13:16:14.188Z","3.5.0":"2026-07-16T07:25:53.540Z","3.5.1":"2026-07-17T05:29:17.696Z"},"bugs":{"url":"https://github.com/craibuc/node-adp-workforce-now/issues"},"author":{"name":"Craig Buchanan"},"license":"ISC","homepage":"https://github.com/craibuc/node-adp-workforce-now#readme","keywords":["adp","workforce-now","api","typescript","bun","node"],"repository":{"type":"git","url":"git+ssh://git@github.com/craibuc/node-adp-workforce-now.git"},"description":"TypeScript client for ADP Workforce Now: mTLS transport, lazy OAuth, typed errors. Runs on Bun and Node.","maintainers":[{"name":"craibuc","email":"craig.buchanan@cogniza.com"}],"readme":"# adp-workforce-now\n\nTypeScript client for [ADP Workforce Now](https://developers.adp.com/): mTLS\ntransport, lazy OAuth client-credentials auth, typed errors, paginated worker\nreads, and lifecycle events (hire / rehire / terminate).\n\nRuns on **Bun ≥ 1.2** (tested on 1.3) and **Node ≥ 20**. Zero runtime\ndependencies (one optional-integration peer, `windmill-client`, is only\never loaded by the `./windmill` token store).\n\n## Install\n\n```bash\nnpm install @craibuc/adp-workforce-now\n# or\nbun add @craibuc/adp-workforce-now\n```\n\n## Usage\n\n```typescript\nimport { Client } from '@craibuc/adp-workforce-now';\n\n// PEM strings may be raw or base64-encoded (auto-detected).\nconst client = new Client(certificatePem, privateKeyPem, {\n  credentials: { client_id, client_secret }, // lazy auto-auth + 401 retry\n});\n\n// keyed lookup — one worker or undefined\nconst byAoid = await client.worker.get('G0FAKEFAKEFAKE1A');\nconst bySsn = await client.worker.get({ ssn: '123-45-6789' });\n\n// search() is LAZY: it fetches nothing until you call a method on it\nconst search = client.worker.search({ familyName: 'Duck', status: 'A' });\n\nconst page = await search.page(0);       // one request — { workers, index, done, next }\nfor await (const p of search.pages()) {  // stream — one request per iteration\n  console.log(p.workers.length, p.done);\n}\n```\n\nEarly-exit scan recipe (test each worker with arbitrary code, stop at the\nfirst hit — this is what the deprecated `.find()` does internally):\n\n```typescript\nasync function findByEmployeeNumber(id: string) {\n  for await (const { workers } of client.worker.search({ status: 'A' }).pages()) {\n    const match = workers.find((w) => (w.workerID as { idValue?: string } | undefined)?.idValue === id);\n    if (match) return match;\n  }\n}\n```\n\nFlow-engine loops (e.g. a Windmill while-loop, one iteration per page): call\n`search(query).page(n)` each iteration and loop on `done` — **never on\n`workers.length`**, which can be 0 mid-stream when client-side residual\nfilters (e.g. the second name in a two-name query) empty a page.\n\nADP requires mutual TLS on every call, including the token endpoint. Keys and\ncertificates are kept in memory only.\n\n### Masked data\n\nGET responses arrive with government IDs masked by default. To receive\nunmasked values (requires appropriate ADP scopes):\n\n```typescript\nconst client = new Client(cert, key, { credentials, masked: false });\n```\n\n### Errors\n\nAll non-2xx responses throw a subclass of `AdpError` carrying `statusCode`,\n`endpoint`, ADP's human-readable `adpMessage`, machine-readable `adpCode`,\nand the `raw` body:\n\n```typescript\nimport { AdpError, BadRequestError } from '@craibuc/adp-workforce-now';\n\ntry {\n  await client.worker.rehire({ associateOID, rehireDate, effectiveDate });\n} catch (error) {\n  if (error instanceof BadRequestError && error.adpCode === 'API_REHIRE_EE_ALREADY_ACTIVE') {\n    // already active — treat as success\n  } else {\n    throw error;\n  }\n}\n```\n\n### Event validation\n\nEvent POSTs are validated client-side against the event's metadata\n(`GET /events/hr/v1/{event}/meta`, cached (default 12 h)) before anything is\nsent — but only **code-list violations block the request**: a tenant\nreason/type code that isn't in the allowed list fails fast with a readable\n`EventValidationError` naming the allowed codes, instead of an opaque ADP\n400. Other meta constraints (`required`, `readOnly`, `hidden`, `pattern`)\nare computable via `eventMeta()` + `validateEnvelope()` for diagnostics, but\nnever block a POST — live verification against real tenant metas showed\nADP overdeclares those constraints on fields that battle-tested envelopes\nhave always sent successfully. On an ADP 400, the meta is refreshed once\nand re-checked (self-healing after tenant validation-table edits, still\ncode-list-only); the request is never re-sent. When that self-heal upgrades\na stale-cache failure into an `EventValidationError`, the error's `cause`\nis the original `BadRequestError` ADP returned. If an event's meta endpoint\nis itself unavailable (some tenants return errors for specific metas),\nvalidation is skipped and the request proceeds — the server remains the\nauthority. Opt out with:\n\n```typescript\nconst client = new Client(cert, key, { credentials, validateEvents: false });\n```\n\nAny `worker.*` event not yet wrapped can use the same pipeline directly:\n\n```typescript\nawait client.worker.postEvent('worker.work-assignment.modify', envelope);\n```\n\n### Event notifications\n\nADP's event-notification queue delivers subscribed events **one message at a\ntime**: `next()` returns the head of the queue — the *same* message until you\nacknowledge it — and `delete(messageId)` is the acknowledgment that makes the\nnext message available. Delete after successful processing and you get\nat-least-once semantics. Empty values are `null` (not `undefined`) so\nflow-step results survive JSON serialization.\n\n```typescript\n// Process up to 50 queued notifications:\nfor (let i = 0; i < 50; i++) {\n  const message = await client.eventNotifications.next();\n  if (message === null) break;              // queue empty\n  await handle(message.payload);            // your logic\n  await client.eventNotifications.delete(message.messageId); // ack -> advances queue\n}\n```\n\nIn a Windmill flow, each iteration can be its own loop step — the queue holds\nthe position, so there is no index to carry between iterations.\n\nHeader-dependent endpoints like this one are built on the `client.raw`\nescape hatch (`raw(method, path, data?)` → `{ status, headers, body }`),\nwhich is public and carries the same auth, mTLS, retry, and typed-error\nsemantics as `get`/`post`.\n\n### Worker photos\n\n```typescript\nconst photo = await client.worker.getPhoto(aoid);   // { contentType, bytes } | null (none on file)\n\nawait client.worker.setPhoto({\n  associateOID: aoid,\n  image: bytes,                 // Uint8Array, or a base64 string (auto-decoded)\n  // contentType/filename optional — the type is sniffed from the image bytes\n});\n```\n\n`setPhoto` checks the image size against your tenant's limit (from the\nupload event's metadata) before sending anything — an oversized photo fails\nfast with both numbers in the error. The library does not resize images\n(that needs an image codec); in your own script:\n\n```typescript\nimport sharp from 'sharp'; // consumer dependency, e.g. in a Windmill step\nconst resized = await sharp(original).resize({ width: 400 }).jpeg({ quality: 80 }).toBuffer();\nawait client.worker.setPhoto({ associateOID: aoid, image: new Uint8Array(resized) });\n```\n\nCrossing Windmill flow-step boundaries: photos are binary, flow results are\nJSON — convert with `Buffer.from(photo.bytes).toString('base64')` on the way\nout, and pass the base64 string straight back into `setPhoto`.\n\n### Worker onboarding\n\n`onboard()` starts an ADP onboarding (Applicant Onboarding v2) for a new\nhire. Unlike other events, the body is validated against your tenant's\nmetadata for **required fields as well as code lists** before anything is\nposted — a missing required field fails immediately with `EventValidationError`,\nnaming the path (when the tenant meta is unavailable, including during its\n5-minute negative-cache window, the call falls back to posting unvalidated\nand ADP then enforces server-side).\n\n```typescript\nawait client.worker.onboard({\n  onboardingTemplateCode: 'YOUR-TEMPLATE',\n  personal: {\n    givenName: 'First', familyName: 'Last',\n    ssn: '111-22-3333',\n    address: { lineOne: '1 Main St', cityName: 'Town', stateCode: 'MN', postalCode: '55555' },\n    mobilePhone: '(612) 555-9876', email: 'first.last@example.com',\n  },\n  worker: { hireDate: '2026-08-01', jobCode: 'J01', homeDepartmentCode: '000001' },\n  payroll: { payrollGroupCode: 'ABC', payCycleCode: 'B' },\n  tax: { federal: { taxFilingStatusCode: 'S', dependents: 2 } },\n  // tenant-specific extras: payroll.customCodeFields and a deep-merged\n  // `overrides` object (applied before validation)\n});\n```\n\n### Token stores\n\nTokens are cached via a pluggable `TokenStore` (default: in-memory). The\ncached JSON shape is `{\"access_token\": string, \"expires_at\": number}` with\n`expires_at` in epoch seconds UTC — a cross-language contract shared with\nother clients.\n\nOn [Windmill](https://www.windmill.dev/), share one token across scripts:\n\n```typescript\nimport { WindmillTokenStore } from '@craibuc/adp-workforce-now/windmill';\n\nconst client = new Client(cert, key, {\n  credentials,\n  tokenStore: new WindmillTokenStore('f/adp/access_token_cache'),\n});\n```\n\n## API coverage\n\nEndpoint → `Class.method` mapping. `Worker` methods are reached via\n`client.worker`; anything not wrapped yet is reachable through the\n`Client.get` / `Client.post` escape hatches (auth, mTLS, and error\nextraction still apply).\n\n| Status | ADP endpoint | Library API | Description |\n|:---:|---|---|---|\n| ✅ | `POST accounts.adp.com/auth/oauth/v2/token` | `Client.authenticate` | OAuth client-credentials token over mTLS; called lazily on any request, cached in the `TokenStore`, refreshed 300 s before expiry |\n| ✅ | `GET /hr/v2/workers` (`$top`/`$skip`, single `$filter` predicate) | `Worker.search` → `page` / `pages` (`all` / `find` deprecated) | Lazy search handle; stateless `WorkerPage {workers, index, done, next}` protocol; extra query fields filtered client-side (ADP's compound name filters are broken server-side) |\n| ✅ | `GET /hr/v2/workers/{aoid}` | `Worker.get` | Fetch a single worker by associate OID (string or `{ aoid }`) |\n| ✅ | `POST /events/hr/v1/worker.read` | `Worker.get({ ssn })` | Look up a single worker by government ID; ADP's read-event filter supports IDs but not name paths |\n| ✅ | `POST /events/hr/v1/worker.hire` | `Worker.hire` | Hire a new worker (legal name, SSN, address, hire date, payroll group) |\n| ✅ | `POST /events/hr/v1/worker.rehire` | `Worker.rehire` | Rehire a terminated worker as of an effective date |\n| ✅ | `POST /events/hr/v1/worker.work-assignment.terminate` | `Worker.terminate` | Terminate a work assignment (reason code, termination/last-worked date, eligibility indicators) |\n| ✅ | any other endpoint | `Client.get`, `Client.post` | Escape hatch for unwrapped endpoints — auth, mTLS, and typed-error extraction still apply |\n| ✅ | any endpoint (with headers) | `Client.raw` | Escape hatch returning { status, headers, body } — same auth/retry/error semantics |\n| ✅ | `POST /events/hr/v1/worker.work-assignment.base-remuneration.change` | `Worker.changeBaseRemuneration` | Change a worker's pay rate (hourly/daily/salary) as of an effective date |\n| ✅ | `GET  /events/hr/v1/{event}/meta` · `GET /hcm/v2/applicant.onboard/meta` | `Worker.eventMeta` (+ `Worker.postEvent` pipeline) | Event metadata for any worker.* event plus applicant.onboard, cached (default 12 h); powers client-side envelope validation |\n| ✅ | `POST /events/hr/v1/worker.legal-name.change` | `Worker.changeLegalName` | Change a worker's legal name as of an effective date |\n| ✅ | `POST /events/hr/v1/worker.person.custom-field.string.change` | `Worker.changeCustomFieldString` | Change a string-typed custom field on a worker's record |\n| ✅ | `POST /events/hr/v1/worker.leave.absence.request` | `Worker.requestLeaveAbsence` | Request a leave of absence (leave-type code, start/expected-return dates) |\n| ✅ | `POST /hcm/v2/applicant.onboard` | `Worker.onboard` | Start an onboarding for a new hire (grouped personal/worker/payroll/tax params; required-field validation blocks pre-POST) |\n| ✅ | `GET /core/v1/event-notification-messages` | `EventNotifications.next` | Head of the event-notification queue ({ messageId, payload }, null when empty); same message until deleted |\n| ✅ | `DELETE /core/v1/event-notification-messages/{id}` | `EventNotifications.delete` | Acknowledge a message (echoes the deleted record); advances the queue |\n| ✅ | `GET /hr/v2/workers/{aoid}/worker-images/photo` | `Worker.getPhoto` | Worker photo as bytes + content type; null when none on file |\n| ✅ | `POST /events/hr/v1/worker.photo.upload` | `Worker.setPhoto` | Multipart photo upload with tenant-meta size preflight and jpeg/png type sniff |\n| ⬜ | `POST /events/hr/v1/worker.work-assignment.modify` | roadmap | Modify an existing work assignment |\n| ⬜ | contact-info change events | roadmap | Change a worker's phone/email contact info |\n| ⬜ | address change events | roadmap | Change a worker's home/mailing address |\n| ⬜ | `POST /events/hr/v1/worker.pay-distribution.change` | roadmap | Change a worker's pay distribution (direct deposit accounts) |\n| ⬜ | legacy worker-profile v1 `PUT` endpoints | not planned | Superseded by the event-based writes above |\n\n✅ implemented (2.0.0–3.3.0) · 🔜 planned (version noted per row) · ⬜ roadmap / no current plans — PRs welcome\n\n## Development\n\n```bash\nbun install\nbun test            # unit tests (Bun)\nnpm run test:node   # Node adapter tests against a local mTLS server\nbun run typecheck\n```\n\n### Live integration test\n\nCopy `.env.sample` to `.env` and fill in real ADP credentials (base64-encode\nthe PEMs). The live test then runs as part of `bun test`; without the\nvariables it is skipped.\n\n## License\n\nISC\n","readmeFilename":"README.md"}