{"_id":"paratix","_rev":"28-07c4c97b5fd827d79512003a4ca20cf3","name":"paratix","dist-tags":{"latest":"0.21.0"},"versions":{"0.0.1":{"name":"paratix","version":"0.0.1","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.0.1","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"dist":{"shasum":"47e140764ca1ed83006099a3d38f2d8099baf16e","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.0.1.tgz","fileCount":3,"integrity":"sha512-I9/FEgiydri6awIpqABq+TKiftzZ++eFfs5YBq7aA20gCFXpgF0gFirOouCr2aB4jOiXGUOYjKdpk6byNyByKA==","signatures":[{"sig":"MEYCIQCdoU8xGkQr9UQ40NA1RFoi325J6nvLCergAdGHN7ZrHgIhAOcW8xQEKaW+5d/KdlwoR6g/RRC6RIsSt0wO5fkW1aIP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15269},"type":"module","_from":"file:paratix-0.0.1.tgz","_npmUser":{"name":"fastner","email":"s.fastner@sebastian-software.de"},"_resolved":"/private/var/folders/vx/s7qyy8yj3zl2qb40zbmtlqmh0000gn/T/48ecbde183f5b6a8590611be535a9c39/paratix-0.0.1.tgz","_integrity":"sha512-I9/FEgiydri6awIpqABq+TKiftzZ++eFfs5YBq7aA20gCFXpgF0gFirOouCr2aB4jOiXGUOYjKdpk6byNyByKA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.8.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/paratix_0.0.1_1773593381860_0.7452337434940719","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"paratix","version":"0.1.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.1.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"379ae8531e235007e713c9c8664155d0794d1e4a","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.1.0.tgz","fileCount":20,"integrity":"sha512-PidNTIF0j/vw8xyFZs18zx2pGwiAuTorUs9HC3Cw9jk5tq7HJCZNu8YS4f+Oo40lzgD065gDXTrQVVIzlfC/uw==","signatures":[{"sig":"MEYCIQCw6ZQ5r5Cqyt1oQ7VQfm/9M4Sq5+J+NTfkiyLBOMoARwIhAISruxOL9e9IbLFRfhdBWUz7U8ITfQj6JGQXWqqv/emJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087925},"type":"module","_from":"file:paratix-0.1.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/48eef3812b8f3e528d66ce3d21c14a76/paratix-0.1.0.tgz","_integrity":"sha512-PidNTIF0j/vw8xyFZs18zx2pGwiAuTorUs9HC3Cw9jk5tq7HJCZNu8YS4f+Oo40lzgD065gDXTrQVVIzlfC/uw==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.1.0_1774350333770_0.3509320014149111","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"paratix","version":"0.2.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.2.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"a614d5f551f467fbce85d15c6222a02be76ec1b1","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.2.0.tgz","fileCount":20,"integrity":"sha512-oxeFq+2ou+yfEcocWpImK90wmBWyaA7c3k/BiOg3i/yw57ng2eEWeK1Pi7JEH2DzFuRAtiKRMmu8Qxd9hp35bw==","signatures":[{"sig":"MEYCIQDu6SL2oQd6V8aKpUnObiCORsGNiBjtbnF93A6g6luuOwIhAPt06Um04QZdhxT3LH+rL8urlwQfPFVVu/yTawc/F5Nf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087925},"type":"module","_from":"file:paratix-0.2.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/670d9d5e9155cceee484aa4225c32f36/paratix-0.2.0.tgz","_integrity":"sha512-oxeFq+2ou+yfEcocWpImK90wmBWyaA7c3k/BiOg3i/yw57ng2eEWeK1Pi7JEH2DzFuRAtiKRMmu8Qxd9hp35bw==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.2.0_1774351243017_0.894922299755452","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"paratix","version":"0.3.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.3.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"3a245311e7f5873cc326c915c91ff9a6c039781f","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.3.0.tgz","fileCount":20,"integrity":"sha512-HWhg8ZYQ9E6PR4MS15aycQN+nWiuzeAemVAMdAYyHBlelb6P3AvWgw1Hsuifk2GyQdIAQNHX86TfIUHiJu9YxA==","signatures":[{"sig":"MEYCIQCIxfccDA0GIDHLCyLiS/OOf2Tno669gxg/1RhiChoyLAIhAL/GmluThGzW7hCjgK6kDoKVlJw9dD8njx1y1bfKS9vC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1075456},"type":"module","_from":"file:paratix-0.3.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/d10a186bad5b7595aef1d1d2b62bdb6c/paratix-0.3.0.tgz","_integrity":"sha512-HWhg8ZYQ9E6PR4MS15aycQN+nWiuzeAemVAMdAYyHBlelb6P3AvWgw1Hsuifk2GyQdIAQNHX86TfIUHiJu9YxA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.3.0_1774363993339_0.11564405376944409","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"paratix","version":"0.4.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.4.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"6e22215c3fdfd8df57c42512e7d9a6f81e7c9283","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.4.0.tgz","fileCount":20,"integrity":"sha512-zdcgVFC5wtCjiZKtFIIGlI483Eq83dtewLzOMyWsHnth8xzhFRm5aeU/g63Hvf0qDGP0QhrmmTsAXDMQqrtP7g==","signatures":[{"sig":"MEUCIQC722uwC+h2aCtGyOe8KJxCracH3F+Iv8WZhYqYdZQiHAIgYVM6CWlTJb+hUh6FX3SFReAIej52Zz9C/fo/hRXhUII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093389},"type":"module","_from":"file:paratix-0.4.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/100c94b3fb1241054793c6757fc1c626/paratix-0.4.0.tgz","_integrity":"sha512-zdcgVFC5wtCjiZKtFIIGlI483Eq83dtewLzOMyWsHnth8xzhFRm5aeU/g63Hvf0qDGP0QhrmmTsAXDMQqrtP7g==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.4.0_1774365601770_0.9010950559881776","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"paratix","version":"0.5.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.5.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"6fcd90ece98ff6e907b2452489387484cf2f4289","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.5.0.tgz","fileCount":21,"integrity":"sha512-WUoENQxmYLwdhKw2IcwJiArZXNkP9mWNiHBCT9V9g4OqHQx2WIwonkC9mxu2C9bEFBIK2xPHZwgBYBicv9YoUA==","signatures":[{"sig":"MEUCIQDfYVDZqrwryl6Q4sPrb8Uc2vqjfBPYl/lz71ZE+PEYBwIgdklZioXlLeR+sSyqm6UqnJ3IMJmiqg3OMbvk+Q+Uhg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191929},"type":"module","_from":"file:paratix-0.5.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/adb57d792650e53e63015298d5448893/paratix-0.5.0.tgz","_integrity":"sha512-WUoENQxmYLwdhKw2IcwJiArZXNkP9mWNiHBCT9V9g4OqHQx2WIwonkC9mxu2C9bEFBIK2xPHZwgBYBicv9YoUA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.5.0_1774388054172_0.38476821231639535","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"paratix","version":"0.6.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.6.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"9b5c2e08e2ddd671e4cce766dfb8dd0428cc4e3d","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.6.0.tgz","fileCount":21,"integrity":"sha512-VBIY4cHcip2zH4NpEJmNokCH4BvIdsNNGk9+Oq5ulwXYx3MnlFXD6uzjfk14KnYBl5jdMG3w9qkRAG+aopFoUw==","signatures":[{"sig":"MEYCIQDxMwp3DmnN0CvDn/S0uHWZOg1KfekzQEWSlKctlRRjxwIhANRSm99fYCb6/29D2wfjqVuLRWB3GO1Xb/xyFTUKyS4j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1222689},"type":"module","_from":"file:paratix-0.6.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/8ccf9738cbe0038903e8d339ec456354/paratix-0.6.0.tgz","_integrity":"sha512-VBIY4cHcip2zH4NpEJmNokCH4BvIdsNNGk9+Oq5ulwXYx3MnlFXD6uzjfk14KnYBl5jdMG3w9qkRAG+aopFoUw==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.6.0_1774611936467_0.6081789484679179","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"paratix","version":"0.7.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.7.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"d17926db45e3a01b85afc4cfc9e7d7b53e309386","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.7.0.tgz","fileCount":21,"integrity":"sha512-PcyM8aliaFRNgiba8hcxm11qqgnDrQQDlh/u6oYhg68E03eQCh5skM3k0CUIc5EvNkwczrHZFyWX/+cJRp9Q6Q==","signatures":[{"sig":"MEQCIHYZcx/jC7JnTrT76x57zla4oePnETr+qA8435vpsky2AiACmqgAD7aKkl5hqLIXAeGFhaJPMzTUUIvkgZ0kOmCQ6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1227889},"type":"module","_from":"file:paratix-0.7.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/b7445047af2737708fccb5add5bfc239/paratix-0.7.0.tgz","_integrity":"sha512-PcyM8aliaFRNgiba8hcxm11qqgnDrQQDlh/u6oYhg68E03eQCh5skM3k0CUIc5EvNkwczrHZFyWX/+cJRp9Q6Q==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.7.0_1774968272875_0.5734079232548457","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"paratix","version":"0.8.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.8.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"518d4e282935af9c90e52d5034a03b74e58a47c4","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.8.0.tgz","fileCount":21,"integrity":"sha512-piyZZ1iQn/Ig2TpSmfQyEjCAwYOha+X9xJm44H+fxTdRc1sjqddyXNKGsQk+JZrU6eiE8BpYBPccbu54eTkY6A==","signatures":[{"sig":"MEUCIAmZ6+d9oHM2NLaymnkCPok6pmwN8q07I2mEp+tdgIPoAiEA6ZiPP/EtE9KKL3Gw7lh97xM/TOVvSF1wtDdPz88nCpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234034},"type":"module","_from":"file:paratix-0.8.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/03955e346ba150d0401e5906ce3e6d38/paratix-0.8.0.tgz","_integrity":"sha512-piyZZ1iQn/Ig2TpSmfQyEjCAwYOha+X9xJm44H+fxTdRc1sjqddyXNKGsQk+JZrU6eiE8BpYBPccbu54eTkY6A==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.9.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.8.0_1774970014724_0.07709035072090153","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"paratix","version":"0.9.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.9.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"52ffc9cb04ecd3236b750b5fbb20dd8e5b36b73a","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.9.0.tgz","fileCount":21,"integrity":"sha512-M4W9k272Az5y/zd7E//+J0Atbo9bn0sHMdeg1Bv0icl5t7UAfQ0lMjDGLd1qTUXrc9Q4XOmkBOo1j00WNJ+t7g==","signatures":[{"sig":"MEUCIQDybrF8MvW7peAx2RcZQ84/gyEPQdb7qOKeUVsu8YUZAgIgUCKTqXu+0D8Vte5JbW5Xz0/7i5PFDMDainj71Hl3E4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243289},"type":"module","_from":"file:paratix-0.9.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/ada9545893d14a5cf9a55a8c87a82f8c/paratix-0.9.0.tgz","_integrity":"sha512-M4W9k272Az5y/zd7E//+J0Atbo9bn0sHMdeg1Bv0icl5t7UAfQ0lMjDGLd1qTUXrc9Q4XOmkBOo1j00WNJ+t7g==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.11.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.9.0_1777627388752_0.5132071195397427","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"paratix","version":"0.10.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.10.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"74b1d05537c7533deb6979644c0e7cf727b7310f","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.10.0.tgz","fileCount":21,"integrity":"sha512-gzQMaqOMBttOW66GIUy5DHSR730y5OmIhpUp+Hf/HOBquQjgNQh6q+VlM8IVlk+F10n5txpzl0eVjKmymqYJ7Q==","signatures":[{"sig":"MEYCIQDK5Z3ddpyYnxkSxREWNHX97UkQQgUCpkHt6Ew1DzGAAwIhANhm0hmM7QlYKap+QE4RQwQWPySdKW0xVdOv6SnkaeyT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1291562},"type":"module","_from":"file:paratix-0.10.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","test:integration":"vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/a5231cdddd6c5c4e16b4d325c2893209/paratix-0.10.0.tgz","_integrity":"sha512-gzQMaqOMBttOW66GIUy5DHSR730y5OmIhpUp+Hf/HOBquQjgNQh6q+VlM8IVlk+F10n5txpzl0eVjKmymqYJ7Q==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.11.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tsx":"^4.19.0","ssh2":"^1.16.0","commander":"^13.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.1.0","typescript":"^5.8.0","@types/node":"^25.5.0","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.10.0_1777716456096_0.19064142736202316","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"paratix","version":"0.12.2","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.12.2","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"77089491032b13e195a509c4df71ef69dadb03ff","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.2.tgz","fileCount":15,"integrity":"sha512-ApzvVzVYq2o/eSHonmEjDyyxW+lUdoNW8F52iizR1hVaNrWDwgDRZy2uHYlb8URuxl78lBRZfyK4jb6Wzo5XYA==","signatures":[{"sig":"MEUCIHZ/SexQKn9ebUDM/0Fs5pq4xTjAZ7VkqL1RHTn0XS9dAiEA4dXdGCREMlA8nY4EGN0CWBF462U+v6pILLTupodf5lY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3885477},"type":"module","_from":"file:paratix-0.12.2.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/a782abaeb5da624b3ea6b2adde657384/paratix-0.12.2.tgz","_integrity":"sha512-ApzvVzVYq2o/eSHonmEjDyyxW+lUdoNW8F52iizR1hVaNrWDwgDRZy2uHYlb8URuxl78lBRZfyK4jb6Wzo5XYA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.13.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.12.4","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.2_1781297564280_0.43634193026140333","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"paratix","version":"0.12.3","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.12.3","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"4f9eed25699bafa005e58638bc53eb3ff70a7756","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.3.tgz","fileCount":15,"integrity":"sha512-7M5RdLsAth/vrj02FdKww+dHKpuAaJ64NxkWWwwcGM6kXgVhzqEXPcIIDZh0+W3uRYjiU7T7hJbQfhUugZwYuA==","signatures":[{"sig":"MEUCIQDydS2XA9vDLmj74QhMhv4/xJwO/0NvwEAWcsUHLB1bSQIgKMs3vl50rwziL5Hsr98qkFNe5ZLnZqPjXrYUWlmYkzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3888937},"type":"module","_from":"file:paratix-0.12.3.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/ad8aeb466de27ebbbb04074e14be47c7/paratix-0.12.3.tgz","_integrity":"sha512-7M5RdLsAth/vrj02FdKww+dHKpuAaJ64NxkWWwwcGM6kXgVhzqEXPcIIDZh0+W3uRYjiU7T7hJbQfhUugZwYuA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.13.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.12.4","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.3_1781303370060_0.7485114004010733","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"paratix","version":"0.12.4","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.12.4","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"bece04b16cfa55869217d6a919590520b2793f74","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.4.tgz","fileCount":15,"integrity":"sha512-RDa5REovkv9DWeOrAxU7bl0DUL0cRtucLxaI25xO/0aDgXmMMQCeToBFSyS+8/AinAr4rT+KPmeVxwRCt3Rvyw==","signatures":[{"sig":"MEUCIC5tHB+ywv5lukjmf2IdYW99REkOtCwQgCV27PP1noAWAiEAt3cqFUa61yafhqgVG3/jawIJG1yEPmOTL3zW1Mukzek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3890202},"type":"module","_from":"file:paratix-0.12.4.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/2915ae80e3618667c02b9a67ce829044/paratix-0.12.4.tgz","_integrity":"sha512-RDa5REovkv9DWeOrAxU7bl0DUL0cRtucLxaI25xO/0aDgXmMMQCeToBFSyS+8/AinAr4rT+KPmeVxwRCt3Rvyw==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.13.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.12.4","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.4_1781334080968_0.5397934909785558","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"paratix","version":"0.12.5","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.12.5","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"e3e43042e610ed80e0c1e4c269e2e7dced337cd9","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.5.tgz","fileCount":15,"integrity":"sha512-MNcGX0Vi4UiDvFpuhWfSD9I1XSgpBUxGzAqhW7OqSltHtg9ln/6CVGT1nkCX4nktIWj4t5ftkdFiGn32ENnUhw==","signatures":[{"sig":"MEUCIQCDCDtoa8KSZ2NwGUsyd82CnaUqHyp3XXzUSI2GvX6+BgIgLktLYHzi+GX8zVpjCLZAu3ABZlNsNrG1erINMhZ4ylU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3890924},"type":"module","_from":"file:paratix-0.12.5.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/73f701f9abb44b149216368b4282961a/paratix-0.12.5.tgz","_integrity":"sha512-MNcGX0Vi4UiDvFpuhWfSD9I1XSgpBUxGzAqhW7OqSltHtg9ln/6CVGT1nkCX4nktIWj4t5ftkdFiGn32ENnUhw==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.13.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.12.4","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.5_1781353448785_0.680708804478745","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"paratix","version":"0.12.6","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.12.6","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"01de0caff1d552584ac9cba6e7a8c58df3f767b5","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.6.tgz","fileCount":15,"integrity":"sha512-oTw/i0aMqfKclATY7VfIx7oqiJsEl7ZPGppg69QLRO967pgs9xQd7WQebRvjmvKGEFBG9B6xmGee/geBu6AsWA==","signatures":[{"sig":"MEUCIQDIgPH9+6vPBqo1gixfCVutRccl6/wq82AzQa1odAAsZwIgRLzt4gIEe4LDEG9sJEU2y8dvIqStFnAW8M89XAsQhvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3891880},"type":"module","_from":"file:paratix-0.12.6.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"_resolved":"/tmp/48aec1efaae0e1295fa1f4bbce54a750/paratix-0.12.6.tgz","_integrity":"sha512-oTw/i0aMqfKclATY7VfIx7oqiJsEl7ZPGppg69QLRO967pgs9xQd7WQebRvjmvKGEFBG9B6xmGee/geBu6AsWA==","repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.13.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.12.4","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.6_1781356188610_0.7567451647163574","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"paratix","version":"0.12.8","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.12.8","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"fd98c85ff51285465d135e29b8300e6edff5ded6","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.12.8.tgz","fileCount":15,"integrity":"sha512-LxesUa7Te8MBQ2UQ6hzBNHK7FgvURSglFDaD3AXh5y2S769CPymbIDIGIqLXm0xeRtdwqmjP9yXmickg1rSulA==","signatures":[{"sig":"MEYCIQDJaWCysW7s8Qx0NZT3S3T1PKmSVE17uT0M8ZO3z483zwIhAKntn3KysuTXtmN4uNj8vQqpwXiApH+FiRT6jVg/ozC3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3907341},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run","test:watch":"vitest","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.12.8_1783118147677_0.6656116987577922","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"paratix","version":"0.13.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.13.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"ef204cf9621dd8cbe17a3d7fbb87dc377d704641","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.13.0.tgz","fileCount":11,"integrity":"sha512-HCrp4wwbjRZBx2caFPgtPb58ybUOnkfaNES17THaRXippJe+HXSQX4/nTT0PALZLEZcVr8003D7V8COdO4ARtw==","signatures":[{"sig":"MEUCIQDAAlL89UPYRA5+yzPdt2eE2bHE/fnXSrztOphLaNj70wIgZnVAX3lOymM4aV28D45UOTVBS3jD6xPeD2AcsB2LvUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1216427},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.13.0_1783640960768_0.4442830377284688","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"paratix","version":"0.14.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.14.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"7ca0f0e13825925d49bc6bd997384547fdfd3bbe","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.14.0.tgz","fileCount":11,"integrity":"sha512-8qtSeU46u3kB6QZyQEH8TSjliE87ScIPUEbVAzYc4zq0Z03c62yJ+vd1l6BY/TX2w87PHW/GiB8vrWsJDWAr8A==","signatures":[{"sig":"MEYCIQCE8k+uX1jiG4sip+jR3wJxYqCBe5yug0Pm8Dg0saT94gIhAM02sQ9LaO64aCHVxzQd8P1Sy5s4QtRvlEVXCbupBFGp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1221290},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.14.0_1784021781232_0.3122798634779276","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"paratix","version":"0.15.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.15.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"b502cbedef64fdfe21b076104ca2e5cbde030f41","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.15.0.tgz","fileCount":11,"integrity":"sha512-nIh8rt9ioqQmQYn/pKpF4biph2x7RXcM+WyFbumTBV/BYWmj5TFn+RX/HYo+i+VA/ia2auO5nG/B8jMdun1mjw==","signatures":[{"sig":"MEUCIQC3UxiXLX2XYy57cJxaoilus2fBH6z5kJWXUHhxh81UEgIgI+w/dI7/uRaXR/3pMXaV7wEOy1PwQh17oVX3GPyDwPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1231664},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.15.0_1784061831890_0.4946049856169479","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"paratix","version":"0.15.1","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.15.1","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"80108d88d54460e89c607714d5a719ae8a7bbaa0","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.15.1.tgz","fileCount":11,"integrity":"sha512-ydiQOCd0Iz/2psrdvSc+n7QK6/n6T0dSjV4M5cGKdp4cWev4qPO18szrrhjXQ5VDrk7ah9MHBzXec5FGbZYO7g==","signatures":[{"sig":"MEQCIFXwl9w6Lj/YkDACxwcppfuRkMxE/MZ6BnTOp0qEpIG8AiAFkSkWGZi1b1g1C2kirpYUcIqL2kcebVUvIcavq1F5Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1231840},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.15.1_1784065238903_0.8873332174081838","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"paratix","version":"0.16.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.16.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"46a16aeac5f37af4eea0f2fef6b79514ab18efe3","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.16.0.tgz","fileCount":11,"integrity":"sha512-CMq1Kh6VJCRBg9GxzjOYzCcD18emJ1mu2LuHrr39m8KzUQKz7DJIQjhmOt0Kl8l9pTiXN4ckhiFK4oZDfXTCRQ==","signatures":[{"sig":"MEYCIQDLIX90aPySfmIsT5CS9iIlDtIvNacPZDFmIFkegPVZcgIhAPEg/v00vxV2amRX+rfABbxjxbOh3OAKYy/fRnIlJg/m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1241423},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.16.0_1784141346687_0.4388105169014145","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"paratix","version":"0.16.1","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.16.1","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"dbde5d2ed984ba28131d3df3330280da0769aaa9","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.16.1.tgz","fileCount":11,"integrity":"sha512-5m8oqBg6X0jOKfV8biMIUDtonlWRdVnAv3n+9gMUlaLhNLftbq+sE/uJod5cNd/7Vwug822BMpCm0Pl8j4CW6g==","signatures":[{"sig":"MEUCIQCNbhHjPsITFj6byzDuA8EJCcwIpVrbuf9gpXneQJ6l3gIgYgplpIoRaxiLkY6FMgXL/vjCr7ihlAvahowvopw8m3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243532},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.16.1_1785085051245_0.8020237080247794","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"paratix","version":"0.17.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.17.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"c8c96d14da430d76c185480f17509a7b333bb938","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.17.0.tgz","fileCount":11,"integrity":"sha512-QYoLSqlFqkm/9MOGw7ddidf7C+GZC25CDX0ZaDd9uDJj+3YEZ5WdPi0on55NwCthQHCJYbBVoBo7Ox5yCpb39Q==","signatures":[{"sig":"MEUCIQDZ8xJuRZWglfJKVAx7zoqAEi+cpjhhko/B2V+WHfC2QgIgNWeFbde7T1tjalkSyj0yCXotpHxyWi07IpAjrHaV31U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1250154},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.22.3","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"24.13.2","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.17.0_1785104879762_0.9753534199869525","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"paratix","version":"0.18.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.18.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"9d5b25ae423874bcdb98676dcad41df55c6f1471","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.18.0.tgz","fileCount":11,"integrity":"sha512-569p8GkvObziCOIxK6K9ctY68+pnC/qqjuA4/ZYCc+nQ4y+2hR2psSJWpWaRCu610klkeYDnV/Isa63FoOTbIA==","signatures":[{"sig":"MEYCIQChUFKNA51V30gdhNKPrngq39YQ3dQk0Sy2wNlCyxTQQwIhAKxFMbCE6r+aauwcx6mFVCW4KzlBm1eBjMi2/UR9iV6B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1280846},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.23.1","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.10","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"24.13.3","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.18.0_1785917045912_0.9366115699655453","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"paratix","version":"0.19.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":"Sebastian Fastner <s.fastner@sebastian-software.de>","license":"MIT","_id":"paratix@0.19.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://paratix.oss.sebastian-software.com","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"./dist/cli.js"},"dist":{"shasum":"3942af932ab48a242a16ce20b96d83822334fe9b","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.19.0.tgz","fileCount":11,"integrity":"sha512-8j+SDnl3CesLotIOzDZHEAd2QAt+VpJZa/7KS/7Y9RiYpQRPGSXYnCoWNLIUMFlmGreImErhTo59b9n8g9xhuw==","signatures":[{"sig":"MEUCIHoGowBsxrTIeymuGgOvVhJXufjRNknGJp24tSfVQovIAiEA8WaL3WqJXeWm0kj/qZpRkReQ/3BKDv0whqNoju14h/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293152},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"26.0.0","dependencies":{"tsx":"^4.23.1","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.10","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"24.13.3","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.19.0_1786111410136_0.9875436985419586","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"paratix","version":"0.20.0","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","_id":"paratix@0.20.0","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"homepage":"https://github.com/sebastian-software/paratix#readme","bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"bin":{"paratix":"dist/cli.js"},"dist":{"shasum":"a71af5f832626a0b4926634fed364d7136d25117","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.20.0.tgz","fileCount":11,"integrity":"sha512-40aPffELQas4SUViqwCzpQXzRnjhwIb7tLyrFiAVM1g2soD4WRtE29X456ysJAMbuhsKq4bPSQRhJ6+oyioGNw==","signatures":[{"sig":"MEUCIQC6Ed4I0wEDeWVkHha6vQyBvQ6HXaJSA+hGoefZWsEj1wIgZgMisFhCQPG0r3Ets0qAkVBn8Eb40CgV4Pv0BOeilts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDAnbc0Z0NEPYBY3ykmPaoJPvJH+HmCmS2gZTB5ONFGzAIgWfQDiNdYcLTTwLqkXae5Ure8qYv4SsG5iA6d3ehBbZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/paratix@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1308765},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"gitHead":"e162936e28aa890e59cc5362726e4fbcdf476a56","scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.19.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"_nodeVersion":"24.21.0","dependencies":{"tsx":"^4.23.1","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.10","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"24.13.3","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/paratix_0.20.0_1790196241363_0.019183221024021035","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"_id":"paratix@0.21.0","bin":{"paratix":"dist/cli.js"},"bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"dist":{"shasum":"d014f4e3828ac2b86ff531acabf8b6763ec917e0","tarball":"https://registry.npmjs.org/paratix/-/paratix-0.21.0.tgz","fileCount":11,"integrity":"sha512-DwsppZtbh6vSTn7hMkVgyQ1lYf0YbOb4vJEVF+Sbs+p79UEpwJNvdlcY3m/I0FNeAAby0FRMEhDx8TukZbg84A==","signatures":[{"sig":"MEQCIH4a82Hm7d5tJhGirklfx+yPYV0ox1EKMBVDSdAMH3LYAiAk4Jyat9yeGM8ZdOlVSqKtO3r+mXrWoJxCVJESH1QpRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDRF0EDTQn5TCYXAGIEFSCqFR4RFhXixbQMVpcCzQj/8QIhAKBHgAORL+LdFNPfMHmu9XFdDRlZy5sk5BLqCve2jntf"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/paratix@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1449537},"name":"paratix","type":"module","author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"engines":{"node":">=24.0.0"},"exports":{".":"./dist/index.js","./modules":"./dist/modules/index.js"},"gitHead":"c62991d91f70fd34482fb13c1d1bea35911ab4e9","license":"MIT","scripts":{"test":"pnpm test:unit && pnpm test:dist","build":"tsup","test:dist":"pnpm build && vitest run --config vitest.distribution.config.ts","test:unit":"vitest run --coverage","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"pnpm build && vitest run --config vitest.integration.config.ts"},"version":"0.21.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e91f1a47-1b2f-4602-9751-c42511ed16bb"}},"homepage":"https://github.com/sebastian-software/paratix#readme","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"_npmVersion":"11.19.0","description":"Idempotent VPS setup tool in TypeScript","directories":{},"maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"_nodeVersion":"24.21.0","dependencies":{"tsx":"^4.23.1","ssh2":"^1.16.0","commander":"^15.0.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"24.13.3","@types/ssh2":"^1.15.4","@vitest/coverage-v8":"4.1.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/paratix_0.21.0_1790877829211_0.8241510289066571"}}},"time":{"created":"2026-03-15T16:49:41.859Z","modified":"2026-10-01T18:03:49.647Z","0.0.1":"2026-03-15T16:49:42.015Z","0.1.0":"2026-03-24T11:05:33.978Z","0.2.0":"2026-03-24T11:20:43.258Z","0.3.0":"2026-03-24T14:53:13.518Z","0.4.0":"2026-03-24T15:20:01.920Z","0.5.0":"2026-03-24T21:34:14.366Z","0.6.0":"2026-03-27T11:45:36.698Z","0.7.0":"2026-03-31T14:44:33.065Z","0.8.0":"2026-03-31T15:13:34.997Z","0.9.0":"2026-05-01T09:23:08.943Z","0.10.0":"2026-05-02T10:07:36.293Z","0.12.2":"2026-06-12T20:52:44.494Z","0.12.3":"2026-06-12T22:29:30.246Z","0.12.4":"2026-06-13T07:01:21.220Z","0.12.5":"2026-06-13T12:24:09.046Z","0.12.6":"2026-06-13T13:09:48.801Z","0.12.8":"2026-07-03T22:35:47.870Z","0.13.0":"2026-07-09T23:49:20.932Z","0.14.0":"2026-07-14T09:36:21.369Z","0.15.0":"2026-07-14T20:43:52.091Z","0.15.1":"2026-07-14T21:40:39.060Z","0.16.0":"2026-07-15T18:49:06.893Z","0.16.1":"2026-07-26T16:57:31.427Z","0.17.0":"2026-07-26T22:27:59.974Z","0.18.0":"2026-08-05T08:04:06.075Z","0.19.0":"2026-08-07T14:03:30.318Z","0.20.0":"2026-09-23T20:44:01.509Z","0.21.0":"2026-10-01T18:03:49.313Z"},"bugs":{"url":"https://github.com/sebastian-software/paratix/issues"},"author":{"name":"Sebastian Fastner","email":"s.fastner@sebastian-software.de"},"license":"MIT","homepage":"https://github.com/sebastian-software/paratix#readme","keywords":["paratix","vps","server","ssh","deployment","idempotent","typescript","devops","infrastructure","automation"],"repository":{"url":"git+https://github.com/sebastian-software/paratix.git","type":"git","directory":"packages/paratix"},"description":"Idempotent VPS setup tool in TypeScript","maintainers":[{"name":"fastner","email":"s.fastner@sebastian-software.de"}],"readme":"# Paratix\n\nIdempotent VPS automation in TypeScript.\n\n[![npm version](https://img.shields.io/npm/v/paratix)](https://www.npmjs.com/package/paratix)\n[![license](https://img.shields.io/npm/l/paratix)](https://opensource.org/licenses/MIT)\n[![node](https://img.shields.io/node/v/paratix)](https://nodejs.org/)\n\nParatix lets you manage Linux servers over SSH with TypeScript playbooks instead of YAML or ad-hoc shell scripts. You describe the desired end state of a machine, run the playbook, and Paratix changes only what is necessary.\n\nIt is built for developers and operators who want infrastructure automation that feels like application code: typed, reviewable, composable, and easy to keep in version control. You can start small on a single VPS and still keep a disciplined, repeatable workflow.\n\nThe result is a practical server automation tool with a compact mental model: modules check state, modules apply state, recipes group related work, and signals run only when changes actually happened.\n\n## Features\n\n- **Idempotent runs**: rerunning the same playbook on an already configured server is safe.\n- **TypeScript authoring**: use regular `.ts` files with imports, conditions, and editor tooling.\n- **Resilient SSH flow**: reconnects after reboots and SSH port changes when modules require it.\n- **Structured orchestration**: recipes and signals keep service reloads and grouped changes explicit.\n- **Declarative host guards**: gate modules on package, command, file, directory, symlink, or socket state without embedding shell checks in strings.\n- **Strong bootstrap story**: supports explicit first-run flows and strict host-key handling.\n- **Practical built-in modules**: packages, files, services, users, SSH, firewall, systemd, sysctl, swap, mount, rsync, and more.\n\n## Getting Started\n\nIf you want the fastest path, scaffold a project first:\n\n```bash\nnpm create paratix my-server\ncd my-server\nnpm run apply:first-run:dry\nnpm run apply:first-run\nnpm run apply:dry\nnpm run apply\n```\n\nUse the first-run dry-run to preview the bootstrap changes before hardening a fresh server.\n\nIf you want to install `paratix` directly:\n\n```bash\nnpm install paratix\n```\n\nCreate a playbook:\n\n```typescript\nimport { server } from \"paratix\"\nimport { hostname, package as pkg, service } from \"paratix/modules\"\n\nexport default server({\n  name: \"web-01\",\n  host: \"10.0.0.1\",\n  ssh: {\n    user: \"root\",\n    ports: [22],\n    privateKey: \"~/.ssh/id_ed25519\",\n  },\n  run: [\n    hostname.set(\"web-01\"),\n    pkg.update(\"2026-03-01\"),\n    pkg.installed(\"nginx\", \"curl\"),\n    service.enabled(\"nginx\"),\n    service.running(\"nginx\"),\n  ],\n})\n```\n\nApply it:\n\n```bash\nnpx paratix apply server.ts\n```\n\nPreview changes without applying them:\n\n```bash\nnpx paratix apply server.ts --dry-run\n```\n\n## How Paratix Works\n\n### Playbooks\n\nA playbook is a TypeScript file that default-exports `server(...)`. It defines the target host, SSH configuration, optional environment values, and an ordered list of modules to run.\n\n### Modules\n\nModules are the smallest units of work. Each module checks whether its target state already exists and only applies changes when needed.\n\nFor filesystem metadata, you can now also use dedicated modules such as `file.chmod(...)` and `file.chown(...)` when you want to manage permissions or ownership without coupling that change to a file upload or template render.\n\n### Recipes\n\nRecipes group related modules into a named unit. They help structure larger playbooks and keep the CLI output readable.\n\n### Signals\n\nSignals are deferred side effects such as `service.reload(...)` or `service.restart(...)`. They run when the surrounding scope actually changed, and can also be flushed explicitly with `signals.flush()` when you need a checkpoint inside a larger flow.\n\n### Compose + systemd\n\n`compose.systemd(...)` can generate a native systemd unit for Docker Compose or Podman Compose projects. By default it now starts the stack with `compose up --remove-orphans`; set `detached: true` if you explicitly want the old `-d` behaviour in the generated `ExecStart`.\n\n### Podman Quadlets\n\nFor Podman-native services, Paratix now also includes `quadlet.container(...)`. It writes a `.container` file under `/etc/containers/systemd`, reloads systemd when the content changes, and works cleanly with `service.enabled(...)` and `service.running(...)` for the generated service.\n\nWhen you need a targeted image refresh outside the normal deploy flow, `quadlet.updateImage(...)` pulls exactly one image, reuses existing Podman registry auth on the host, optionally supports `authFile`, and only restarts the generated service when the pull actually downloaded a newer image. Changed runs now also print the new registry digest in parentheses in the CLI output, with a local image ID fallback when no repo digest is available.\n\n### Guards\n\nParatix also supports declarative host-state guards. Use `when.packageInstalled(...)`, `when.commandExists(...)`, `when.fileExists(...)`, `when.pathExists(...)`, `when.symlinkExists(...)`, or `when.socketExists(...)` and their inverted forms to gate modules or recipes on remote host state without shell-heavy playbooks.\n\n### Swap\n\nParatix can also manage file-backed swap directly. Use `swap.file(...)` to provision and persist a swap file, then tune common memory behaviour with `swap.swappiness(...)` or `swap.vfsCachePressure(...)`.\n\n## CLI\n\n`paratix --help` lists these options directly, so they are discoverable without drilling into `paratix apply --help` first.\n\n```text\nparatix apply <file> [options]\n\nOptions:\n  --diff                         Combined with --dry-run: unified diff per changed module\n  --dry-run                      Only check, do not apply (some runtime restarts stay unverified)\n  --env <key=value...>           Set environment values for the playbook (repeatable)\n  --env-file <path>              Load environment values from a dotenv file\n  --filter <names>               Run only the named recipes/modules (comma-separated, repeatable)\n  --first-run                    Expose first-run mode while loading the playbook\n  --reconnect-timeout <seconds>  SSH reconnect timeout for reboots/port changes (max 86400)\n  --verbose                      Show full stack traces on error\n  --help                         Show help\n```\n\n`--filter <names>` restricts the run to the named recipes and modules. Names are matched anywhere in the tree, and every node that is not selected is shown as `skipped` instead of being executed. The option is comma-separated and repeatable, so `--filter rybbit,palamedes-examples` and `--filter rybbit --filter palamedes-examples` are equivalent. Selecting a recipe runs its whole subtree; a recipe that is not selected but contains a selected descendant is still descended into, so only the matching children run while its siblings are skipped. If several nodes share the same name, every one of them is selected. An unknown filter name aborts the run before it connects (exit code 2). The final run summary counts only top-level nodes, so nested skipped nodes are still shown but are not added to the `skipped` tally. `--filter` composes with `--dry-run` and the other flags.\n\n`--first-run` is meant for explicit bootstrap flows where a fresh server must be hardened first and the rest of the system should only be applied later. During playbook import and definition generation, `isFirstRun()` from `paratix` returns `true`. That async-local context ends before module `check` and `apply` methods run, and the CLI does not mutate `process.env.PARATIX_FIRST_RUN`. Use `firstRun.stop(...)` in the module list for an execution-time staging boundary.\n\n`--diff` only works together with `--dry-run`. When enabled, modules that opt in print a unified diff below their status line, showing exactly which lines or values would change. Without `--diff`, the dry-run output is unchanged. Diff-producing modules: `file.copy`, `file.template`, `sysctl.set`, `hostname.set`, `swap.file`, `swap.swappiness`, `swap.vfsCachePressure`, `cron.job`, `cron.absent`, `timer.scheduled`, `timer.absent`, `net.hosts`, `quadlet.container`, `quadlet.network`.\n\n`--reconnect-timeout <seconds>` sets how long Paratix keeps retrying the SSH connection after a module forces the connection to drop — after a `system.reboot` or after an SSH port change. When a module reboots the host, Paratix waits a short grace period and then reconnects within a **300 second window by default**, so hosts that need a few minutes to come back (fsck, cloud-init, slow POST) still succeed. The number of attempts follows the time window rather than a fixed cap, so the window is never cut short. Port-change reconnects use a shorter 120 second default because the port comes back almost immediately. Set `--reconnect-timeout` (up to 86400 seconds) to override both paths for exceptionally slow reboots.\n\n## Documentation\n\n- For project scaffolding, see [`create-paratix`](https://www.npmjs.com/package/create-paratix).\n- See the complete [TypeScript API and Module Reference](./llm-guide.md).\n- For common runtime and connection failures, see [Troubleshooting](https://github.com/sebastian-software/paratix/blob/main/docs/user-guide/troubleshooting.md).\n- Before upgrading an existing project, see the [migration notes](https://github.com/sebastian-software/paratix/blob/main/docs/user-guide/migration.md).\n\n## License\n\nMIT — Copyright 2026 [Sebastian Software GmbH](https://sebastian-software.com)\n","readmeFilename":"README.md"}