{"_id":"@vibe-validate/utils","_rev":"71-1822d68db3483b75e73935f87c1b48fa","name":"@vibe-validate/utils","dist-tags":{"next":"0.20.1","latest":"0.20.1"},"versions":{"0.17.5-rc.1":{"name":"@vibe-validate/utils","version":"0.17.5-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.17.5-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"be4b2e8e590e164cab3165632e816538ad073d54","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.17.5-rc.1.tgz","fileCount":15,"integrity":"sha512-nJMxZGmL2/Mp/P9BIQ4NLGuW1cOdxz0gdhgTrRSVtH4kJ5/6rDGfOvOTMOLJB/Vo4tVks2rkYM24JS9YiSqgig==","signatures":[{"sig":"MEUCIB9u6/9ft5hRMuoxCKfH7D1yrcNQ7GIp+51PNR4ZRr+sAiEA9JwgSaoMLlGTCaViwd4jbuQ2PZsVrCoJQa3DPQabUg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40692},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.17.5-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/private/var/folders/s4/4xtlq3sn2gs8wqv80z25m4cm0000gn/T/009144186454c68b4104a2f8beac6b26/vibe-validate-utils-0.17.5-rc.1.tgz","_integrity":"sha512-nJMxZGmL2/Mp/P9BIQ4NLGuW1cOdxz0gdhgTrRSVtH4kJ5/6rDGfOvOTMOLJB/Vo4tVks2rkYM24JS9YiSqgig==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"11.5.1","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"24.5.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.17.5-rc.1_1765775002771_0.5199170663666779","host":"s3://npm-registry-packages-npm-production"}},"0.17.5":{"name":"@vibe-validate/utils","version":"0.17.5","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.17.5","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"9c56807e413c06dcd44558c59e53226972834053","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.17.5.tgz","fileCount":15,"integrity":"sha512-42F789+jo/RxNrzkhRiwexRA43nDC3y/vzrb/PVMzJXMO2FqA/b6NLBuWbh0YKcHGc2ZY4fQk6SsDHR/yE/k/Q==","signatures":[{"sig":"MEQCIBNAefN28Ao5d/yQpjO1XQxKxlnJTE6i849mhioQcyQJAiBekGqeWIpnmIN9nkshnR3sBrgs6PUInIGzi56h3cbWkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40687},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.17.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/private/var/folders/s4/4xtlq3sn2gs8wqv80z25m4cm0000gn/T/2e1aa08dd0f1b04b4d54c2610cd4da8e/vibe-validate-utils-0.17.5.tgz","_integrity":"sha512-42F789+jo/RxNrzkhRiwexRA43nDC3y/vzrb/PVMzJXMO2FqA/b6NLBuWbh0YKcHGc2ZY4fQk6SsDHR/yE/k/Q==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"11.5.1","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"24.5.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.17.5_1765775960890_0.6369949195666507","host":"s3://npm-registry-packages-npm-production"}},"0.17.6-rc.1":{"name":"@vibe-validate/utils","version":"0.17.6-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.17.6-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"4c3bc24bd2064a2804020101c984df9c99c4511d","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.17.6-rc.1.tgz","fileCount":15,"integrity":"sha512-GkDtVz1jXXVlCgGoJMuf8USR7DD12UA4rAPpHf2SDTgk/7s2Vvrc2GFWNkLg9E1YtMvtynPMIehQML6aC6+j8Q==","signatures":[{"sig":"MEUCIQC92z6QItzQnmHrEt7PFgCcFE/5GuTxf2Ibg/UGwc384AIgIlX3DZ7RTrEiMhRj7lH8tRaI+lugmvs/0g0WHlzpYHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.17.6-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40692},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.17.6-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/9901cabec7c8b4e8afad47d751769a50/vibe-validate-utils-0.17.6-rc.1.tgz","_integrity":"sha512-GkDtVz1jXXVlCgGoJMuf8USR7DD12UA4rAPpHf2SDTgk/7s2Vvrc2GFWNkLg9E1YtMvtynPMIehQML6aC6+j8Q==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.17.6-rc.1_1765822177248_0.6592995147653251","host":"s3://npm-registry-packages-npm-production"}},"0.17.6-rc.2":{"name":"@vibe-validate/utils","version":"0.17.6-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.17.6-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"2f292d38eb0e1b0a06adacca258e07a69e656c09","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.17.6-rc.2.tgz","fileCount":15,"integrity":"sha512-tJxnwoRzzjp852QICtC6IoRDwxY/oX6D6N/yxcqHc9Av81PuP51YfywFlWvcW4LwVCkqixAqUKSHCyr3xqaKXg==","signatures":[{"sig":"MEQCIEeAuFpXBtJSYFfvSfvu+2Tj5YtCqTa/h4kb/ZI+iMzeAiAcKxgSZ+K/lqXHPqhgx8+saez3Evooc3kA0jUzgcnQAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.17.6-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40692},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.17.6-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/c48e5aa33e49867a4a3043019c0022ec/vibe-validate-utils-0.17.6-rc.2.tgz","_integrity":"sha512-tJxnwoRzzjp852QICtC6IoRDwxY/oX6D6N/yxcqHc9Av81PuP51YfywFlWvcW4LwVCkqixAqUKSHCyr3xqaKXg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.17.6-rc.2_1765824612419_0.7700017746551899","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"@vibe-validate/utils","version":"0.17.6","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.17.6","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"a6d4e5a18b9e5a658a5ac748d2aa277389d971df","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.17.6.tgz","fileCount":15,"integrity":"sha512-7bPTUcH/0M7C7WajQlXsIkoOygcXN5bMHshrVEe1uo5v4uNtWXcycFPgNpavKqnBUEcYZ6hlSFb+Yjm6IqS8Zg==","signatures":[{"sig":"MEUCIQDXF1l6TgLVJ6m22Vygc+RNb6kHwXfhnVXkMCVhquNDFQIgYuSRuj4L9biLlzXwgkhDGKSD496V24LWj/WkBlIHRCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49026},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.17.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/a8d8e76bf64948f7fff1c4ddc6d0f7b3/vibe-validate-utils-0.17.6.tgz","_integrity":"sha512-7bPTUcH/0M7C7WajQlXsIkoOygcXN5bMHshrVEe1uo5v4uNtWXcycFPgNpavKqnBUEcYZ6hlSFb+Yjm6IqS8Zg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.17.6_1765842044056_0.9476064374228199","host":"s3://npm-registry-packages-npm-production"}},"0.18.0-rc.1":{"name":"@vibe-validate/utils","version":"0.18.0-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.0-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"7e9eaed4ee67bfcb4c8edb7ea40d6b4225bc1c19","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.0-rc.1.tgz","fileCount":15,"integrity":"sha512-kyyCcsUc+wU4D9pHq6V1nvVEh1fDmgr/94h2uiNRFD9qwYVqnhRpHfDALxRa7WwqCTbwKKjlEWd3D8nFjNc/aA==","signatures":[{"sig":"MEQCIGQ/AP8CobbDUMTpENGVoUGFxcnzQ1EY5vzX32Uu+hqCAiApX9cSrR0kNPSW6+eNiaMtFMZH93Kbo7p9uxuyVrSejg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.0-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50591},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.0-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/f57cd3938075f156f20a32346dc7d6e2/vibe-validate-utils-0.18.0-rc.1.tgz","_integrity":"sha512-kyyCcsUc+wU4D9pHq6V1nvVEh1fDmgr/94h2uiNRFD9qwYVqnhRpHfDALxRa7WwqCTbwKKjlEWd3D8nFjNc/aA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.0-rc.1_1766245351796_0.9681358094900379","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@vibe-validate/utils","version":"0.18.0","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.0","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"5604cd2397fa2432c2da1ed06594bed2d2616865","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.0.tgz","fileCount":15,"integrity":"sha512-iPjBh9hLxu4VhhGiwqHwX2hzFSWWsEs6fXSz69q5BQzCl/15S0rQ9kdxDWbEiRyI7cp5NM0LEEy/o2f3eXpzLg==","signatures":[{"sig":"MEUCIQDY95To3weiZnGvWxHi0uehFIHe4VZHo3ey7TtPTVgxBwIgIDJ9NpIjvS185A/yeN5bG8UHkxJUe6/Z1fulj671w4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50269},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/9986b2f9fbba0fe10bb760ff81815dde/vibe-validate-utils-0.18.0.tgz","_integrity":"sha512-iPjBh9hLxu4VhhGiwqHwX2hzFSWWsEs6fXSz69q5BQzCl/15S0rQ9kdxDWbEiRyI7cp5NM0LEEy/o2f3eXpzLg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.0_1766730785395_0.3460717152244597","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@vibe-validate/utils","version":"0.18.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"39efb46f3bb60e66a6f56c7162d66ca6a533a808","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.1.tgz","fileCount":15,"integrity":"sha512-LXCrrjotQ6eQUiIRj99+UTZ4zWVSSwQHKkwqauTtNqsjn/c2zzeE8s6hLxQ+siO96vOaxET/LWVAuh3o/pzhIg==","signatures":[{"sig":"MEYCIQDxrndx7pr0/JXfZHB/q6kFE+ct+zakITtdwim+dTa+NAIhALenDueX7GqcIgnkQwJhkcT7FTpVueXWfFBsd7624mYq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50269},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/f5eaf38dbaf9f6018ff8e3387db00dbe/vibe-validate-utils-0.18.1.tgz","_integrity":"sha512-LXCrrjotQ6eQUiIRj99+UTZ4zWVSSwQHKkwqauTtNqsjn/c2zzeE8s6hLxQ+siO96vOaxET/LWVAuh3o/pzhIg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.1_1766798719279_0.8874048456712884","host":"s3://npm-registry-packages-npm-production"}},"0.18.2-rc.1":{"name":"@vibe-validate/utils","version":"0.18.2-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.2-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"82df890ceb851f71468f68ce1165cabc7f430bc6","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.2-rc.1.tgz","fileCount":19,"integrity":"sha512-TMHO/8Un5Qc0ErqTqIyFSj1WDQiKHIfSeg7FTE6nSA0J0iIO2VmnqzsuosF4u4J4Fj166sw7T4m/ERWb8DA47g==","signatures":[{"sig":"MEUCIAOVYeJs9fnDDxAjn9t6jEtcJbZwvBH+gtaVulM1erqxAiEA9fCV6fMtLOuI0s+PORY2yS06LPdEcwQmcX3a6Q2SP5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.2-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56570},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.2-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/35d2fbd982425f7667ce7100743e19cc/vibe-validate-utils-0.18.2-rc.1.tgz","_integrity":"sha512-TMHO/8Un5Qc0ErqTqIyFSj1WDQiKHIfSeg7FTE6nSA0J0iIO2VmnqzsuosF4u4J4Fj166sw7T4m/ERWb8DA47g==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.2-rc.1_1766960112224_0.07144868298681706","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"@vibe-validate/utils","version":"0.18.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"9e052f5e3062a111467b241d8334f06aa5815413","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.2.tgz","fileCount":19,"integrity":"sha512-XWd5nL0ASW2d8EL47PiGjn2fLw5ZOSHqLZwCwyG5OpDI9DIeY9YKSmTaIMCJb+Gfq8LTe6rvZjFux4Br7CRrzg==","signatures":[{"sig":"MEQCIEm3TSTNV03ulyT/GyxEFUr1Ku46u8e/slyI2Kif/JTdAiBEcMMEBBtN0UHacCpMts/RFPE1CXsmc/xNlrMAscxFSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56565},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/5d43b769be810a88a98f263321a19cba/vibe-validate-utils-0.18.2.tgz","_integrity":"sha512-XWd5nL0ASW2d8EL47PiGjn2fLw5ZOSHqLZwCwyG5OpDI9DIeY9YKSmTaIMCJb+Gfq8LTe6rvZjFux4Br7CRrzg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.2_1767555360402_0.7176454801179806","host":"s3://npm-registry-packages-npm-production"}},"0.18.3-rc.1":{"name":"@vibe-validate/utils","version":"0.18.3-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.3-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"1e0e654e659e2e891fcff838d9cd5f0aa5f302e9","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.3-rc.1.tgz","fileCount":19,"integrity":"sha512-IXJYPeKHTga2KXDzqZAcRttXKLSvt8v16Dp8jfL64b9nxVIK3aIvg9dalDRyf7Ykf3vZ3mYQ6VJTOjSspMe95w==","signatures":[{"sig":"MEYCIQCzpRrFTBdFKBb1aoZC5UTQ6cDwI+HvdWdkXmQUTv1GtgIhAJjM2KAg7GUk+Ld5EXvkvpm3n4UVaXFQxSIW+NOeVjgJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.3-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56570},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.3-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/1ddbdc143fa5bd9b1f7c1496951885d0/vibe-validate-utils-0.18.3-rc.1.tgz","_integrity":"sha512-IXJYPeKHTga2KXDzqZAcRttXKLSvt8v16Dp8jfL64b9nxVIK3aIvg9dalDRyf7Ykf3vZ3mYQ6VJTOjSspMe95w==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.3-rc.1_1767584153252_0.8120352085596372","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"@vibe-validate/utils","version":"0.18.3","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.3","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"bd1b84300ad36a2c547d1575f452384d35ee83a4","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.3.tgz","fileCount":19,"integrity":"sha512-j5+nMGLWyizYx7qwvXS+Rk5bOCiEhsv0pgcoUhOObcItyUMGk8ZOGjslJE0rYfwy2CJEhqs9SqOof0Ss7wXPzA==","signatures":[{"sig":"MEYCIQDauH+tc5BbkaEyO6C8LNieEc2bec88LunXz8HeXzUWjgIhAJqfpI8ZXK/mWKxR8lQ9FohJAC0aoprd8OLaIt3Tu8cJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56565},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/58bbf7d3a0d608d370e973d952c88a9a/vibe-validate-utils-0.18.3.tgz","_integrity":"sha512-j5+nMGLWyizYx7qwvXS+Rk5bOCiEhsv0pgcoUhOObcItyUMGk8ZOGjslJE0rYfwy2CJEhqs9SqOof0Ss7wXPzA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.3_1767592204437_0.3940236014551768","host":"s3://npm-registry-packages-npm-production"}},"0.18.4-rc.1":{"name":"@vibe-validate/utils","version":"0.18.4-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.4-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"78a4dbe2430cda7a427748d0a587d08e1436e896","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.4-rc.1.tgz","fileCount":19,"integrity":"sha512-00JhW2fx1gg9MCyo5ckRZGlaO5JDQJXgg8wcZhJh71mZjWa4xulhWlskStGIWyCioFQ+pBBuvqxNujePWHZKPg==","signatures":[{"sig":"MEUCIQDrpix+jKhlb2nCNbqYZDbno8c0qQ1EXnY2iGIwExnjGAIgb9HhINZhgOCiEPMfkpVfg3eC87h9HJ4q/AE0b7xIv70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.4-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56602},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.4-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/5dd8b35e2059015370e0d1265ec9bcc4/vibe-validate-utils-0.18.4-rc.1.tgz","_integrity":"sha512-00JhW2fx1gg9MCyo5ckRZGlaO5JDQJXgg8wcZhJh71mZjWa4xulhWlskStGIWyCioFQ+pBBuvqxNujePWHZKPg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.21.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.4-rc.1_1767932704951_0.6037425779026078","host":"s3://npm-registry-packages-npm-production"}},"0.18.4-rc.2":{"name":"@vibe-validate/utils","version":"0.18.4-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.4-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"85a4d26b494098f6c646379e707ea2430b43fa09","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.4-rc.2.tgz","fileCount":23,"integrity":"sha512-fkvMcxTl6/cgxemKYELgWt0iDy6tGxDUSCaAI6iwlePYxFIMEXM4UBR0StSjJYuZ3EwN9QzGHScFn/wIjcg72Q==","signatures":[{"sig":"MEUCIBFgtfEh4Q8pN6npdVD1XcfONySdi+P9qEL18ZgkTX/aAiEA3uM+/wQ35GC1nV1q/4wCNUf0LcQiYlgsE/BUFFxclHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.4-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59749},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.4-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/4094f2b3c707ed0d6a624b0a8893a635/vibe-validate-utils-0.18.4-rc.2.tgz","_integrity":"sha512-fkvMcxTl6/cgxemKYELgWt0iDy6tGxDUSCaAI6iwlePYxFIMEXM4UBR0StSjJYuZ3EwN9QzGHScFn/wIjcg72Q==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.4-rc.2_1769804442905_0.5223534288702687","host":"s3://npm-registry-packages-npm-production"}},"0.18.4":{"name":"@vibe-validate/utils","version":"0.18.4","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.18.4","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"c815ae309a06782816b4ad8d0db46eed25848d06","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.18.4.tgz","fileCount":23,"integrity":"sha512-xu1KC4QyX/yB8mttk87yd6pwCuoeYYwZpBrLxnYT/O/Hm808V71G9vfB1kjqf/DINCQK7Y5iARe8gme3f/IKeA==","signatures":[{"sig":"MEQCIAdaDjTvs0qwATVClYf2nfbWxwmdJGtDvGnhH3ao1va7AiBswOzZ1W9LAeSU6PowTUpf+tGfzpLhnaDVCQF4bnIWxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.18.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59744},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.18.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/e92ca4013d2e0a4b617f0e116c9e0b1b/vibe-validate-utils-0.18.4.tgz","_integrity":"sha512-xu1KC4QyX/yB8mttk87yd6pwCuoeYYwZpBrLxnYT/O/Hm808V71G9vfB1kjqf/DINCQK7Y5iARe8gme3f/IKeA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.18.4_1769869453099_0.9902084950332701","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.1":{"name":"@vibe-validate/utils","version":"0.19.0-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"2032366cc40010620edbb0ecd84d66c2a00272ed","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.1.tgz","fileCount":23,"integrity":"sha512-BWjAw60lSdnLEX3puh/XIY8i3PhvB1a/hthrYGMjHuWeV/uwg9VK/cLuYg8MT29tfunA/SP9SIWuVDzvvHDY3w==","signatures":[{"sig":"MEUCIAT/L1CEmFYNt7IXhhG31vHzCkOfiTzqCUYEoDrg5gBNAiEA+rSLtSBVmjp91nQPwT8TPrCxj8Xrgh9J7VWvLe2y7Ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59749},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/47b7f5966acecbe3f744a80dfabe13ba/vibe-validate-utils-0.19.0-rc.1.tgz","_integrity":"sha512-BWjAw60lSdnLEX3puh/XIY8i3PhvB1a/hthrYGMjHuWeV/uwg9VK/cLuYg8MT29tfunA/SP9SIWuVDzvvHDY3w==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.1_1769995585602_0.5261409401325334","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.2":{"name":"@vibe-validate/utils","version":"0.19.0-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"1ef7514b95621fa7ed41e603553e3eb52931fbaf","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.2.tgz","fileCount":27,"integrity":"sha512-zoi0nq8c58f8ZB+vZE/kYNp2DvhO/IqbcX/LZVMmUGnVpaIb2PbwLAId4ib5p/MHaF+4vnHnwoO/Ro8m9xFYqA==","signatures":[{"sig":"MEQCIFfkpzjx7piiz6xGWrLuzzzBAubS6PMU26nyVDNdJZL1AiBch3Q+Tl9f1Xnvc0gy66B79IKOn6a9jlVx5dzC1SRFFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73926},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/c2cc46931dbac3b00e636ea1257b2ba8/vibe-validate-utils-0.19.0-rc.2.tgz","_integrity":"sha512-zoi0nq8c58f8ZB+vZE/kYNp2DvhO/IqbcX/LZVMmUGnVpaIb2PbwLAId4ib5p/MHaF+4vnHnwoO/Ro8m9xFYqA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.2_1770057714678_0.8549106016768897","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.3":{"name":"@vibe-validate/utils","version":"0.19.0-rc.3","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.3","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"1928d03228dbe32ac9f07ac9b0d1476845b8ec38","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.3.tgz","fileCount":27,"integrity":"sha512-5aUzJ/lGHn88wVkj7gvRwafTlNWfYDIaCkh2XsjmFwJl6BNWqhNJYdJvMwvWz7BS3FsiajjcyFm8Qjz3sXAt4g==","signatures":[{"sig":"MEYCIQDjpVy7fVWCsUDvGXe5/zpYIytz0PETxkwrsT5YC67vaQIhALuwXPMC9zaMLk8zQB3MbC7boNUhWvEbTPjWK7nS1Bvl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73981},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/01c5fc35f6ab738399d7b600f274bc9e/vibe-validate-utils-0.19.0-rc.3.tgz","_integrity":"sha512-5aUzJ/lGHn88wVkj7gvRwafTlNWfYDIaCkh2XsjmFwJl6BNWqhNJYdJvMwvWz7BS3FsiajjcyFm8Qjz3sXAt4g==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.3_1770326352845_0.4001130051259476","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.4":{"name":"@vibe-validate/utils","version":"0.19.0-rc.4","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.4","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"77e5b5649bfaa55365af0c25ff8ce3a4c5b5f077","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.4.tgz","fileCount":27,"integrity":"sha512-LG4pxh0uzHGLJLbmil+bUKhI+nOgLIcnwPz9DFm6zcSO84X/VFCpSLlTIsYRC+ZglRW/EIKzH1FF0oXxN2iHWg==","signatures":[{"sig":"MEQCIFxupTV1AuMwcPMVVSq1pKKrdpOw7wJvi1KGeh0FpaQsAiAVgRWjwlObrjBggm5FcdVrHRe/vQ8zM3ffvQ1atckPZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73981},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/12ac0b94fc051c29a6b710242409fa3b/vibe-validate-utils-0.19.0-rc.4.tgz","_integrity":"sha512-LG4pxh0uzHGLJLbmil+bUKhI+nOgLIcnwPz9DFm6zcSO84X/VFCpSLlTIsYRC+ZglRW/EIKzH1FF0oXxN2iHWg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.4_1770361470162_0.3678440491982591","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.5":{"name":"@vibe-validate/utils","version":"0.19.0-rc.5","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.5","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"35c2b01fd46341c92a80963a05aef8c7fe50df61","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.5.tgz","fileCount":27,"integrity":"sha512-Mcij34PoPC1KJzFQbDlwNKbUHzBBAn6laBT1ub9mJLBCl6xON7YAJGxOfHPu0Y164zLWG4yWWbRhgCHjKK6ACQ==","signatures":[{"sig":"MEQCIAg/4PycRoEX03DTsrIeV3BwFwxrNevHveG9KNz7dEecAiBM79Vr+1d0hkDWbyVmkOE7SB2uw51RGdAp0xdxu1NI2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73981},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/7084f80ac8ce2037fa7495ea35da245c/vibe-validate-utils-0.19.0-rc.5.tgz","_integrity":"sha512-Mcij34PoPC1KJzFQbDlwNKbUHzBBAn6laBT1ub9mJLBCl6xON7YAJGxOfHPu0Y164zLWG4yWWbRhgCHjKK6ACQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.5_1770434681013_0.6535304161825226","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.6":{"name":"@vibe-validate/utils","version":"0.19.0-rc.6","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.6","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"a73c2029a2e7f2e6213971ede6206022cdbbfe50","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.6.tgz","fileCount":27,"integrity":"sha512-oJRv1vwYlM7GaZspG21bchShmWQH3PrmykaEPPHOaTmPQZ1/01iVEJ98idCxPXQgo77rqLQ+WN+eg9//AUqA8g==","signatures":[{"sig":"MEUCIQCffgYUT8EAL+7cCG1sHVvSBSydUxVA33iBsHgKVo0GPQIgNoKTyIH4GWqOPf5AX4g+eSF1WjYgb77UR2iIiQb2clc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73981},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/83983088e3fe8da8c47e15172e9ca65a/vibe-validate-utils-0.19.0-rc.6.tgz","_integrity":"sha512-oJRv1vwYlM7GaZspG21bchShmWQH3PrmykaEPPHOaTmPQZ1/01iVEJ98idCxPXQgo77rqLQ+WN+eg9//AUqA8g==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.6_1770613949697_0.13689523264978676","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.7":{"name":"@vibe-validate/utils","version":"0.19.0-rc.7","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.7","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"e0eb0cb28718b9ac4ae01f4b40d9ccbdb776ef7f","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.7.tgz","fileCount":31,"integrity":"sha512-fA3oVVFeEae10MmH3ADfsNz5d1vwJ6ewun6h8bIhHlbKYCyUQ4/LKy5QdvZPw7Z1XxRTLla4mxYIvYuUlopMLA==","signatures":[{"sig":"MEUCIDW7DdZcy9IL9FBwe/7Erx5DGNEQrbehS+9Uw9dN1NQ0AiEA16AJzzTaTp667O22pzE+S2s5e+9Hl7LN/l8docJx+yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95431},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/d14a8a7e2bc9d324b28e1118a12d4f94/vibe-validate-utils-0.19.0-rc.7.tgz","_integrity":"sha512-fA3oVVFeEae10MmH3ADfsNz5d1vwJ6ewun6h8bIhHlbKYCyUQ4/LKy5QdvZPw7Z1XxRTLla4mxYIvYuUlopMLA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.7_1770751424316_0.2648258397480525","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.9":{"name":"@vibe-validate/utils","version":"0.19.0-rc.9","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.9","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"d6be4afa0eb4456562c5f5f584b8514fc1defada","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.9.tgz","fileCount":31,"integrity":"sha512-ElLVQhXi0bt4LtPcqzGQza3ZJP11Qt3omc9JFvXtlnDIEe3VCAiNk4jgqEI4fBb3xigOEXTc/X/U3qNvwo0DnQ==","signatures":[{"sig":"MEUCIB6efq/t26u1zooNQi3VGfH3W0/7uCdOzmQld8FZOXufAiEAueLNDeHx+GXK5uIEdZ4h0Y+ndlvur4Pp5W19g9z4leY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95431},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/0c1cb19a3ee8a368539758b37109eabe/vibe-validate-utils-0.19.0-rc.9.tgz","_integrity":"sha512-ElLVQhXi0bt4LtPcqzGQza3ZJP11Qt3omc9JFvXtlnDIEe3VCAiNk4jgqEI4fBb3xigOEXTc/X/U3qNvwo0DnQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.9_1770867035382_0.39360454796870936","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.10":{"name":"@vibe-validate/utils","version":"0.19.0-rc.10","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.10","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"b04d4c230883bf44a35b313e3e5cda44add2e9a1","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.10.tgz","fileCount":31,"integrity":"sha512-trKf0dPpe9wUVsVV2m8BJ70EatjLS89C7uDP80jvP+ieTfKI6MrLVFL5q4/jW0pPCMMzODfBzXb6wUZKFNTE5g==","signatures":[{"sig":"MEYCIQDpFfOmkdvPSdISvnBQKHtmru6JU9GtkPP0WDe2e34W5wIhAJBLQtfwykZEr92zrMzouHr8MBbVMSuxIgNtpq7mD4nz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89778},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/677d16006bdd9169261f10477627c7b3/vibe-validate-utils-0.19.0-rc.10.tgz","_integrity":"sha512-trKf0dPpe9wUVsVV2m8BJ70EatjLS89C7uDP80jvP+ieTfKI6MrLVFL5q4/jW0pPCMMzODfBzXb6wUZKFNTE5g==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.10_1770920985118_0.001978686742523106","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.11":{"name":"@vibe-validate/utils","version":"0.19.0-rc.11","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.11","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"886eb99c6c59e36719a91fe77eb8c037af3df4e2","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.11.tgz","fileCount":31,"integrity":"sha512-IBGH6UtVl5qf+gga9hRgzg9rs2V/wSTZTGlR3kqu9pqkg3ec2aKRyLAQ+VzYqxgMurhXJHAIMUwuwET9svCl+A==","signatures":[{"sig":"MEQCIF4ygvwQSNkk2VmsTpTBpJwQ/0Fok7MCQ579LUZThyBeAiAX+Lo1KxUkR8lt+n0c7UeKg7aV8OcrL4kkBDksGeQ7TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90080},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/bf5cada53bb6ac5aeac3ed2a92840d1b/vibe-validate-utils-0.19.0-rc.11.tgz","_integrity":"sha512-IBGH6UtVl5qf+gga9hRgzg9rs2V/wSTZTGlR3kqu9pqkg3ec2aKRyLAQ+VzYqxgMurhXJHAIMUwuwET9svCl+A==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.11_1770943436891_0.803010273707363","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.12":{"name":"@vibe-validate/utils","version":"0.19.0-rc.12","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.12","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"0895942c480fa85a590e4587e3133a0ae10273ed","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.12.tgz","fileCount":31,"integrity":"sha512-xhQR7kGbISmTOXdyN6hRMClikzPNQcIddaFhQkL3Tqfs3wXEiRwhcSgDgh4LOw9BFyQR23v9gvc899q3uIySXQ==","signatures":[{"sig":"MEUCICCy+38F4bFINajXhIOvYcaE/IWx0Xlr1sf5W0Ta0w+3AiEAw8OGEbofb+FFHu4SvOjBsCSGGefwhka0TAyQ1j36Sss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90080},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.12.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/a2e8c6c6442e1daf04932d5966d446f4/vibe-validate-utils-0.19.0-rc.12.tgz","_integrity":"sha512-xhQR7kGbISmTOXdyN6hRMClikzPNQcIddaFhQkL3Tqfs3wXEiRwhcSgDgh4LOw9BFyQR23v9gvc899q3uIySXQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.12_1771176147927_0.6775722427443982","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.13":{"name":"@vibe-validate/utils","version":"0.19.0-rc.13","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.13","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"02503f2693113b38be7c919fd208e3507a1ea856","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.13.tgz","fileCount":31,"integrity":"sha512-xfrSVxz4q4lRFWw24MCHorKeA5wmhDfIgPZ2kz+hFHtLRC733RJb19TLOAGqRwyjR/evSbl+NX2Qt03hNG1njQ==","signatures":[{"sig":"MEQCIHnBqvDvO9bP8r/HibwKg75JGzRr14K+AzldVuYFUFH0AiAliQtZy9ZX27FZuF6ZxUk3zwSg80qBvjbTGhfjvXFYwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90080},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.13.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/6cd81370aea1c5a63cf08cda33e4dbe8/vibe-validate-utils-0.19.0-rc.13.tgz","_integrity":"sha512-xfrSVxz4q4lRFWw24MCHorKeA5wmhDfIgPZ2kz+hFHtLRC733RJb19TLOAGqRwyjR/evSbl+NX2Qt03hNG1njQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.13_1772149606559_0.8344055119757163","host":"s3://npm-registry-packages-npm-production"}},"0.19.0-rc.14":{"name":"@vibe-validate/utils","version":"0.19.0-rc.14","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0-rc.14","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"42d0e8a68c909aa28d5b473e9d38195b73cfb80c","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0-rc.14.tgz","fileCount":31,"integrity":"sha512-YwnIHgwZFHGPjO/C6xoalbdar9xnxJaobCPlbpZMNlBEUW36MvfXiw9oHRlTdMULaahlyRNe7zEtl4EfY1f7lA==","signatures":[{"sig":"MEQCIFZwgtdshYo+7dlhZe0HT9gJ1sFoyJCKnjBRRl6GSfBUAiAG4o/pqDcddJvWYbWfWKBWP8eK4EONMV3/d+KsXdaavQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0-rc.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90080},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0-rc.14.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/7db964dc6701a62b1fe02b8415296950/vibe-validate-utils-0.19.0-rc.14.tgz","_integrity":"sha512-YwnIHgwZFHGPjO/C6xoalbdar9xnxJaobCPlbpZMNlBEUW36MvfXiw9oHRlTdMULaahlyRNe7zEtl4EfY1f7lA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0-rc.14_1772220242818_0.16034944439773957","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@vibe-validate/utils","version":"0.19.0","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.0","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"d9d0dcc76ddce776ee8ad61cdecd4f346614309e","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.0.tgz","fileCount":31,"integrity":"sha512-NHMuz9D6pnvDD9HlHWyxq+/JPd9F/SUhv1GJ3TdOSRJTH0ReJMQb8eU1RDCQwPRQCjx6+dDi+3ugcojKRGhb3A==","signatures":[{"sig":"MEYCIQDjyrjF2HMEHNlcXjdiGxVk+5pJx5KNx5dPNNRCwPvQJQIhAIQU2myCSq/ISQqmyWHjoRex/2Egizg8QAi2N10PrbFm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90074},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/e50cd470cfac9446b011fd44479b66c0/vibe-validate-utils-0.19.0.tgz","_integrity":"sha512-NHMuz9D6pnvDD9HlHWyxq+/JPd9F/SUhv1GJ3TdOSRJTH0ReJMQb8eU1RDCQwPRQCjx6+dDi+3ugcojKRGhb3A==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.0_1772676796916_0.9812360358931789","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.1":{"name":"@vibe-validate/utils","version":"0.19.1-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"6e039c6dba176fb66127dd9a53ffefbbce72d544","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.1.tgz","fileCount":31,"integrity":"sha512-gJkGbv6EvpU+ppMMhoUQ46Tf9GKPUmO+Rk1MDFaafZG1jQgY70Zagn5YPgyDm3GcRaQ67GPHPeUMU6QOSQQupA==","signatures":[{"sig":"MEUCIHX4SH3ZeqSfYeuPWs78B6vxeLAP9i0Yu9v4/JzDlGuhAiEA3Dor4uYak79eijaJY5vUwjLK/Q856+0L4sPsRN8XG5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/e88f663af454492f395e4c1fe7f3da9a/vibe-validate-utils-0.19.1-rc.1.tgz","_integrity":"sha512-gJkGbv6EvpU+ppMMhoUQ46Tf9GKPUmO+Rk1MDFaafZG1jQgY70Zagn5YPgyDm3GcRaQ67GPHPeUMU6QOSQQupA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.1_1773083834602_0.7462736596394588","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.2":{"name":"@vibe-validate/utils","version":"0.19.1-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"a48fcdcd6195f9e63f47d454d98dcbc625b4ca1c","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.2.tgz","fileCount":31,"integrity":"sha512-ourGjQMkbveuxPMRP4V8DxZe8gKKUBeENy0BWEFBtZSDcvFgvOjbuaIcwaT413HIAEtDboRiq/ZRnb0ACIK1XQ==","signatures":[{"sig":"MEYCIQCEZth/HU2GV9Mkxg/1zc+nCNza+mje6gNthCzJwOLGtwIhAPkkliw0wYNDYlFRQO2k9E64rUBzg7sSnEHyZ0PbT9Xg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/09bc3c772b9a8738c87e4055fd2160bf/vibe-validate-utils-0.19.1-rc.2.tgz","_integrity":"sha512-ourGjQMkbveuxPMRP4V8DxZe8gKKUBeENy0BWEFBtZSDcvFgvOjbuaIcwaT413HIAEtDboRiq/ZRnb0ACIK1XQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.2_1773514285527_0.9320226837835834","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.3":{"name":"@vibe-validate/utils","version":"0.19.1-rc.3","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.3","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"824fa1cfb41a70635c11ce45a59a87dfeb8965fc","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.3.tgz","fileCount":31,"integrity":"sha512-dgak0GaGVp5fqvP1MzneJwaloweKU9wPaP1oiFZP3ACQDbjMnhrCmYVg0njrEohNA3mYNI+e6IHVNwJTyUTGXA==","signatures":[{"sig":"MEUCIQDIWZoxpC4wVjLsyTZ9nk8Yo4uJjdhk5ba3kcXrx/54aAIgKkAzZhe2wW9xVtlrFpUHOi6Fx7YaXFjmJdCbGAHbcdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/cfd29c9496d06fd8d7b62b6d2e495917/vibe-validate-utils-0.19.1-rc.3.tgz","_integrity":"sha512-dgak0GaGVp5fqvP1MzneJwaloweKU9wPaP1oiFZP3ACQDbjMnhrCmYVg0njrEohNA3mYNI+e6IHVNwJTyUTGXA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.3_1773521197980_0.6500683180785682","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.7":{"name":"@vibe-validate/utils","version":"0.19.1-rc.7","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.7","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"eddb044e1116ad299dce8ea84538d77673d50830","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.7.tgz","fileCount":31,"integrity":"sha512-aRipOu/EbOSWeUiggQwnWo2ByhRPCIjlskjcOh646vJtq3lR6Efuv6PP+mV8gE+37qRlbFp520ayMabAXXrbdQ==","signatures":[{"sig":"MEYCIQCoQmAFUHQ5mj04jTLMKB9IdgOwCYmc6zA3GenIUlEjGgIhAN1m6Pj7bEM83a7XsndSQemgoQ1nDMI10A7Kn7Kw6lDT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/86bcfd546deb16f32dfbace4d708624a/vibe-validate-utils-0.19.1-rc.7.tgz","_integrity":"sha512-aRipOu/EbOSWeUiggQwnWo2ByhRPCIjlskjcOh646vJtq3lR6Efuv6PP+mV8gE+37qRlbFp520ayMabAXXrbdQ==","deprecated":"⚠️ Incomplete publish - DO NOT USE. See https://github.com/jdutton/vibe-validate/issues","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.7_1774987904369_0.9770653388732848","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.8":{"name":"@vibe-validate/utils","version":"0.19.1-rc.8","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.8","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"e59069426694a7a8e4adea7e514ab3d75190aa86","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.8.tgz","fileCount":31,"integrity":"sha512-7V5u5awGP1L6r8TKWj+iNF1xIp52r8HbmWydo8wuHd/1/qDDrfP2G3mK7KdFIXk/gdEQaN9wjY/+86CF7rN5Dw==","signatures":[{"sig":"MEQCIGTbrtFdIFpym4yfBEqu8nmdzM1OjsOtadcoh36zCxUBAiA/8Ve04EtZHQPRBck9iIyvQ7YXVheoPk4yK0GWONSl0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/6e9a9306e1c89dd887d8e5379cc4fbe5/vibe-validate-utils-0.19.1-rc.8.tgz","_integrity":"sha512-7V5u5awGP1L6r8TKWj+iNF1xIp52r8HbmWydo8wuHd/1/qDDrfP2G3mK7KdFIXk/gdEQaN9wjY/+86CF7rN5Dw==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.8_1774988345091_0.13410903790047835","host":"s3://npm-registry-packages-npm-production"}},"0.19.1-rc.9":{"name":"@vibe-validate/utils","version":"0.19.1-rc.9","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1-rc.9","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"bb21b445da11501c4fc5e2d6bf8a0d8e6129e2d5","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1-rc.9.tgz","fileCount":31,"integrity":"sha512-C1Hneb84ahpdxwknmWBxg0HzBeercOnIRFWs1rTh3WFHp/GSqFx3YcLbBb4DsJMjGFN3dVNMkqlsTOOdjxaF0Q==","signatures":[{"sig":"MEUCIQCTCOoMyHufvEE9ONcvU1tei8OXPcHbDU/PteZaLvYU3wIgKPvghX7At568zO8xMqDiESPylmJSfmU59sA4U+nPHvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1-rc.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1-rc.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/2b13fb74fd191e8b43c593a9e31c6b81/vibe-validate-utils-0.19.1-rc.9.tgz","_integrity":"sha512-C1Hneb84ahpdxwknmWBxg0HzBeercOnIRFWs1rTh3WFHp/GSqFx3YcLbBb4DsJMjGFN3dVNMkqlsTOOdjxaF0Q==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1-rc.9_1775070180264_0.678698762812487","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@vibe-validate/utils","version":"0.19.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"91dcd91770a0e2cc32fad82703cb80fe6e0d034f","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.1.tgz","fileCount":31,"integrity":"sha512-VuhynwrEb1IL5Y3RXV+bjegum8XHF9imR1Fyngsz/arlDQTcnuexjuhZ3YzEESylOi5Q6tgSUHmxw3TZWWEcdw==","signatures":[{"sig":"MEUCIQCkP7sG4XDKVvpNhXHYYcQDailwC1/taRX6cqnmi17VPgIgESvNyRVG/D6Fvf+NDnBJBl+LYepfokrw1n7vJeHO83I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90074},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/71ae4fba1c757a194eedaa5540016ab4/vibe-validate-utils-0.19.1.tgz","_integrity":"sha512-VuhynwrEb1IL5Y3RXV+bjegum8XHF9imR1Fyngsz/arlDQTcnuexjuhZ3YzEESylOi5Q6tgSUHmxw3TZWWEcdw==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.1_1775099827533_0.9731295344612925","host":"s3://npm-registry-packages-npm-production"}},"0.19.2-rc.1":{"name":"@vibe-validate/utils","version":"0.19.2-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.2-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"b797930b6a7ca7dad28b1fcfe5047f16576594c0","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.2-rc.1.tgz","fileCount":31,"integrity":"sha512-UXPNZ0PPrMNi5h3F85LkS8PQrdzC3D71WZ5O8BTcgYohRIaM19nNHkJ88hRH6l4jYjdYICsbX4duHe1FUFlmsw==","signatures":[{"sig":"MEQCIH/FqM2oy8Gg66IrXkca+Z3LEQIpWOyIZSt9CxWK9TiwAiAZRLWP7qBH9nH7XBZ28BZtocTP2QZ5gN/E8Nk8MWR5VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.2-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.2-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/bb68b7d6c63e7ae7a84edb7f57c2d182/vibe-validate-utils-0.19.2-rc.1.tgz","_integrity":"sha512-UXPNZ0PPrMNi5h3F85LkS8PQrdzC3D71WZ5O8BTcgYohRIaM19nNHkJ88hRH6l4jYjdYICsbX4duHe1FUFlmsw==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.2-rc.1_1775872823931_0.7171261026886551","host":"s3://npm-registry-packages-npm-production"}},"0.19.2-rc.2":{"name":"@vibe-validate/utils","version":"0.19.2-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.2-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"dc6a88db2e6ffc1b7467ef7ebc2a0b8c273a649d","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.2-rc.2.tgz","fileCount":31,"integrity":"sha512-48wJadz0HiCzId6ouYFYXIvI3ljmiNts+co2bT7J8NknLOfLu6SraQ3KM0wFGXuICHx1VF+G8Tgq6jhOZ5Ou1A==","signatures":[{"sig":"MEQCICKPApWMpHQox17ouHlAuU1FToxT+6NzylwzMWD0T7c/AiAz78kfjzj1lmcZ77iBWoGZGJgjqktSpV3R5wlaXmkSkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.2-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.2-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/c98ca125fe011e6ca424b640d8d544fc/vibe-validate-utils-0.19.2-rc.2.tgz","_integrity":"sha512-48wJadz0HiCzId6ouYFYXIvI3ljmiNts+co2bT7J8NknLOfLu6SraQ3KM0wFGXuICHx1VF+G8Tgq6jhOZ5Ou1A==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.2-rc.2_1775873576577_0.9067059297753768","host":"s3://npm-registry-packages-npm-production"}},"0.19.2-rc.3":{"name":"@vibe-validate/utils","version":"0.19.2-rc.3","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.2-rc.3","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"0153c29ec269547bc706b83eefdfc552140c3904","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.2-rc.3.tgz","fileCount":31,"integrity":"sha512-7U5PWGVD007pEFtPM/HUr7qEVErScfEVyhANm9DPPixghJ6M+Cr3neS6jDfTHODWX0BM0LSxR/MWNIx8hKxvig==","signatures":[{"sig":"MEUCIEr2wneEcvuNIetj6zLSBxT3ctRVvEo+igL5xymVGk+VAiEAkxM1tfvwGOb6Z+Ge6dW0HchYcA09ih001VewKZ3xKCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.2-rc.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.2-rc.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/407777214c8b7d8acfa41b6ed23c8bb6/vibe-validate-utils-0.19.2-rc.3.tgz","_integrity":"sha512-7U5PWGVD007pEFtPM/HUr7qEVErScfEVyhANm9DPPixghJ6M+Cr3neS6jDfTHODWX0BM0LSxR/MWNIx8hKxvig==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.2-rc.3_1775874399517_0.7572573205334772","host":"s3://npm-registry-packages-npm-production"}},"0.19.2-rc.4":{"name":"@vibe-validate/utils","version":"0.19.2-rc.4","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.2-rc.4","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"c294297a861ea52c3b64508b69edb1941751ff6c","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.2-rc.4.tgz","fileCount":31,"integrity":"sha512-66M9VRFWhDkBwTwoMXSLb50pw0+apZIQ5Bs/kBUZ0pMeJAsPjaYWMLLLDnHslPGe+6AqSfrEZj9hZNp/7TG7oQ==","signatures":[{"sig":"MEQCIFi4JGogV+Zsg56TM6gOr28l6DMA0+Ls2QJekTFUGj2OAiBpf/fWkswLkahtjv6rA5r/lhcgwdCvM44tgdteGGjOAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.2-rc.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.2-rc.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/b87f57ebc208e80817d7a01d5780a961/vibe-validate-utils-0.19.2-rc.4.tgz","_integrity":"sha512-66M9VRFWhDkBwTwoMXSLb50pw0+apZIQ5Bs/kBUZ0pMeJAsPjaYWMLLLDnHslPGe+6AqSfrEZj9hZNp/7TG7oQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.2-rc.4_1775874809470_0.7351058090212628","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"@vibe-validate/utils","version":"0.19.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"65c203239b0f85cf18606de3802d22eae67b0542","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.2.tgz","fileCount":31,"integrity":"sha512-IWfttswIeZ2C7mOMbj4DodJSWlJsCalBVaXILPQjQjApgN4epjL/2YzWtDT1eX46rsXmlJLp7nOdfn/+WEwWDw==","signatures":[{"sig":"MEUCIQCuRaECZ3ZkO7jcMRp8HcuT7Q+fY5iT74KoX2y1hOjQ3AIgCWrZ+5ceXSKvctwN5VwyHujqqWZlNKpcuGkAe8uh3ps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90074},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/46e95fe8af59f522d38b9aec6d5b869d/vibe-validate-utils-0.19.2.tgz","_integrity":"sha512-IWfttswIeZ2C7mOMbj4DodJSWlJsCalBVaXILPQjQjApgN4epjL/2YzWtDT1eX46rsXmlJLp7nOdfn/+WEwWDw==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.2_1775909124915_0.7030862706442074","host":"s3://npm-registry-packages-npm-production"}},"0.19.3-rc.1":{"name":"@vibe-validate/utils","version":"0.19.3-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.3-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"c81282d0c912f9b4ee3a08c228c9b6a898a7513e","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.3-rc.1.tgz","fileCount":31,"integrity":"sha512-wt6qf2a6CO5kZS6Szt2MheUMNUB+iRYhTAwZSkWIJGgvkXEkxi7ykPfHKpRMcclAWy5IbvG4w+Fl/JA6VX6mPA==","signatures":[{"sig":"MEUCIHFiw9VIyvXf/0aBRL2nYAA4LeI1fqpVoWGe8fwOJyckAiEAkot5fEeZQrOkgWxafNb4vDutVggQn9mYIbGsaDiv0nI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.3-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.3-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/dcf02dc7802619802411102294c53be0/vibe-validate-utils-0.19.3-rc.1.tgz","_integrity":"sha512-wt6qf2a6CO5kZS6Szt2MheUMNUB+iRYhTAwZSkWIJGgvkXEkxi7ykPfHKpRMcclAWy5IbvG4w+Fl/JA6VX6mPA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.3-rc.1_1775921948323_0.36419337252112327","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"name":"@vibe-validate/utils","version":"0.19.3","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.3","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"ea39849151a4e988630646f72691db97cddb4903","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.3.tgz","fileCount":31,"integrity":"sha512-hhUNTwJEFiq8O+w//UyoasUC814j1lPUSsvlt8F9Qfj6B5zgW0X4qCI7LyeSriO9JPiuOsiI6nNGV7bcPnK+0g==","signatures":[{"sig":"MEYCIQDVtdPseaMSAZ50Pp6FmVHBf1Aynim3/YO7BS4gt+foEQIhAM8kBRrAHLJ2hhBnHqUiv4LBW5RR2Zn7jsut6R3vm9EU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90074},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/649f94834c9114b6f05f0e5215bffbe9/vibe-validate-utils-0.19.3.tgz","_integrity":"sha512-hhUNTwJEFiq8O+w//UyoasUC814j1lPUSsvlt8F9Qfj6B5zgW0X4qCI7LyeSriO9JPiuOsiI6nNGV7bcPnK+0g==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.3_1775922951159_0.3061972816944849","host":"s3://npm-registry-packages-npm-production"}},"0.19.4-rc.1":{"name":"@vibe-validate/utils","version":"0.19.4-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.4-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"3aef42f3e5d73d1a355c930e5f850aadcea85701","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.4-rc.1.tgz","fileCount":31,"integrity":"sha512-uzczI1FlUFo8weOA8SMANUl7LtadjXnB+Styrmz1f9dPlhk+n2pu14eau5iYbDoHlioMpRMIxga29FHPfpE3vw==","signatures":[{"sig":"MEUCICzfed9V90FvoeLMDGbjAIQHihyi9/jScx4ocBEGcumsAiEAgI2Kdjjy6WOaNpELKvvP04POZRYao8ogjf6q81U3Luo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.4-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.4-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/dbfcb3fa10738ef2f2461c07da735076/vibe-validate-utils-0.19.4-rc.1.tgz","_integrity":"sha512-uzczI1FlUFo8weOA8SMANUl7LtadjXnB+Styrmz1f9dPlhk+n2pu14eau5iYbDoHlioMpRMIxga29FHPfpE3vw==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.4-rc.1_1776187367330_0.2040903580622151","host":"s3://npm-registry-packages-npm-production"}},"0.19.4-rc.2":{"name":"@vibe-validate/utils","version":"0.19.4-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.4-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"d3b34017bc241eec355692fb1bd2bf35e164502f","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.4-rc.2.tgz","fileCount":31,"integrity":"sha512-n1FdoQAUqFPvHu9ddv2nhXPunbUBQ7WgphE7QkcoyvMYYQb6Qr95hhvof8w53LE5Qs2uJi9GnfsP7i2Sx6VwBQ==","signatures":[{"sig":"MEYCIQDjeobJ/fjnlAOK+j5JLCmTCc2A2f/93CdgILY7KGs90wIhAOgTt6TcVGEWPAl7YN0q4zuORiOfjxSKqRCTuJtE2SJb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.4-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90079},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.4-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/6f54f856c3c38476ef16b2d62884a817/vibe-validate-utils-0.19.4-rc.2.tgz","_integrity":"sha512-n1FdoQAUqFPvHu9ddv2nhXPunbUBQ7WgphE7QkcoyvMYYQb6Qr95hhvof8w53LE5Qs2uJi9GnfsP7i2Sx6VwBQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.4-rc.2_1776188323060_0.18425345618032152","host":"s3://npm-registry-packages-npm-production"}},"0.19.4":{"name":"@vibe-validate/utils","version":"0.19.4","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.4","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"6d1721ffed22d9c19f97acf551a352eab2c7f882","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.4.tgz","fileCount":31,"integrity":"sha512-Hv5fcJ2IDdS/lnOXGGaXDx89zHw9spe+tW8DdB67GcbFCXJs5S81u79fgouR+OTqzw0/dgcz2mb/65vSILH+Ow==","signatures":[{"sig":"MEUCIFSVwDEp9btBzjxWQIJQOUpbBoujUkoWUXUQcABViGBGAiEA+1r4P6LGYAlMxoMuyNR5Uyc7P+1NXUuCeRkX0YXN/b0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/64f65862105a756fd6de375a2e9c1312/vibe-validate-utils-0.19.4.tgz","_integrity":"sha512-Hv5fcJ2IDdS/lnOXGGaXDx89zHw9spe+tW8DdB67GcbFCXJs5S81u79fgouR+OTqzw0/dgcz2mb/65vSILH+Ow==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.4_1776819852296_0.11584825385596353","host":"s3://npm-registry-packages-npm-production"}},"0.19.5-rc.1":{"name":"@vibe-validate/utils","version":"0.19.5-rc.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.5-rc.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"d32d8063dcd08c6c3ed1512727b901dfc12d25e6","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.5-rc.1.tgz","fileCount":31,"integrity":"sha512-zlLD1cCH6c8Fiha1VDp/oSDxlV9cfUpt9TuLDxsql4HxU/V7ExPJ5Xj5KWIC57NA+aJng9U/fQ/YSDG4qWd55Q==","signatures":[{"sig":"MEUCIC5o56oy9xqoChdGM3RF/Y44WSgV9ot9x/0FwMy7L1a+AiEA3OrazORi8vUgEuGvAh5KE2P+4Bonen0K/ekSeHzUZZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.5-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90841},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.5-rc.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/f9569d7ba6622326009161b40c254a7f/vibe-validate-utils-0.19.5-rc.1.tgz","_integrity":"sha512-zlLD1cCH6c8Fiha1VDp/oSDxlV9cfUpt9TuLDxsql4HxU/V7ExPJ5Xj5KWIC57NA+aJng9U/fQ/YSDG4qWd55Q==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.5-rc.1_1777297377323_0.11838571610207449","host":"s3://npm-registry-packages-npm-production"}},"0.19.5-rc.2":{"name":"@vibe-validate/utils","version":"0.19.5-rc.2","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.5-rc.2","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"3b9aee614df0c8a2477a0bcf8dcb2975bc93916f","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.5-rc.2.tgz","fileCount":31,"integrity":"sha512-7NyqePgK3mLyo/mHDwSPBTr0uKVL0UHf1BR8gNU3qW1SRkzJEsapSICtFsWCEl45g4gEEghzwz7cspf/OFfi1w==","signatures":[{"sig":"MEQCIFvlBonsn2kXm7kTnChvxI7sasPqHTK+Cgjzku42r/pdAiALg8hICuRDISHM21QI2jJGCNu1MOEF6nnfwJuCVdwZ7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.5-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90841},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.5-rc.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/02746f51208a437815cd089251ef108b/vibe-validate-utils-0.19.5-rc.2.tgz","_integrity":"sha512-7NyqePgK3mLyo/mHDwSPBTr0uKVL0UHf1BR8gNU3qW1SRkzJEsapSICtFsWCEl45g4gEEghzwz7cspf/OFfi1w==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.5-rc.2_1778558016701_0.7084727499273573","host":"s3://npm-registry-packages-npm-production"}},"0.19.5":{"name":"@vibe-validate/utils","version":"0.19.5","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.5","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"93d2c7e39e83dbd858a55b783beb9d23255fb0ee","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.5.tgz","fileCount":31,"integrity":"sha512-A7fD4vL3+sQSw33ZFUJSR+vFpbJb5zy0oFnbqv/8WYPutvaPQHZ0W3q9yFA+k0yiYxwCU0PaBm3k+R8MZ0mFNA==","signatures":[{"sig":"MEUCIFHUCSpF8URUG4MDxlyA8u95we/QyWq77EAzqzb94HDqAiEAyr2CIksuLBm2oepN5eCSigvamhBJ+2kPlHOtlm6PfP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/e3869a2fcf10def6581406c0e29fa342/vibe-validate-utils-0.19.5.tgz","_integrity":"sha512-A7fD4vL3+sQSw33ZFUJSR+vFpbJb5zy0oFnbqv/8WYPutvaPQHZ0W3q9yFA+k0yiYxwCU0PaBm3k+R8MZ0mFNA==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.5_1778588030045_0.6269899157670888","host":"s3://npm-registry-packages-npm-production"}},"0.19.6":{"name":"@vibe-validate/utils","version":"0.19.6","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.6","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"0912098abab0a43a4835d4bbd89c11ab0c52e394","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.6.tgz","fileCount":31,"integrity":"sha512-wySDExiXZR6VVtHrFMTeg9cS6I9KmTlw7R0K6m/EbIyh8f1IcsZdu/sEDew0Aj68wnFcshnYd60b5ELzy7Sheg==","signatures":[{"sig":"MEUCIQCoNWjYfCWnFDh3Y/mstus8OXa5pZ8ixZ9+b6i5W/lq1gIgUV8k10hcWIiFjQnrZlcy7jyc7u5PC3a2spvi0/229/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/29afc2508ef9e0a918ae0295dcea8ad7/vibe-validate-utils-0.19.6.tgz","_integrity":"sha512-wySDExiXZR6VVtHrFMTeg9cS6I9KmTlw7R0K6m/EbIyh8f1IcsZdu/sEDew0Aj68wnFcshnYd60b5ELzy7Sheg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.7","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.6_1778618497209_0.49060670778237947","host":"s3://npm-registry-packages-npm-production"}},"0.19.7":{"name":"@vibe-validate/utils","version":"0.19.7","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.19.7","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"51dbea1bea82af69b0cc68cdc7de1597fa801139","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.19.7.tgz","fileCount":31,"integrity":"sha512-9rrlgQ6Q0jOXeRGoNMWxOaj0LvtLuX2/bX1Uh7Emu23DM4pmBkqV24iUXxdtmOSFcZSQlffwKna687PAVBCuZQ==","signatures":[{"sig":"MEUCIQCLuKb0gtkP2nyhCY5lAxPvvthDHVa3XE3K7qS3OwbV3gIgEJVBpNMopqdlqtXXSHA6ed972wrJbLYjciCL1hgMHsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.19.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.19.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/4ef6147ccf77d3edd6fc1693df847510/vibe-validate-utils-0.19.7.tgz","_integrity":"sha512-9rrlgQ6Q0jOXeRGoNMWxOaj0LvtLuX2/bX1Uh7Emu23DM4pmBkqV24iUXxdtmOSFcZSQlffwKna687PAVBCuZQ==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.8","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.19.7_1786674889228_0.24432593848976758","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@vibe-validate/utils","version":"0.20.0","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.20.0","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"96d9fa83d5a4203f3344b634651ee2bc4af58c50","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.20.0.tgz","fileCount":31,"integrity":"sha512-Ud/rmnbtZSt7UhgUFNVuNPEe37Kz3EM4KljsrI81Ub/k+vpv1IOW+qJVW88ycO50trRciLHayy1PPqDoQ41s/w==","signatures":[{"sig":"MEUCIQDp1phNCocXN2upsq5YFF+M4V1lrKrJq6frwaAqy7O+YAIgb3Blk1X1QgVQzo9nI3amjIACwzNdsp4OACMo9ogwlvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.20.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/b958f8236656d356d40f91d029479510/vibe-validate-utils-0.20.0.tgz","_integrity":"sha512-Ud/rmnbtZSt7UhgUFNVuNPEe37Kz3EM4KljsrI81Ub/k+vpv1IOW+qJVW88ycO50trRciLHayy1PPqDoQ41s/w==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.8","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.20.0_1786940413252_0.28734860011287067","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@vibe-validate/utils","version":"0.20.1","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"author":{"name":"Jeff Dutton"},"license":"MIT","_id":"@vibe-validate/utils@0.20.1","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"homepage":"https://github.com/jdutton/vibe-validate#readme","bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"dist":{"shasum":"5a8ce65fd7877b7ba0b38b4fe3655a3aa47d5171","tarball":"https://registry.npmjs.org/@vibe-validate/utils/-/utils-0.20.1.tgz","fileCount":31,"integrity":"sha512-r/KNyENVgz87gw26pDuTK4sz2REEENU1DNNGfOscThFWNfEYA26hZpi7XXgErk9LYTPy/LKwjX0YuZldgQaHjg==","signatures":[{"sig":"MEUCIHqtuPVId9VmcrETdGayN7s0BDp4iCH7MdolM9y8Jsq3AiEAx/YIciO3Wm/2KjmdHkbrJh8Hdb6h8CoFxyt+AjeGfdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@vibe-validate%2futils@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90836},"main":"./dist/index.js","type":"module","_from":"file:vibe-validate-utils-0.20.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./test-helpers":{"types":"./dist/test-helpers.d.ts","import":"./dist/test-helpers.js"}},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"},"_resolved":"/tmp/135e556f12199cbb0f50835647e2118e/vibe-validate-utils-0.20.1.tgz","_integrity":"sha512-r/KNyENVgz87gw26pDuTK4sz2REEENU1DNNGfOscThFWNfEYA26hZpi7XXgErk9LYTPy/LKwjX0YuZldgQaHjg==","repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.8","description":"Common utilities for vibe-validate packages (command execution, path normalization)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"which":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.9.3","@types/node":"^22.19.2","@types/which":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.20.1_1787286158330_0.25665710844898304","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-12-15T05:03:22.688Z","modified":"2026-08-21T04:23:18.160Z","0.17.5-rc.1":"2025-12-15T05:03:22.917Z","0.17.5":"2025-12-15T05:19:21.026Z","0.17.6-rc.1":"2025-12-15T18:09:37.391Z","0.17.6-rc.2":"2025-12-15T18:50:12.571Z","0.17.6":"2025-12-15T23:40:44.194Z","0.18.0-rc.1":"2025-12-20T15:42:31.951Z","0.18.0":"2025-12-26T06:33:05.544Z","0.18.1":"2025-12-27T01:25:19.448Z","0.18.2-rc.1":"2025-12-28T22:15:12.366Z","0.18.2":"2026-01-04T19:36:00.622Z","0.18.3-rc.1":"2026-01-05T03:35:53.377Z","0.18.3":"2026-01-05T05:50:04.577Z","0.18.4-rc.1":"2026-01-09T04:25:05.089Z","0.18.4-rc.2":"2026-01-30T20:20:43.086Z","0.18.4":"2026-01-31T14:24:13.233Z","0.19.0-rc.1":"2026-02-02T01:26:25.817Z","0.19.0-rc.2":"2026-02-02T18:41:54.825Z","0.19.0-rc.3":"2026-02-05T21:19:13.000Z","0.19.0-rc.4":"2026-02-06T07:04:30.312Z","0.19.0-rc.5":"2026-02-07T03:24:41.176Z","0.19.0-rc.6":"2026-02-09T05:12:29.832Z","0.19.0-rc.7":"2026-02-10T19:23:44.473Z","0.19.0-rc.9":"2026-02-12T03:30:35.520Z","0.19.0-rc.10":"2026-02-12T18:29:45.273Z","0.19.0-rc.11":"2026-02-13T00:43:57.056Z","0.19.0-rc.12":"2026-02-15T17:22:28.077Z","0.19.0-rc.13":"2026-02-26T23:46:46.720Z","0.19.0-rc.14":"2026-02-27T19:24:02.964Z","0.19.0":"2026-03-05T02:13:17.087Z","0.19.1-rc.1":"2026-03-09T19:17:14.766Z","0.19.1-rc.2":"2026-03-14T18:51:25.676Z","0.19.1-rc.3":"2026-03-14T20:46:38.152Z","0.19.1-rc.7":"2026-03-31T20:11:44.527Z","0.19.1-rc.8":"2026-03-31T20:19:05.229Z","0.19.1-rc.9":"2026-04-01T19:03:00.417Z","0.19.1":"2026-04-02T03:17:07.688Z","0.19.2-rc.1":"2026-04-11T02:00:24.075Z","0.19.2-rc.2":"2026-04-11T02:12:56.712Z","0.19.2-rc.3":"2026-04-11T02:26:39.653Z","0.19.2-rc.4":"2026-04-11T02:33:29.606Z","0.19.2":"2026-04-11T12:05:25.077Z","0.19.3-rc.1":"2026-04-11T15:39:08.471Z","0.19.3":"2026-04-11T15:55:51.288Z","0.19.4-rc.1":"2026-04-14T17:22:47.466Z","0.19.4-rc.2":"2026-04-14T17:38:43.216Z","0.19.4":"2026-04-22T01:04:12.428Z","0.19.5-rc.1":"2026-04-27T13:42:57.492Z","0.19.5-rc.2":"2026-05-12T03:53:36.861Z","0.19.5":"2026-05-12T12:13:50.189Z","0.19.6":"2026-05-12T20:41:37.361Z","0.19.7":"2026-08-14T02:34:49.366Z","0.20.0":"2026-08-17T04:20:13.417Z","0.20.1":"2026-08-21T04:22:38.499Z"},"bugs":{"url":"https://github.com/jdutton/vibe-validate/issues"},"author":{"name":"Jeff Dutton"},"license":"MIT","homepage":"https://github.com/jdutton/vibe-validate#readme","keywords":["utilities","command-execution","path-helpers","cross-platform","windows"],"repository":{"url":"git+https://github.com/jdutton/vibe-validate.git","type":"git","directory":"packages/utils"},"description":"Common utilities for vibe-validate packages (command execution, path normalization)","maintainers":[{"name":"jeffrdutton","email":"jeff.r.dutton@gmail.com"}],"readme":"# @vibe-validate/utils\n\nCommon utilities for vibe-validate packages - the foundational package with NO dependencies on other vibe-validate packages.\n\n## Purpose\n\n`@vibe-validate/utils` provides generic, non-domain-specific utilities used across multiple vibe-validate packages. It serves as the foundation layer that other packages can depend on without creating circular dependencies.\n\n## When to Use\n\nUse `@vibe-validate/utils` for:\n\n- **Security-critical command execution** (`safeExec*`) - When you need to spawn processes safely without shell injection vulnerabilities\n- **Cross-platform path normalization** - When working with Windows 8.3 short names that cause path mismatches\n- **Generic utilities** - Functionality needed by multiple packages that doesn't belong to a specific domain\n\n## When NOT to Use\n\nDO NOT use `@vibe-validate/utils` for:\n\n- **Domain-specific utilities** - Use the appropriate domain package instead:\n  - Git utilities → `@vibe-validate/git`\n  - Config utilities → `@vibe-validate/config`\n  - Extractor utilities → `@vibe-validate/extractors`\n  - Validation utilities → `@vibe-validate/core`\n\n- **Test utilities** - Keep test-specific mocks/helpers in each package's `test/helpers/` directory\n\n## Installation\n\n```bash\n# Production dependency\npnpm add @vibe-validate/utils\n\n# Development dependency (for tests)\npnpm add -D @vibe-validate/utils\n```\n\n## API Reference\n\n### Safe Command Execution\n\nSecure command execution using `spawnSync` + `which` pattern. Prevents command injection by:\n- Resolving PATH once using pure Node.js (`which` package)\n- Executing with absolute path and `shell: false` (except Windows-specific cases)\n- No shell interpreter = no command injection risk\n\n#### `safeExecSync(command, args?, options?): Buffer | string`\n\nExecute a command synchronously and return output (throws on error).\n\n**Parameters:**\n- `command` (string) - Command name (e.g., 'git', 'node', 'pnpm')\n- `args` (string[]) - Array of arguments\n- `options` (SafeExecOptions) - Execution options\n\n**Returns:** Buffer (default) or string (if `encoding` specified)\n\n**Example:**\n```typescript\nimport { safeExecSync } from '@vibe-validate/utils';\n\n// Get output as Buffer\nconst versionBuffer = safeExecSync('node', ['--version']);\n\n// Get output as string\nconst version = safeExecSync('node', ['--version'], { encoding: 'utf8' });\n\n// Custom environment variables\nsafeExecSync('git', ['add', '--all'], {\n  env: { ...process.env, GIT_INDEX_FILE: tempFile }\n});\n```\n\n#### `safeExecResult(command, args?, options?): SafeExecResult`\n\nExecute a command and return detailed result (doesn't throw on error).\n\nUse this when you need to handle errors programmatically.\n\n**Returns:**\n```typescript\n{\n  status: number;        // Exit code (0 = success)\n  stdout: Buffer | string;\n  stderr: Buffer | string;\n  error?: Error;         // If command failed to spawn\n}\n```\n\n**Example:**\n```typescript\nimport { safeExecResult } from '@vibe-validate/utils';\n\nconst result = safeExecResult('git', ['status']);\nif (result.status === 0) {\n  console.log(result.stdout.toString());\n} else {\n  console.error(`Failed: ${result.stderr.toString()}`);\n}\n```\n\n#### `safeExecFromString(commandString, options?): Buffer | string`\n\nExecute a command from a command string (convenience wrapper).\n\n**WARNING:** This function parses command strings using simple whitespace splitting. It does NOT handle shell quoting, escaping, or complex command syntax. Use only for simple commands.\n\n**Example:**\n```typescript\nimport { safeExecFromString } from '@vibe-validate/utils';\n\n// ✅ Simple command\nsafeExecFromString('git status --short');\n\n// ❌ Complex shell features won't work\n// Use safeExecSync() with explicit args array instead\n```\n\n#### `isToolAvailable(toolName): boolean`\n\nCheck if a command-line tool is available.\n\n**Example:**\n```typescript\nimport { isToolAvailable } from '@vibe-validate/utils';\n\nif (isToolAvailable('gh')) {\n  console.log('GitHub CLI is installed');\n}\n```\n\n#### `getToolVersion(toolName, versionArg?): string | null`\n\nGet tool version if available.\n\n**Parameters:**\n- `toolName` (string) - Tool name (e.g., 'node', 'pnpm')\n- `versionArg` (string) - Version argument (default: '--version')\n\n**Returns:** Version string or null if not available\n\n**Example:**\n```typescript\nimport { getToolVersion } from '@vibe-validate/utils';\n\nconst nodeVersion = getToolVersion('node');\nconsole.log(nodeVersion); // \"v20.11.0\"\n\nconst gitVersion = getToolVersion('git', 'version');\nconsole.log(gitVersion); // \"git version 2.39.2\"\n```\n\n#### `CommandExecutionError`\n\nError thrown when command execution fails (extends Error).\n\n**Properties:**\n- `status` (number) - Exit code\n- `stdout` (Buffer | string) - Standard output\n- `stderr` (Buffer | string) - Standard error\n\n### Cross-Platform Path Helpers\n\nWindows-safe path utilities that handle 8.3 short names (e.g., `RUNNER~1`). These prevent \"works on Mac, fails on Windows CI\" bugs.\n\n#### `normalizedTmpdir(): string`\n\nGet normalized temp directory path.\n\nOn Windows, `tmpdir()` may return 8.3 short names like `C:\\Users\\RUNNER~1\\AppData\\Local\\Temp`. This function returns the real (long) path.\n\n**Why this matters:**\n- Node.js operations create directories with LONG names\n- Tests using SHORT paths from `tmpdir()` will fail `existsSync()` checks\n\n**Example:**\n```typescript\nimport { normalizedTmpdir } from '@vibe-validate/utils';\nimport { join } from 'node:path';\n\n// ❌ WRONG - May return short path on Windows\nconst testDir = join(tmpdir(), 'test-dir');\n\n// ✅ RIGHT - Always returns real path\nconst testDir = join(normalizedTmpdir(), 'test-dir');\n```\n\n#### `mkdirSyncReal(path, options?): string`\n\nCreate directory and return normalized path.\n\nCombines `mkdirSync` + `realpathSync` to ensure the returned path matches the actual filesystem path (resolves Windows short names).\n\n**Example:**\n```typescript\nimport { mkdirSyncReal, normalizedTmpdir } from '@vibe-validate/utils';\nimport { join } from 'node:path';\n\n// ✅ RIGHT - Normalized path guaranteed\nconst testDir = mkdirSyncReal(\n  join(normalizedTmpdir(), 'test-dir'),\n  { recursive: true }\n);\n// testDir is now: C:\\Users\\runneradmin\\...\\test-dir (real path)\n```\n\n#### `normalizePath(path): string`\n\nNormalize any path (resolve short names on Windows).\n\nUtility to normalize paths without creating directories. Useful when you have an existing path that might contain short names.\n\n**Example:**\n```typescript\nimport { normalizePath } from '@vibe-validate/utils';\n\nconst shortPath = 'C:\\\\PROGRA~1\\\\nodejs';\nconst longPath = normalizePath(shortPath);\n// Result: 'C:\\\\Program Files\\\\nodejs'\n```\n\n## Security\n\n### Command Injection Prevention\n\nAll `safeExec*` functions prevent command injection by:\n\n1. **No shell interpreter** - Uses `spawnSync` with `shell: false` (except Windows-specific cases)\n2. **Arguments as array** - Never string interpolation\n3. **PATH resolution via `which`** - Resolved before execution, not during\n\nThis is more secure than `execSync()` which uses shell by default.\n\n**Example of safe execution:**\n```typescript\nimport { safeExecSync } from '@vibe-validate/utils';\n\n// Malicious input is treated as literal argument, not executed\nconst maliciousArg = '; rm -rf / #';\nconst result = safeExecSync('echo', [maliciousArg], { encoding: 'utf8' });\n// Output: \"; rm -rf / #\" (literal string, not executed)\n```\n\n## Development\n\n```bash\n# Build\npnpm build\n\n# Test\npnpm test\n\n# Watch mode\npnpm test:watch\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}