{"_id":"@git.zone/tsdeploy","_rev":"36-75c8d59356621756fbff3977c73887c0","name":"@git.zone/tsdeploy","dist-tags":{"latest":"4.5.1"},"versions":{"0.2.0":{"name":"@git.zone/tsdeploy","version":"0.2.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdeploy@0.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"cli.js"},"dist":{"shasum":"df8188a74d88dce9936a42bf8a9fc57f700bc493","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-0.2.0.tgz","fileCount":23,"integrity":"sha512-S0LlkSAshRoW5lQ0KcK2873/igy9W5ABw4CgD+xykCzX2n0bgMJelYekKzbVlTW1sEVLmnyFUZ8w/q9BpfgaWw==","signatures":[{"sig":"MEQCIA1YAjPeUWppSBvdY2AVvcT64v2ymJ1WIZF0K4fulBLfAiBXmiiplinz0y7HEJDtaz77Io/lTLth9WgRNA8X+OvQsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56142},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdeploy-0.2.0.tgz","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/f1e57e749f7f0c342d57cb5f55708e1e/git.zone-tsdeploy-0.2.0.tgz","_integrity":"sha512-S0LlkSAshRoW5lQ0KcK2873/igy9W5ABw4CgD+xykCzX2n0bgMJelYekKzbVlTW1sEVLmnyFUZ8w/q9BpfgaWw==","repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"_npmVersion":"11.7.0","description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@push.rocks/smartconfig":"^6.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_0.2.0_1781450023989_0.01625476609979737","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@git.zone/tsdeploy","version":"0.3.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdeploy@0.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"cli.js"},"dist":{"shasum":"3cecf32339f00655efae0dd4e3f2a256bfc07b55","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-0.3.0.tgz","fileCount":23,"integrity":"sha512-pAGj5o0x+4DMTB0mx6CPR8XZXBo4qiEF6OzPPjadOlp5it5xKNDSRuu7Q+IzRp7E2PfpWSvuVsbtGNuKeIR2mg==","signatures":[{"sig":"MEUCIC9BNCmbJGl+X/PgXdogHDF2OFl0syMveT0xdPKvmfxVAiEAoxIbdi9VlTL4MLwTDxQhFfkn3l2qRkT7Lnn/iaVTwOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144366},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdeploy-0.3.0.tgz","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/8479a1b9eb59f967213a4fa38c607787/git.zone-tsdeploy-0.3.0.tgz","_integrity":"sha512-pAGj5o0x+4DMTB0mx6CPR8XZXBo4qiEF6OzPPjadOlp5it5xKNDSRuu7Q+IzRp7E2PfpWSvuVsbtGNuKeIR2mg==","repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"_npmVersion":"11.7.0","description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^7.24.0","@push.rocks/smartconfig":"^6.1.1","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_0.3.0_1781591085890_0.08904710120208614","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@git.zone/tsdeploy","version":"0.4.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":{"name":"Task Venture Capital GmbH"},"license":"MIT","_id":"@git.zone/tsdeploy@0.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"cli.js"},"dist":{"shasum":"b698fdc5a675e3ee486ce5ac161be9e6e6ea09ac","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-0.4.0.tgz","fileCount":23,"integrity":"sha512-sRLUbob5JyMi6H7j2P7a93gKZX1CQF0/ix51MgrBpbP5HzmRdinBcLCalDAKQWm/8y9YWXEzxp+wQbgqkuMhCQ==","signatures":[{"sig":"MEQCIGZfVXMfDTjXG4bKDh+/toHYvs8p/9tcLk1gdB0cycdMAiBt0MKHU71dx+IKzH1vz3W/f7+Fj9A9A5B8VMtxPFGv3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149190},"main":"dist_ts/index.js","type":"module","_from":"file:git.zone-tsdeploy-0.4.0.tgz","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"_resolved":"/tmp/e06a629114cbefd599cdc659324f89ca/git.zone-tsdeploy-0.4.0.tgz","_integrity":"sha512-sRLUbob5JyMi6H7j2P7a93gKZX1CQF0/ix51MgrBpbP5HzmRdinBcLCalDAKQWm/8y9YWXEzxp+wQbgqkuMhCQ==","repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"_npmVersion":"11.7.0","description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^7.24.0","@push.rocks/smartconfig":"^6.1.1","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.9.3","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_0.4.0_1781594022604_0.37808754404984923","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@git.zone/tsdeploy","version":"1.0.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@1.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"831754db7bed68591de6b26d02e8acfca581a2d7","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-1.0.0.tgz","fileCount":23,"integrity":"sha512-C8SIVqj+Q45gQ+5Roy/PM77el7FrOtS0iAfn6MtxNPM3nsQ523x/7veQgyRT2AhNMIZXDiOxwhy9ODFskH5smA==","signatures":[{"sig":"MEQCIH97PU61P/NCAAg7YS4Z4N+2uq7HzMl6IV2eFxTfiYgcAiA7z5OUh/dSjecVt0XnvhMUnO1Fzch+/wXRYhsjfHK+8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152947},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^7.24.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"26.0.0","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_1.0.0_1782680310997_0.6428140579486636","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@git.zone/tsdeploy","version":"1.0.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@1.0.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"d1e1e67c32c6aff5a5c47f7ad5617f082f4b937c","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-1.0.1.tgz","fileCount":23,"integrity":"sha512-tHyIv/YXqYvn5sRgaoA654j5QZ+ah7HJSBislgUvfvx1bFHi3985dBHPUDehV1Bg1TNrrcmjayvSLKbqwCjtCw==","signatures":[{"sig":"MEQCIBZbCaHysMvc3TJCEGfUGnCUGLZu9CWhVhS3CWEvKRLXAiAsCHJciMav4ZYo4qaU4Li8pWCcYFolKujl7wccxTTvrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160015},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^7.24.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"26.0.1","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_1.0.1_1782994974709_0.6264352684235874","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@git.zone/tsdeploy","version":"2.0.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@2.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"2d620e8b8dbd5e5c7a135a6523d33b9a163c6376","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-2.0.0.tgz","fileCount":23,"integrity":"sha512-KaSN1q8/M5Cqv48wBdTWc6G2+oN0AzNdf3Tb+tQRwrlHdh8gEEVXRpDsxEQJcTfkV9n7AAYNxgzSpQvUZIhJvQ==","signatures":[{"sig":"MEUCIFkYhOImwQ4FOr2bOWzuqzox8DvzTzw9eso8nnk6XL+VAiEApXZQe8DIu1z4jIjG8ui7LL4UHSd905wgRiW1GS2XnrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198194},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Cloudly and Onebox first deployment orchestration CLI for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^14.0.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"26.0.1","@git.zone/tsrun":"^2.0.4","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_2.0.0_1784489675542_0.5080492850671314","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@git.zone/tsdeploy","version":"3.0.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"7c6f0df1cc7f5ddf59dfc89ce88dbffd71017905","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.0.0.tgz","fileCount":26,"integrity":"sha512-kY0m5Gd8JoZwJjkSL/UytCd0/kOYwlG2R/mORrMT2U+L0R++EdencdyAsGALxGy7dAEotCbOHa4S6A7/RC0KSQ==","signatures":[{"sig":"MEYCIQCAP6STY6fsOOeBrc9nvxYSHielQnE2Rw9JuWqecrs6kgIhAJSeFh+hyizoumPPy+8XPmO7c6ikfMtafLCe6mIT3uxM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482118},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"^15.0.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.0.0_1784551233838_0.9537165697656003","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@git.zone/tsdeploy","version":"3.1.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"7dd9ccc997ff498db07f232b2229fd9d057ce819","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.0.tgz","fileCount":29,"integrity":"sha512-tCf60JfrDc3GdgN9E7I3NGrasEYsbmuZzf02y3M/03hNzSGZs6u6zWekHaO8Uycn4xyGDt/JS/79/JQlrDrUmA==","signatures":[{"sig":"MEUCIFJsckGF1KaGTriNm9HkSaRu7I8Z+3Gsa5L7vkGHz5ySAiEAv7LQj0NAYj4CvGydhsZbBJO5kvN5Q5blD1bH9CwJAUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569289},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.2.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.0_1784563764827_0.42470340247870486","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@git.zone/tsdeploy","version":"3.1.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"ad59507b006503d07f5b1ff9fc88a365d2bbea13","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.1.tgz","fileCount":29,"integrity":"sha512-32Vuq1OYEub4sVCSwO1kP/80eg/BPNvu1SGWtSgObjHXrpEMAoWA2kPPDa55E1iEYL5aMaroiv0oH0mMoYYKBg==","signatures":[{"sig":"MEUCIEujIwx1PNlhG7qKolelz1JcM9t5N3eD1S5KFfwr5xknAiEAgex9dB48JhqKmU1nFEGvXtyo8z7KOp4mgyRHqUtxnrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570007},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.2.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.1_1784565081357_0.8544594326770603","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@git.zone/tsdeploy","version":"3.1.2","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"fb85a451d2e4fa977fff209a24a20ac7f2f9e68f","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.2.tgz","fileCount":29,"integrity":"sha512-/H6ASxo7U97Dlfpql1J6Nswr23nSuqvn9Eli+ydxiqz6XO3FHzRi4AWEhX6vgHdpGcC6FavS1aAsLbemHv4uXw==","signatures":[{"sig":"MEYCIQDVJTB07gwWYv3o/zJ8AIkP6vSuYzmZoWSB8SmP7bl6oQIhAOCgDrbL17N3/71nL0UvuLZMIfHKI5P051J1tzE6IdD2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":576876},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.2.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.2_1784569180544_0.6889951018492197","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"@git.zone/tsdeploy","version":"3.1.3","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"0ca238bc9361b14c6c6298f371c0762ccf03a428","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.3.tgz","fileCount":29,"integrity":"sha512-MSN4m3iexM9mCPIP+DVe4PIQdDPgaipTyEE5KdezmuDe0dPfcq/4LsDj5OjdU6C/rDGQwlZNJNZJfC6woOIyMA==","signatures":[{"sig":"MEUCIAs/3Uy+v/7l8EBxo0WggxaTMZYkDbgDRgV6wOwYy/QkAiEA1Kan/Y9xTCd/d0HNr2vUG4SoRVnyLk3IsDflaaQaXxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597613},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.3_1784618860724_0.6018194982442138","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"@git.zone/tsdeploy","version":"3.1.4","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.4","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"8a1f1b23cd1b1e32a695534dd70556d0b56e1882","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.4.tgz","fileCount":29,"integrity":"sha512-VK4J4v9rF4cUxpap1W6G0pQNKwIyflI2ZBcRU/e31qqTqvgUne/Jv5oDkwCoJYU/YVLI/OZ2Hi9DRKKKcmB8Lg==","signatures":[{"sig":"MEQCICSULTyNITc2UnKQfXo0jEQPx3HsM9XK0Bc84rljxArWAiAUALsR1eFCJf/9aDvvEsKXY7vMYvlzr/vF9VrJg3xOnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597705},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.4_1784619086685_0.658633218432932","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"@git.zone/tsdeploy","version":"3.1.5","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.5","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"3f8566f75676664fa440bff1a8491a3016a0a8a7","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.5.tgz","fileCount":29,"integrity":"sha512-HaSrJx0cGn6hIFSwHjj9iBNuBaNQ/Zgtdgnn96RBAKWDj3mrs3oN6sPyf8onMnuGGNOzsAmejXkBBDn8FqRKDg==","signatures":[{"sig":"MEUCIG27jEH81nDEXq45gV8obqv2ybtrABnGQ7Ks3ZJSYtXJAiEAkc9eDoOY0dQ8vym7m5r8FuDRoT71ba3dVby/LAOYb1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":598674},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.5_1784621063848_0.7166389466610517","host":"s3://npm-registry-packages-npm-production"}},"3.1.6":{"name":"@git.zone/tsdeploy","version":"3.1.6","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.6","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"ce479a1966c1d261fa040eb09ae56a7ff9859f5e","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.6.tgz","fileCount":29,"integrity":"sha512-usaWB9x/gtsknGs1mIeDZHXJKNANgaQ4jtOCmdYt9PeU0iyhmBHx8MfSkJGiG24z8HpNygrce+wVP1vogY5I8g==","signatures":[{"sig":"MEQCIBYlW2AXACzqcGS06zvvAQulKmBaWjfil8j3/E6+L1amAiATn5FkX6txp/YenPiM0UH2EhcGjpLr6ejVq2WzaetqHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599291},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.6_1784637335932_0.21592764020635902","host":"s3://npm-registry-packages-npm-production"}},"3.1.7":{"name":"@git.zone/tsdeploy","version":"3.1.7","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.7","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"6e4c6cc2a3eaecd176aff6af0f56b7a58857a26e","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.7.tgz","fileCount":29,"integrity":"sha512-62A8a2FaSu3HK/OfiFTCZdxki80eQBnhcEw6r3uQ4vEfD64oqgEnQfP+yS78ULNM9jNqzcpSWyCBHuYCrdCZKw==","signatures":[{"sig":"MEUCIQDj5/e96zehb73TWh7/64NfrcqPNeXtMfI49mGI9fukCgIgMUXVRO+Q43jg1emZ2uVRj9vn+FCQSoP7diXiZcrlM+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599565},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.7_1784651670931_0.4539208006204798","host":"s3://npm-registry-packages-npm-production"}},"3.1.8":{"name":"@git.zone/tsdeploy","version":"3.1.8","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.8","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"6bbe540435df59a76f1f02e05994313dbf5c8630","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.8.tgz","fileCount":29,"integrity":"sha512-c0Hayjmyrd1+qie8ielT0HTz1YVVWr5gVrWPpgxEZh5DEgPzqDunABeJvtv+pbQkV5QzR1WR1uF2nyJ6xzBXKQ==","signatures":[{"sig":"MEYCIQDBU9x7JKHPGVD2lF81YEfoz8RNjO9Urg4husYHzI3jugIhAIcVZ+Aa9np1OITd31fz7BLUtwUlY6+H1TDkQPHss8DN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599789},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.8_1784653146177_0.9185433975837285","host":"s3://npm-registry-packages-npm-production"}},"3.1.9":{"name":"@git.zone/tsdeploy","version":"3.1.9","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.1.9","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"973f5f6924477f544817ac5fc33edef27cea8597","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.1.9.tgz","fileCount":29,"integrity":"sha512-KqS/uQ367i9tLCGqWk1X5uI55I+HRtJqfTYnlFYqWIOm1h2+44MkUVbCKGD/82hNuOXCLhaW4vYDwgss/kbfRQ==","signatures":[{"sig":"MEUCIQCo4tnV/pcpH2k1EG5PKPIwXySJB214yzqbHtZmOqSSFgIgO+KlYNAqcpiizynMjUfG8z3pojT0St3ucddfrTI7J/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599953},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.0.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"16.7.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.1.9_1784654503724_0.2561355878054876","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@git.zone/tsdeploy","version":"3.3.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"dde4cb48f75eae3e1d722721bcde9c3d0f04510d","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.3.0.tgz","fileCount":29,"integrity":"sha512-V4rvG/5lGgYEthYUWFa9sXC5W+sopRBGcXYoCiFrjUPxWBylRv7umbfYud+iT/PrNQfDW7HueuCZMSVUKj6+8w==","signatures":[{"sig":"MEQCIEOGnzUJGffnj1tobbH4PxlfYgiI0PtnHG7g+k+cvvHVAiAeOoQKIYrCTMyvDEzhEic5Ni7kSTr0AaYirjGwEwOxsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":614537},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"17.4.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.3.0_1784810430153_0.021215079328220643","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@git.zone/tsdeploy","version":"3.4.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"3fdbe1a25c06bb28687ece05a402d649ddaa2b77","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.4.0.tgz","fileCount":29,"integrity":"sha512-IK9IHoD29TJiHbYo04OKG8golDs9PhaGxj8mvQmSs8pTB/TjFvBhD9fgRQEU4V3AjSu8GWuh/nMQdFneq+3b4g==","signatures":[{"sig":"MEUCIB9bCa282bGwhIwHyuO4fYvUKBEWkrZfX0MrF7whWxV1AiEA5Jo66JoxotZgzcRheLRVzjwW4TTXSq2+lznfsf8rkII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625389},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.4.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.6","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.4.0_1785066770260_0.3397975726461586","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@git.zone/tsdeploy","version":"3.5.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"4bb789f07bc5c097833768aef6aa796c5a8f684b","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.5.0.tgz","fileCount":29,"integrity":"sha512-IwdnbDU3gUEAQoyZwWkbx7cBAp/ZGxs0A2YpsJd3ny7E2sZEW2yKf9DQsVZOjD3w2z7XcmiVc68glf0boaQWPw==","signatures":[{"sig":"MEYCIQD4UoirtvZn5OVig+SLezrSyJTJhsciRxJ5m36TH6mhbQIhANhQ1zNeLFXxMGqSUNghcKnvqTnlAlXVKFJLCmzYZldo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626007},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.5.0_1785152079422_0.4003673504318439","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@git.zone/tsdeploy","version":"3.5.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.5.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"b5232675a604c87497ee9377ee2cd67c81f6de58","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.5.1.tgz","fileCount":29,"integrity":"sha512-xxc6dBKLti3tOPpQVz8yM5OeC4EeXWCWH6VNXxepFMwuXQPiBdFFJtmFS6vvoj8LAS2211hHk5jidhlputQLtQ==","signatures":[{"sig":"MEUCIQDAUZAyXp064b/70U16em8lGlDUju7dA5psXKNfCcckMAIgPnIZxoPblEtGwVgy6AptoIvPNgfJwFhUGqEgF2h3A60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626159},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.5.1_1785165002550_0.12198073084539329","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"@git.zone/tsdeploy","version":"3.5.2","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.5.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"7ffdf5ee5e635113fc335d67b0d239facfb6c8f8","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.5.2.tgz","fileCount":29,"integrity":"sha512-bHQw603Ll/N6Izbbw8VaHNPXdh+JvTVrv9rSuAzU2LS/WWqTEBzqcyzi8gRnLBoaCwLPEzTd968exGWHIwGrcA==","signatures":[{"sig":"MEUCIHaqyT6NxyWqiPkCzFqfMNow26i6w2Ah7WwEG4nZRqCwAiEA8FYwcRy+v3S/D3e6HCMpAPHCXuVe4i7k+58KEu1BJ+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626159},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.1","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.5.2_1785261179693_0.7283302584454134","host":"s3://npm-registry-packages-npm-production"}},"3.5.3":{"name":"@git.zone/tsdeploy","version":"3.5.3","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.5.3","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"45642f65035ba311c532ad1eaa48c4ef73b8ba97","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.5.3.tgz","fileCount":29,"integrity":"sha512-Hh5Hzp7FSYeKGtnMiehCCLTLIRBlp2UyfC0lbsaDMHrv4V4+3oi2Ole5qQbak1JHwvNltmqMDiLkrqJWZUaDtw==","signatures":[{"sig":"MEUCIHdJ/CDsXq7bbD5UowhYYYmERDgMB1xioYRLuaceersFAiEA4DIZNYcLqEMZt57/7zxDx2VliZP00jgbe8Dgwn6Fyjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626001},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.1","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.5.3_1785265098457_0.1362723102447585","host":"s3://npm-registry-packages-npm-production"}},"3.5.4":{"name":"@git.zone/tsdeploy","version":"3.5.4","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.5.4","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"7e1b42f88e844eb04eb21dbc00d9e18d6e79c274","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.5.4.tgz","fileCount":29,"integrity":"sha512-Z6XoGhx4vEMs2hpG+yKLk0zmiKnz7nu893kYjtqVqJmrFIYa7QR1RcgAQV+AqAnVj5l6Uu9YZV0e5gcweqQXQQ==","signatures":[{"sig":"MEUCIAsl25XumUe5oaHXwee22m3cFpVVqWSzdfPrEpIhyhO0AiEA15oIl7xYqevmloIM2UEs9VficQmAx0D9114yWCntFGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627825},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.1.1","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.1","@git.zone/tsrun":"^2.0.5","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.5.4_1785317751224_0.5524523093002527","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@git.zone/tsdeploy","version":"3.6.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.6.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"92aa4f8a9282020c5fdb935e4d2b1d12f8811f7b","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.6.0.tgz","fileCount":29,"integrity":"sha512-UQ6P5Ik0mJiQbr4NKsQoLXUiSdtNWtO7v8ZHrCdRDG+wejyJZVY8qgSKLbJNfQRL1bYIT83tEXxmNP1n9jjI0w==","signatures":[{"sig":"MEUCIQC+hFGxCZSbzP9FYVU2VHEUQX9zkuZJ3f8mUXt+l8yV3gIgKNiKineen62k9CyIjGXa4GJuOla5YfngBmDiivYUmLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650913},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"_nodeVersion":"25.2.1","browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.2.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.1.2","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"^3.6.7","@git.zone/tsbuild":"^4.4.2"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.6.0_1785501397078_0.48708017895556877","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"@git.zone/tsdeploy","version":"3.6.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@3.6.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"13585fb894254c07d51b8109a6c04ca9437f8007","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-3.6.1.tgz","fileCount":29,"integrity":"sha512-4GAGdKzkeb1E/9pYTemWXt1A6yi6cL0/d3sTX9CpFzk9M8iyODiW3NRlRFR1JGfI8RrP+HQVDaBHWiLY164Ahw==","signatures":[{"sig":"MEUCIDv/9VfopqPGrcBWcd0Qq3+CB6w5WSfKyQPDyzJhxJQRAiEArxp8msxf4UQ/kIjJVS1I2wLiugD3UBYzuZwx+THilr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCkB9s0vneGCd9C5I9M1aRTi3lz8ljmtx6qJMfNhhaGgQIhAOBeE+PzSlCD90IeePffu3Idw9TLDH5aNv0PJ1tiXHRh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671869},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.2.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"19.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_3.6.1_1789777890843_0.8501227465352148","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@git.zone/tsdeploy","version":"4.0.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.0.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"bde540e88f8406035dae5cd6d1b1992349a501e7","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.0.0.tgz","fileCount":32,"integrity":"sha512-tiYdc2uRJBZNXxBTTGpCWdmJ74mKn6nTRT/VBVuocRTWsJgRYGbI71aApYWCpLqF8so4jC3gGiGNwk5NK55tzA==","signatures":[{"sig":"MEUCIQCQh9Pa0+j6bH6dX6s1qG1JDb27hlBbS1CJdowaDqrxZwIgO7QDdtCysd6w35/gzTdB/cdlJHgta/fJxHKpmKAzgqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCx+RccxZMrgQ8D2PL2whZxjIRGNWOh8tUDzXc18WlitgIgQuuymNVqOBPbJln2gE8TNQRzGb6d2hd9DMIIoGbEgVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697692},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.5.9","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.6.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.0.0_1789794997807_0.5794839771494997","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@git.zone/tsdeploy","version":"4.0.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.0.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"cb63541c8f4e76f0f175416bfd54e7f9332e6604","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.0.1.tgz","fileCount":32,"integrity":"sha512-mEjEgHQD3UEYV0Hk+y67nDKhNnOWnI5+ZZNEZ1sTDRypAEuqp77v7vAiG3a5EIPh8XPChZJzjmnv41GgWISBrQ==","signatures":[{"sig":"MEQCIDJ+jU0A8xQb/P383v9Eh5IogWhj4DFOe+0u9TWebDsfAiAL+MCEvsOBal3JQZzhdWICZqqhAiM4egrB9q/wMa6XOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2uVrW1VLESsfJ6uLZditZVzJbGQmC7ovE2piSCOx/dQIhALxzbWWuaAIurWDTT6rrkk9gIWrW2VPfsYQbSPQ0op4l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":702176},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.5.9","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.7.1","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.0.1_1789810384775_0.3104304225881067","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@git.zone/tsdeploy","version":"4.1.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.1.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"b79a5a1b7eae8b43ca0c4277ac9bbbd35532bd2e","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.1.0.tgz","fileCount":38,"integrity":"sha512-p4A9hOcyzRkvp88NmvzDfXZpAtJ1/qa/tQQyCf1RWasXlHxSNERnlD+AGGEYRV3gNyQlha4pUwzpxJjHW5vP8g==","signatures":[{"sig":"MEUCIQCdiKkKcn8ktzAvyAhRrQnMwqfxfqWtu/AIp30C5nUeXgIgRIjNopeSdEI0pIEHQ2Q2cO7fVMg7Mtlu5QW29aOuqy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE8b6Slfn2bjRh3p5oSASz7nuG9Lf6DJDfAgHKKGzikfAiEA2IoWHISIdvDCv4cXUB1fNPvZ39URii3GiHvkItGbb7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885621},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.5.9","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.7.1","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.5.1","@git.zone/tsrun":"^2.0.6","@git.zone/tstest":"6.1.1","@git.zone/tsbuild":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.1.0_1789862392017_0.13665319986845859","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"@git.zone/tsdeploy","version":"4.1.1","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.1.1","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"87159ecbc7da9c443b02b18a410185ca9a9e7485","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.1.1.tgz","fileCount":38,"integrity":"sha512-qlXJXtV7Fy+miv2K69Mm7DHG90XPm0JWy0/V0UcyhdhAbZ+e1ucpXMCCnblps6I4G1XemiCy3T1nDpia+6lNiQ==","signatures":[{"sig":"MEYCIQCipVPykMNgUhScEb+1rMGTN1Vq10gYqMfeJyhybcIBvwIhAJwzB8nTHATdXqOs2hYmrIYE0yEVOmX71Pzg+XyQ0n32","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCeQiS4PRU1OHRnT7TnlpiiBrBy1M+A+50MvvK6jo2odgIgALV+hwCXnibAf+25/7mg3kxQ9ZkjhZFEeV+fkmGKx0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":881665},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.5.9","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.19.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.1","@git.zone/tsrun":"^3.0.0","@git.zone/tstest":"6.2.0","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.1.1_1790251518897_0.02001726633995693","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"@git.zone/tsdeploy","version":"4.1.2","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.1.2","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"c32b77135e1eade47aaa9ebba6a34b1c89f3a46d","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.1.2.tgz","fileCount":38,"integrity":"sha512-EFBjNvwLVAIoIXOWvkTaC0JDNLArybn12CbH3rpDEz7WJR+MZeiAxXrFK+MuCo23FWIvwGEWP7GE9aGzRmRT6w==","signatures":[{"sig":"MEUCIFQGqUCpR2IVbG8ewEPV4cewdVirj2lh+wjj8kOBG4awAiEAwoWonUOwM4WJM8IPwl3V5/TTuAAGp+k+s5FEC2IF7Xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCvfj3WBlRNpQUNk9u+XWf63KFuokomQ6lAfFIc86LYMgIgKORYcOREES8Bu0Tv9V4Lc+hwF/MTUEbF9btF0CSVw5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885348},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.8.1","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.33.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.1","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.1.2_1790603164192_0.3189541779440954","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@git.zone/tsdeploy","version":"4.2.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.2.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"d087e2dd9681a0498228be6acaa20ba85db585be","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.2.0.tgz","fileCount":38,"integrity":"sha512-/78OXqF3768YfrdMjOc8cTUNnVGN5E0ZmGenob700NzAuDNVWU1ADaRHI/yNfqISAVjploqSG9tScajSQB6GMQ==","signatures":[{"sig":"MEQCIQCnz3T5vnx29KYRAfEQhw3MRdfKHOd6CansF7JGN6jeaQIfC83FLAmfLTDQhZFnO152KHUFJyVXXV54hHK62aYfyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBFdCbR/w+VcDf70lRFk3QwlYmjuM2kI5ZT3x3LHlmNyAiAR/EuAl3mx7IUVy+30fEFmdTr4+yCMJ+b8D+ceQPMwtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885609},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.9.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.33.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.1","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.2.0_1790608023027_0.40947172210579397","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@git.zone/tsdeploy","version":"4.3.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.3.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"3450393a2c8f66bbb24a7ac8a2131a2628cbacd4","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.3.0.tgz","fileCount":38,"integrity":"sha512-6roc7eomTBvx2h0b3N1gY3ELE0mc6977rnyHgdiikPLFvC50nLbWLcdk1rVyvhHLRtYee4cEm8CuMng+8CNJuA==","signatures":[{"sig":"MEYCIQDMaQxAKnPPMkK3462OP6OMRO62Z6QYIe79mhhhAfhLDAIhAOvJeAtz3LE1YhRW0P7wYfLOETj7nPhgcI50B30/v/lC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCkTaD7QAwDut2peFNmNRHzRFbwqOgCkGxGRRrzK6xlJQIgQ9OiKfy17mqoQ0QrfALfZaXya4YyA2iQ6Us4aSxpaEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":938533},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.9.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.36.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.2","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.3.0_1790689869496_0.2549627408450448","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"@git.zone/tsdeploy","version":"4.4.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.4.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"a26dfbbfe399aca333d53b44a95d0be864a90065","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.4.0.tgz","fileCount":38,"integrity":"sha512-GMX0vF9wxDo2p5ZG0klhBxRYSgYSzUaEqLi7iL4KRThEKPi06U9UOiKD9YZjBC0oYK7B2xzWDVO98PRX1KEA+A==","signatures":[{"sig":"MEUCIHh326ug+tessuEloo8nYzJ91DZreCcPN2PCcfhLWsqOAiEAyCWghxTjDIwSw4JrtTMO8NJg7eIBo1JObHC6Y5MEWZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDkLV0D3Vv1YPh1fNOicKO0AKFmWMjaixc8oAscFoLooAiEAswJ5EE3azX4786V4VVdKMwl237zpwENoocAbe9xRRJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959615},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.9.0","@push.rocks/smartcli":"^4.3.0","@serve.zone/interfaces":"32.36.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.2","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.4.0_1790875799389_0.2988963132924656","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"@git.zone/tsdeploy","version":"4.5.0","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"author":"Task Venture Capital GmbH","license":"MIT","_id":"@git.zone/tsdeploy@4.5.0","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"bin":{"tsdeploy":"./cli.js"},"dist":{"shasum":"c4b0df966a6a824bc56d6153cfe6ca1170ebd528","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.5.0.tgz","fileCount":38,"integrity":"sha512-18ynPoR4vtGzyto/03ylfoT95CTH86sKeEnnHC/3oVqaEDqiTyCC7UjkqmEx/NTQrwZBAY5M0pjo3G1Z5uN1Tw==","signatures":[{"sig":"MEYCIQC27N0ltD0sdpNIwiIBzGA1J3PmIaLbNw+EJJcKXnEyIwIhAIC8txONpvCgAal5DX5kzL9W7Ry9vU+QGiQIatJeF492","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNpFEggpyhzp6lktMcA35v4KsvNK2cMB8bzlU/oyiD/wIgbW/veqES9IKzwLrnl/sKHuKEU9OClpBioMZUC+Ro8hQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":962329},"main":"dist_ts/index.js","type":"module","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.9.0","@serve.zone/interfaces":"32.36.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^3.3.2","@push.rocks/smartconsole":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.2","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tsdeploy_4.5.0_1790888943897_0.6951395893952774","host":"s3://npm-registry-packages-npm-production"}},"4.5.1":{"_id":"@git.zone/tsdeploy@4.5.1","bin":{"tsdeploy":"./cli.js"},"bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"dist":{"shasum":"6cc355fd17847e4acca6bbb0cd0f63cf20cdf7bf","tarball":"https://registry.npmjs.org/@git.zone/tsdeploy/-/tsdeploy-4.5.1.tgz","fileCount":38,"integrity":"sha512-XPKvMwweLb3Fr7f10+nasx3MsbzZ7rByjHgk7QOeXaGdjau1zpEqzgPK6eOERklwKjpQgaxKdYAlGXdDb8VgIg==","signatures":[{"sig":"MEYCIQDhNx2peZZluDsxy4CZhEjShvu39iYPjKcyZ8+wyzIfIAIhAMMBCodkqRVlHcfGVGBdipM98DV5R5Cxv7rrRs8x0x37","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAybnb/HVN97MqlvxigtKb59UvoxvmGb068OJEWLNW1fAiAufxx/1fpdlO49aRWoTWHRe6RoFbDtb3X3uleDIzMznw=="}],"unpackedSize":962329},"main":"dist_ts/index.js","name":"@git.zone/tsdeploy","type":"module","author":"Task Venture Capital GmbH","license":"MIT","private":false,"scripts":{"test":"tstest test/ --verbose --logfile --timeout 120","build":"tsbuild tsfolders","buildDocs":"tsdoc"},"typings":"dist_ts/index.d.ts","version":"4.5.1","_npmUser":{"name":"lossless","email":"hello@lossless.com"},"homepage":"https://code.foss.global/git.zone/tsdeploy#readme","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","directories":{},"maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"browserslist":["last 1 chrome versions"],"dependencies":{"@git.zone/tsdocker":"3.9.0","@serve.zone/interfaces":"32.36.0","@push.rocks/smartconfig":"^6.2.0","@api.global/typedrequest":"^9.0.2","@push.rocks/smartconsole":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"26.6.2","@git.zone/tsrun":"^3.0.2","@git.zone/tstest":"6.3.2","@git.zone/tsbuild":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsdeploy_4.5.1_1790936351876_0.2630825876232248"}}},"time":{"created":"2026-06-14T15:13:43.864Z","modified":"2026-10-02T10:19:12.649Z","0.2.0":"2026-06-14T15:13:44.122Z","0.3.0":"2026-06-16T06:24:46.051Z","0.4.0":"2026-06-16T07:13:42.734Z","1.0.0":"2026-06-28T20:58:31.136Z","1.0.1":"2026-07-02T12:22:54.923Z","2.0.0":"2026-07-19T19:34:35.689Z","3.0.0":"2026-07-20T12:40:33.974Z","3.1.0":"2026-07-20T16:09:25.065Z","3.1.1":"2026-07-20T16:31:21.606Z","3.1.2":"2026-07-20T17:39:40.699Z","3.1.3":"2026-07-21T07:27:40.862Z","3.1.4":"2026-07-21T07:31:26.804Z","3.1.5":"2026-07-21T08:04:23.981Z","3.1.6":"2026-07-21T12:35:36.069Z","3.1.7":"2026-07-21T16:34:31.079Z","3.1.8":"2026-07-21T16:59:06.406Z","3.1.9":"2026-07-21T17:21:43.872Z","3.3.0":"2026-07-23T12:40:30.304Z","3.4.0":"2026-07-26T11:52:50.411Z","3.5.0":"2026-07-27T11:34:39.579Z","3.5.1":"2026-07-27T15:10:02.734Z","3.5.2":"2026-07-28T17:52:59.893Z","3.5.3":"2026-07-28T18:58:18.635Z","3.5.4":"2026-07-29T09:35:51.373Z","3.6.0":"2026-07-31T12:36:37.284Z","3.6.1":"2026-09-19T00:31:30.953Z","4.0.0":"2026-09-19T05:16:37.913Z","4.0.1":"2026-09-19T09:33:04.864Z","4.1.0":"2026-09-19T23:59:52.150Z","4.1.1":"2026-09-24T12:05:19.014Z","4.1.2":"2026-09-28T13:46:04.278Z","4.2.0":"2026-09-28T15:07:03.189Z","4.3.0":"2026-09-29T13:51:09.589Z","4.4.0":"2026-10-01T17:29:59.641Z","4.5.0":"2026-10-01T21:09:03.987Z","4.5.1":"2026-10-02T10:19:11.982Z"},"bugs":{"url":"https://code.foss.global/git.zone/tsdeploy/issues"},"author":"Task Venture Capital GmbH","license":"MIT","homepage":"https://code.foss.global/git.zone/tsdeploy#readme","keywords":["deployment","Cloudly","Onebox","serve.zone","TypeScript","CLI","git.zone"],"repository":{"url":"git+https://code.foss.global/git.zone/tsdeploy.git","type":"git"},"description":"Fenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.","maintainers":[{"name":"lossless","email":"hello@lossless.com"}],"readme":"# @git.zone/tsdeploy\n\nFenced immutable Cloudly deployment orchestration for git.zone TypeScript tooling.\n\n## Issue Reporting and Security\n\nFor reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.\n\n## Install\n\nInstall the CLI globally:\n\n```bash\npnpm add -g @git.zone/tsdeploy\n```\n\nInstall the library in applications that use the programmatic API:\n\n```bash\npnpm add @git.zone/tsdeploy\n```\n\n## Cloudly setup\n\n`tsdeploy` keeps only a small, resumable project pointer in `.nogit/tsdeploy.json`. Cloudly remains the source of truth for deployment operations, releases, rollout state, runtime digest evidence, and route verification.\n\nThe pointer carries no shape version. A `.nogit/tsdeploy.json` written by tsdeploy 3 still carries `schemaVersion`, and tsdeploy 4 refuses it by name instead of rewriting it:\n\n```\n.nogit/tsdeploy.json carries the tsdeploy 3 project link shape (schemaVersion); tsdeploy 4 does not read it, so run `tsdeploy link`.\n```\n\nAny other unknown key is refused the same way. Re-linking is one command and costs no remote state; profiles, Cloudly operations and rollout history are untouched.\n\nCreate a Cloudly profile. Deployment mutation requires one scoped API machine identity. Its saved registry username must exactly match the authenticated machine identity name, and the original API-machine token is reused for the operation-bound registry push.\n\n```bash\ntsdeploy login \\\n  --profile prod \\\n  --target cloudly \\\n  --origin https://cloudly.example.com \\\n  --username service-deployer \\\n  --token ...\n```\n\nSaved tokens are encrypted as smartconfig SSH-agent secrets. The matching `ssh-ed25519` key must be available when saving and using the token. The default authorized-key hint is `~/.ssh/id_ed25519.pub`; select another key with `--ssh-public-key-path` or `TSDEPLOY_SSH_PUBLIC_KEY_PATH`.\n\nLink the source checkout to its Cloudly service:\n\n```bash\ntsdeploy init --profile prod --serviceId Service:example\n# Replace an existing pointer:\ntsdeploy link --profile prod --serviceId Service:example\n```\n\nInspect local readiness:\n\n```bash\ntsdeploy status\ntsdeploy doctor\ntsdeploy plan\n```\n\n## Deployment declaration\n\nDeclare every secret-free workload input in `.smartconfig.json`. `publicDomains` and `routes[].hostname` must be the same exact set. Cloudly derives namespaces and Corestore resource names; source code never selects arbitrary cluster resource names.\n\n```json\n{\n  \"@git.zone/tsdocker\": {\n    \"registries\": [\"registry.example.com\"],\n    \"platforms\": [\"linux/amd64\", \"linux/arm64\"],\n    \"buildSecretEnvMap\": {\n      \"szci_npm\": \"SZCI_TOKEN_NPM_1\"\n    }\n  },\n  \"@git.zone/tsdeploy\": {\n    \"deployment\": {\n      \"declarationComplete\": true,\n      \"dockerfile\": \"Dockerfile_v##version##\",\n      \"publicDomains\": [\"app.example.com\"],\n      \"environmentVariableNames\": [\"NODE_ENV\"],\n      \"containerPorts\": [8080],\n      \"volumeMounts\": [],\n      \"requiredCapabilities\": [\"pushnotification\"],\n      \"routes\": [\n        {\n          \"hostname\": \"app.example.com\",\n          \"targetPort\": 8080,\n          \"proxied\": false,\n          \"readinessPath\": \"/readyz\",\n          \"expectedStatusCodes\": [200]\n        }\n      ],\n      \"releaseEvidencePath\": \".nogit/release-evidence.json\",\n      \"releaseEvidence\": {\n        \"generator\": \"builtin\",\n        \"signing\": { \"namespace\": \"app.example.com-release\" }\n      }\n    }\n  }\n}\n```\n\n`releaseEvidence` selects the built-in release-evidence generator; `releaseEvidenceCommand` selects an external one. See [Release evidence](#release-evidence).\n\n`registries` must list the registry host Cloudly reports for the service. The repository is not declared: Cloudly reserves one per service and states it on the deployment operation's registry target, and `tsdeploy` pushes or reannounces there with `tsdocker --repository`. Several Cloudly services of one project therefore each receive their own repository without a `registryRepoMap` entry, which could name only one repository per registry host. A `registryRepoMap` entry is not consulted for a Cloudly deployment. The reserved target must still equal the reserve preflight's registry host and repository, or the deployment stops before any image command.\n\nSecrets are not declared here. A workload's secret material is a SecretSet attached to the service in Cloudly, so `@serve.zone/interfaces` carries no secret reference on a proposed deployment configuration. A declaration that still lists `secretReferenceIds` is refused by name:\n\n```\nDeployment declaration contains unsupported fields: secretReferenceIds.\n```\n\nSet `routes[].proxied` explicitly for every current deployment route. `false` publishes direct DNS records; `true` requests provider proxying. Omission exists only for compatibility with historical declarations, where Cloudly preserves an existing route value when one is available.\n\n`requiredCapabilities` contains capability identifiers only. Explicit values are combined with `database` and `objectstorage` inferred from canonical `@git.zone/cli.services` entries. `pushnotification` requires Cloudly to return exactly one enabled, provider-verified ready binding; it never declares a Corestore resource and never carries a provider credential or Web Push secret.\n\n`buildSecretEnvMap` declares BuildKit secret IDs and their runtime environment variable names. `tsdeploy` accepts at most 16 entries, validates the same secret-ID shape as `tsdocker`, and only permits the dedicated `SZCI_TOKEN_NPM_<number>` and `TSDOCKER_BUILD_SECRET_<NAME>` variable families. Every declared value must exist when a real image build starts. Those values are forwarded only to the `tsdocker build` subprocess so `tsdocker` can use value-free `--secret id=...,env=...` arguments; they are not forwarded to digest, test, push, release-evidence, or Cloudly requests and never become deployment declaration data.\n\nConsume a declared secret with a BuildKit mount instead of an `ARG` or `ENV`:\n\n```dockerfile\nRUN --mount=type=secret,id=szci_npm,env=SZCI_TOKEN_NPM_1,required=true \\\n  pnpm install --frozen-lockfile\n```\n\n## Release evidence\n\nRelease evidence is produced by exactly one declared producer: the built-in generator, or an\nexternal `releaseEvidenceCommand`. A declaration that names both is refused:\n\n```\nDeployment declaration must declare either releaseEvidence or releaseEvidenceCommand, not both.\n```\n\n### Built-in generator\n\n`releaseEvidence` declares the app-specific inputs and nothing else; tsdeploy produces all five\nattestation kinds in-process, right after the exact OCI index digest is known:\n\n```json\n{\n  \"@git.zone/tsdeploy\": {\n    \"deployment\": {\n      \"releaseEvidencePath\": \".nogit/release-evidence.json\",\n      \"releaseEvidence\": {\n        \"generator\": \"builtin\",\n        \"signing\": {\n          \"namespace\": \"app.example.com-release\",\n          \"publicKeyPath\": \"/home/deployer/.ssh/id_ed25519.pub\"\n        },\n        \"provenance\": {\n          \"recordType\": \"app.example.com/internal-build-record/v1\",\n          \"hashedFiles\": [\"pnpm-lock.yaml\", \"Dockerfile_##version##\"]\n        },\n        \"vulnerabilityPolicy\": {\n          \"maximumAllowedSeverity\": \"moderate\",\n          \"registry\": \"https://registry.npmjs.org/\"\n        },\n        \"sourceTagPattern\": \"v##version##\",\n        \"artifactDir\": \".nogit/tsdeploy-release-evidence\"\n      }\n    }\n  }\n}\n```\n\n| Member | Required | Default | Exact rule |\n| --- | --- | --- | --- |\n| `generator` | yes | — | must be exactly `\"builtin\"` |\n| `signing.namespace` | yes | — | 1-128 characters of `A-Z a-z 0-9 . _ @ + -`, starting with a letter or digit |\n| `signing.publicKeyPath` | no | `<home>/.ssh/id_ed25519.pub` | must be an absolute path; the signing key lives outside the checkout |\n| `provenance.recordType` | no | `@git.zone/tsdeploy/internal-build-record/v1` | exact string |\n| `provenance.hashedFiles` | no | `[\"pnpm-lock.yaml\"]` | 1-64 unique exact in-project paths, read literally |\n| `vulnerabilityPolicy.maximumAllowedSeverity` | no | `moderate` | one of `info`, `low`, `moderate`, `high`, `critical` |\n| `vulnerabilityPolicy.registry` | no | `https://registry.npmjs.org/` | HTTPS URL without credentials, query or fragment |\n| `sourceTagPattern` | no | `v##version##` | must contain `##version##` and resolve to a conservative Git tag name |\n| `artifactDir` | no | `.nogit/tsdeploy-release-evidence` | in-project directory, git-ignored |\n\nEvery unsupported member is refused by name. The generator:\n\n1. Refuses anything but an exactly released source: the fenced version is the `package.json`\n   version, the fenced revision is `HEAD`, the worktree carries nothing uncommitted or untracked,\n   and `sourceTagPattern` with `##version##` replaced names a tag that resolves to that same\n   revision. The tag is resolved as `refs/tags/<tag>` only, so neither a branch of the same name\n   nor a revision expression such as `HEAD` can satisfy it.\n2. Records a provenance statement over the configuration digest, the source revision, the version\n   and the sha256 of every declared `hashedFiles` entry.\n3. Records a CycloneDX SBOM from `pnpm sbom --prod --lockfile-only`, without the serial number and\n   generation timestamp that differ on every identical run.\n4. Runs `pnpm audit --prod` against the declared registry and refuses the release when any advisory\n   severity above `maximumAllowedSeverity` is present. The declared threshold is the policy; the\n   exit status of `pnpm audit` never widens or narrows it. A report that carries no complete\n   severity count block, an advisory of an unknown severity, an exit status `pnpm audit` does not\n   define, or a non-zero exit its own counts do not explain refuses the release.\n5. Signs the release-authorization statement with `ssh-keygen -Y sign` and verifies it back with\n   `ssh-keygen -Y verify` against an allowed-signers file written from the same public key, so an\n   auditor reproduces the check with stock OpenSSH. The file carries exactly one line,\n   `<namespace> namespaces=\"<namespace>\" <keytype> <base64-key>`, so the key is accepted for that\n   one namespace and nothing else.\n\n`##version##` is replaced in `sourceTagPattern` only. A `hashedFiles` entry is an exact on-disk\npath: gitzone's Dockerfile carries the literal characters `##version##` in its file name\n(`Dockerfile_##version##`, or `Dockerfile_v##version##`), exactly as the `dockerfile` member names\nit, and it is hashed under that literal name.\n\nStatements are written into `<artifactDir>/<oci-index-digest-hex>/` with mode `0600` (the SBOM\ndocument `0644`), in canonical JSON: keys sorted, two-space indentation, closing newline. Every\n`statementDigest` is the sha256 of the statement file exactly as it lies on disk. The generator\nrequires `TSDEPLOY_RELEASE_AUTHORIZED=true`, and its subprocesses receive the same sanitized\nenvironment as every other tsdeploy subprocess; the ssh-agent socket reaches the signing commands\nonly.\n\n`releaseEvidencePath` and `artifactDir` must be git-ignored. The released-source check runs\n`git status --untracked-files=all`, so evidence left in the checkout by an earlier run is an\nuntracked change and refuses every later run:\n\n```\nRelease evidence requires a clean exact source checkout; git reports ?? .nogit/release-evidence.json.\nThe release evidence path and artifact directory must be git-ignored.\n```\n\nProduce or judge the same file outside a deployment, for the same fence:\n\n```bash\nTSDEPLOY_SOURCE_REVISION=<40-character lowercase Git revision> \\\nTSDEPLOY_VERSION=1.2.3 \\\nTSDEPLOY_CONFIGURATION_DIGEST=sha256:<64 lowercase hex characters> \\\nTSDEPLOY_OCI_INDEX_DIGEST=sha256:<64 lowercase hex characters> \\\nTSDEPLOY_RELEASE_AUTHORIZED=true \\\n  tsdeploy evidence\n\ntsdeploy evidence --verify\n```\n\n`--out <json-file>` selects an alternate in-project evidence file. `--verify` reads an existing\nfile and judges it by exactly the rule an immutable promotion judges it by.\n\nWhich file is read or written follows the entry point, in one of two orders:\n\n- A producer entry point — `tsdeploy evidence`, `TsDeploy.generateReleaseEvidence()` and\n  `TsDeploy.verifyReleaseEvidence()` — resolves the explicit option (`--out`, `evidencePath`),\n  then `TSDEPLOY_RELEASE_EVIDENCE_PATH` (the variable an evidence producer is handed), then\n  `TSDEPLOY_RELEASE_EVIDENCE` (the variable an operator overrides a deployment with), then the\n  declared `releaseEvidencePath`. A run that states both variables for different files is refused,\n  since the producer would write one file while the deployment reads the other; the two are\n  compared as they resolve against the project directory, so the same file stated once relative\n  and once absolute is one file.\n- A deployment — `tsdeploy deploy` and `TsDeploy.deploy()` — resolves the explicit option\n  (`--release-evidence`, `releaseEvidencePath`), then `TSDEPLOY_RELEASE_EVIDENCE`, then the\n  declared `releaseEvidencePath`. `TSDEPLOY_RELEASE_EVIDENCE_PATH` plays no part in it: that is\n  the variable a deployment hands its own producer, with the file it resolved.\n\n### External evidence command\n\nA project that keeps its own producer declares `releaseEvidenceCommand` instead. The command runs\nafter the exact OCI index digest is known and receives:\n\n- `TSDEPLOY_SOURCE_REVISION`\n- `TSDEPLOY_VERSION`\n- `TSDEPLOY_CONFIGURATION_DIGEST`\n- `TSDEPLOY_OCI_INDEX_DIGEST`\n- `TSDEPLOY_RELEASE_EVIDENCE_PATH`\n\nMigrating an app-local evidence script to the built-in generator: replace the\n`releaseEvidenceCommand` array with a `releaseEvidence` declaration carrying the script's signing\nnamespace, provenance record type, hashed files, vulnerability threshold and artifact directory,\nthen delete the script and its package script. Nothing else changes: the evidence path, the file\nformat and the promotion path stay identical.\n\n### Evidence file\n\nWhichever producer wrote it, the evidence file must be bound to those exact fence values and contain one reference for each required kind: provenance, SBOM, signature, vulnerability policy, and release authorization. These references are descriptive input; promotion succeeds only when Cloudly independently finds one trusted registry release for the same operation, actor, tag, repository, and digest.\n\n```json\n{\n  \"sourceRevision\": \"<40-character lowercase Git revision>\",\n  \"version\": \"1.2.3\",\n  \"configurationDigest\": \"sha256:<64 lowercase hex characters>\",\n  \"ociIndexDigest\": \"sha256:<64 lowercase hex characters>\",\n  \"releaseAuthorized\": true,\n  \"attestations\": [\n    { \"kind\": \"provenance\", \"statementDigest\": \"sha256:<64 lowercase hex characters>\", \"subjectDigest\": \"sha256:<same OCI index digest>\", \"verifier\": \"<trusted verifier>\", \"verifiedAt\": 1 },\n    { \"kind\": \"sbom\", \"statementDigest\": \"sha256:<64 lowercase hex characters>\", \"subjectDigest\": \"sha256:<same OCI index digest>\", \"verifier\": \"<trusted verifier>\", \"verifiedAt\": 1 },\n    { \"kind\": \"signature\", \"statementDigest\": \"sha256:<64 lowercase hex characters>\", \"subjectDigest\": \"sha256:<same OCI index digest>\", \"verifier\": \"<trusted verifier>\", \"verifiedAt\": 1 },\n    { \"kind\": \"vulnerability-policy\", \"statementDigest\": \"sha256:<64 lowercase hex characters>\", \"subjectDigest\": \"sha256:<same OCI index digest>\", \"verifier\": \"<trusted verifier>\", \"verifiedAt\": 1 },\n    { \"kind\": \"release-authorization\", \"statementDigest\": \"sha256:<64 lowercase hex characters>\", \"subjectDigest\": \"sha256:<same OCI index digest>\", \"verifier\": \"<trusted verifier>\", \"verifiedAt\": 1 }\n  ]\n}\n```\n\n## Deploy\n\nA dry run performs exactly one mutation-free reserve preflight. It reads `package.json`, `.smartconfig.json`, the exact Git revision, and worktree status; it does not run project scripts, build, push, reserve, promote, or route anything.\n\n```bash\ntsdeploy deploy --dryRun --mode existing-service --organization-id Organization:example\n```\n\nA real deployment performs this fenced sequence:\n\n1. Reserve preflight.\n2. Project test or build, followed by a fresh source and intent check and final reserve preflight.\n3. Durable operation reservation and immediate persistence of its operation ID.\n4. Pinned `@git.zone/tsdocker` build, digest, no-build test, and exact-tag no-build registry push to the operation's reserved repository, or explicit exact-digest reannouncement of a previously published immutable manifest in that repository.\n5. Trusted-release lookup and promote preflight.\n6. Exact-digest immutable rollout and complete replica/runtime verification.\n7. Route preflight, promotion, external route/TLS verification, and final success verification.\n\n```bash\ntsdeploy deploy \\\n  --mode existing-service \\\n  --organization-id Organization:example\n```\n\nWhen the exact immutable image was published before its Cloudly deployment operation was reserved, or when resuming its exact `awaiting-image` operation, explicitly reuse it instead of rebuilding:\n\n```bash\ntsdeploy deploy \\\n  --mode greenfield \\\n  --organization-id Organization:example \\\n  --oci-index-digest sha256:<64-lowercase-hex> \\\n  --reuse-published-image\n```\n\nPublished-image reuse requires the canonical digest assertion and cannot be combined with `--dryRun`. Supply both `--reuse-published-image` and the same digest again when resuming. `tsdeploy` validates the release evidence and unchanged candidate first, then asks pinned `@git.zone/tsdocker` to read, hash, and reannounce the byte-identical manifest to the same immutable tag. It never rebuilds, runs container-image tests, copies blobs, or moves the tag. Promotion still requires Cloudly to bind that exact digest to the operation and independently return exactly one registry-generated trusted release for the same actor, service, repository, and tag. If the registry response is interrupted after acceptance, `tsdeploy` continues only when fresh Cloudly state proves the exact operation, candidate, actor, and digest in `image-recorded`, `rolling-out`, `ready-for-route`, or `succeeded`; every other result remains fatal.\n\nFor existing services, `tsdeploy` discovers the current immutable rollout fence from the last successful operation or from Cloudly's current service plan. Supply `--expected-rollout-generation` and `--expected-current-rollout-id` only as assertions after independently verifying that exact fence. An existing service must have `deployOnPush` disabled and a digest-pinned current runtime before reserve can report `GO`, with one audited exception: when the runtime is unattestable and the service's most recent deployment operation ended `failed` or `cleaned`, Cloudly reports `GO` with a `RECOVERY_REDEPLOY_OVER_FAILED_RUNTIME` warning. tsdeploy then relaxes only the runtime-attestation evidence fences, prints the warning as a stderr banner, and keeps every other fence — including `deployOnPush` and current-reference immutability — fully strict.\n\nGreenfield uses the exact organization/service-slot grant and does not require a current rollout fence:\n\n```bash\ntsdeploy deploy --mode greenfield --organization-id Organization:example\n```\n\n`--version`, `--release-tag`, `--platform`, and `--oci-index-digest` are exact assertions, not build overrides. The release tag must equal the package version produced by `Dockerfile_v##version##`, and Cloudly requires exactly `linux/amd64` plus `linux/arm64`. `--release-evidence` selects an alternate in-project evidence file; `--wait-seconds` and `--poll-interval-ms` bound status polling.\nRemote profile origins require HTTPS. Plain HTTP is accepted only for loopback development.\n\nCredentials can come from the encrypted profile or explicit runtime inputs:\n\n```bash\nTSDEPLOY_TOKEN=... tsdeploy deploy ...\ntsdeploy deploy --token ... --registry-username service-deployer ...\n```\n\nUsername/password credentials can authenticate read-only dry-run inspection, but Cloudly API machines are token-only and deploy-status plus every deployment mutation require the operation's API-machine token.\n\n## Resume and recovery\n\nAn unfinished operation is resumed automatically when its exact candidate intent and actor still match. Inspect or recover explicitly with a fresh operation revision:\n\n```bash\ntsdeploy deploy-status --operation-id deploy:example\ntsdeploy deploy-retry \\\n  --operation-id deploy:example \\\n  --expected-operation-revision 7\ntsdeploy deploy-cleanup \\\n  --operation-id deploy:example \\\n  --expected-operation-revision 8\n```\n\nRetry and cleanup reject missing or stale revisions. A retried `DEPLOYMENT_ROLLOUT_FAILED` operation returns to `image-recorded` for image re-promotion; other retryable failures resume from their recorded progress. Failed and cleaned operations keep their `failure` record as audit history, and `deploy-status` renders it. Successful deployment clears `activeOperationId` and stores `lastSuccessfulOperationId` in `.nogit/tsdeploy.json`. If a client exits after Cloudly has recorded exact verified success but before that local pointer update, the next deployment reconciles the same operation ID, actor, service, digest, rollout, replica, runtime, and route evidence before updating only the local pointer and evaluating a new candidate.\n\nA legacy import can also be stopped on purpose at `image-recorded` with `--until image-recorded` and resumed later by running the same command without `--until`; see [Import a legacy service's image](#import-a-legacy-services-image). The stopped operation stays the project's `activeOperationId`, so the resume continues it from `image-recorded` with image promotion instead of reserving or importing again. A stop is refused once the operation is past `image-recorded` (for example `ready-for-route` or `succeeded`): the refusal names the state and the resume command, and the run promotes nothing.\n\nOnebox deployment mutation is not implemented until its exact deployment API is available.\n\n## Protocol offer\n\nEvery deployment and adoption opens with a read-only Cloudly request — `getDeploymentPreflight` for a deployment, `getServiceById` for an adoption — and that request states which contract this build speaks: the installed `@serve.zone/interfaces` release, together with the oldest Cloudly release it accepts. Cloudly answers an incompatible offer with a named refusal, either as a typed error or as HTTP 422 carrying the refusal, and tsdeploy surfaces it verbatim instead of failing later on a missing field:\n\n```\nCloudly refused the tsdeploy protocol offer on \"getDeploymentPreflight\": protocol-incompatible (major-mismatch): refusing side speaks 33.0.0 and accepts from 33.0.0; refused side speaks 32.7.1 and accepts from 32.0.0. Upgrade tsdeploy or Cloudly until both speak one @serve.zone/interfaces major; tsdeploy does not retry a refused offer.\n```\n\nA refusal stands until one of the two sides is upgraded, so tsdeploy never retries it, never resumes an operation over it, and nothing is built, pushed, reserved or promoted. The mutating requests deliberately carry no offer: Cloudly derives a reservation's request digest from the exact body and tsdeploy recomputes it locally, so an offer inside that body would bind an operation's identity to an interfaces version and make an in-flight deployment unresumable across a tsdeploy upgrade.\n\n## Adopt an existing service\n\nAdoption converts a linked legacy `deployOnPush` service into Cloudly's immutable deployment state without rebuilding it. The scoped API machine needs `deployment:status` and `deployment:adopt-existing` for the exact existing service.\n\n```bash\ntsdeploy adopt \\\n  --organization-id Organization:example \\\n  --release-tag 1.2.3 \\\n  --oci-index-digest sha256:<64-lowercase-hex> \\\n  --token ...\n```\n\nThe OCI index digest is a required target assertion. If the service still uses a mutable tag, Cloudly may retain that source under the requested SemVer tag only when the source already has the exact asserted digest. A service that already points at an independently published immutable target skips retention. No image is rebuilt and no registry password or admin identity is used.\n\nCloudly validates the exact release, OCI index, runnable `linux/amd64` plus `linux/arm64` manifests, service ownership, and target scope before creating a generation-one immutable rollout plan. tsdeploy polls the same idempotent bootstrap operation until every required replica is observed, healthy, and digest-verified. It then fetches fresh service state and requires `deployOnPush=false`, immutable enforcement, the exact tag/digest, and a succeeded rollout. Repeating the command is a verified no-op after success; interrupted rollout bootstrap resumes with the same deterministic operation fence.\n\n`--release-tag` defaults to `package.json` version and requires canonical bare OCI-safe SemVer such as `1.2.3` or `1.2.3-rc.1`; a `v` prefix and build metadata are rejected. `--oci-index-digest` is mandatory and never overrides registry content. A missing, conflicting, or single-platform target is rejected before rollout because adoption cannot manufacture a multi-platform OCI index.\n\n## Import a legacy service's image\n\nA legacy `deployOnPush` service without deployable source can move to a greenfield successor that runs the exact image the legacy service ran. Nothing is built, pushed or read from Git: Cloudly imports the image it already holds into the successor's reserved repository and release tag, and records release evidence of source `cloudly-legacy-import` that names the legacy service, the attestation and the source root. Reservation, promotion, rollout and route verification are the normal greenfield deployment protocol.\n\nThe image must be attested first. While the legacy replicas still run, a Cloudly administrator captures the attestation (`captureLegacyServiceRuntimeAttestation`), which records every required replica healthy on one digest, the registry root the legacy tag names, and that root's platform manifests. Evidence cannot be captured once the legacy runtime is stopped, and without an attestation the import is refused.\n\nRun it from a directory holding the project link (`tsdeploy link --serviceId <successor-slot>`) and a `.smartconfig.json` with the `@git.zone/tsdeploy.deployment` declaration (public domains, routes, container ports, environment variable names, volume mounts, capabilities). No Dockerfile, tsdocker configuration, package version or release evidence is read.\n\n```bash\ntsdeploy import-legacy \\\n  --organization-id legacy:Service:example \\\n  --legacy-service-id Service:example \\\n  --attestation-id <attestation-id> \\\n  --source-root-digest sha256:<64-lowercase-hex> \\\n  --release-tag 1.0.0 \\\n  --platform linux/amd64 \\\n  --token ...\n```\n\nThe scoped API machine needs an organization-service-slot grant with `deployment:import-legacy` in addition to the greenfield capabilities, and no registry credential is used. `--legacy-service-id`, `--attestation-id`, `--source-root-digest` and `--platform` are exact assertions Cloudly judges against the attestation; `--platform` names exactly the platforms the attested image carries, so a single-platform legacy image is deployed as such and runs only on nodes of that platform. `--release-tag` is canonical bare SemVer and is also the successor's version. `--dryRun` runs only the read-only reserve preflight. An interrupted import resumes from the project's active operation like any deployment.\n\n### Stop before promotion\n\nRetiring a legacy service deletes its registry repository, so the import has to happen while the legacy service exists. Its routes, however, still win the edge match while it exists, so the successor's route promotion cannot verify before the retirement. `--until image-recorded` splits the import at that point:\n\n```bash\n# 1. Import the attested image and stop before promotion, rollout and routes.\ntsdeploy import-legacy \\\n  --organization-id legacy:Service:example \\\n  --legacy-service-id Service:example \\\n  --attestation-id <attestation-id> \\\n  --source-root-digest sha256:<64-lowercase-hex> \\\n  --release-tag 1.0.0 \\\n  --platform linux/amd64 \\\n  --until image-recorded\n\n# 2. Retire the legacy service in Cloudly.\n\n# 3. Resume: the same command without --until promotes, rolls out and promotes the routes.\ntsdeploy import-legacy \\\n  --organization-id legacy:Service:example \\\n  --legacy-service-id Service:example \\\n  --attestation-id <attestation-id> \\\n  --source-root-digest sha256:<64-lowercase-hex> \\\n  --release-tag 1.0.0 \\\n  --platform linux/amd64\n```\n\nThe stopped run reserves the operation, has Cloudly import the image, and judges the imported release's `cloudly-legacy-import` evidence exactly as the resume will, so a wrong import is refused before the legacy service is retired. It then ends with `stoppedAt: \"image-recorded\"`, a `deployment-stop` step, `verified: false`, and `resumeCommand`: the exact command to resume, with every non-secret option of the stopped run and no `--until` or credentials. Run it from the same project directory with the same credentials. Repeating the stopped command is a no-op that stops again without importing twice. The resume needs nothing from the retired service: the imported image lives in the successor's repository and release, and the promote and route checks judge the attestation, which retirement keeps. A bare `--until` or any other value is refused before Cloudly is called, and a stop is refused once the operation is past `image-recorded`.\n\n## Programmatic API\n\n```typescript\nimport { TsDeploy } from '@git.zone/tsdeploy';\n\nconst tsDeploy = new TsDeploy({ projectDir: process.cwd() });\n\nawait tsDeploy.saveProfile({\n  name: 'prod',\n  target: 'cloudly',\n  origin: 'https://cloudly.example.com',\n  username: 'service-deployer',\n});\n\nawait tsDeploy.writeProjectLink({\n  profile: 'prod',\n  serviceId: 'Service:example',\n});\n\nconst dryRun = await tsDeploy.deploy({\n  dryRun: true,\n  mode: 'existing-service',\n  organizationId: 'Organization:example',\n  token: process.env.TSDEPLOY_TOKEN,\n});\nconsole.log(dryRun.preflight?.decision);\n\nawait tsDeploy.deploy({\n  mode: 'greenfield',\n  organizationId: 'Organization:example',\n  token: process.env.TSDEPLOY_TOKEN,\n  registryUsername: 'service-deployer',\n  reusePublishedImage: true,\n  ociIndexDigest: 'sha256:<64-lowercase-hex>',\n});\n\nconst status = await tsDeploy.deploymentStatus({\n  operationId: 'deploy:example',\n  token: process.env.TSDEPLOY_TOKEN,\n});\n\nif (status.status?.operation.data.state === 'failed') {\n  await tsDeploy.retryDeployment({\n    operationId: status.operationId,\n    expectedOperationRevision: status.operation.revision,\n    token: process.env.TSDEPLOY_TOKEN,\n  });\n}\n```\n\n`TsDeploy.importLegacy` takes the same options as `tsdeploy import-legacy`; `until: 'image-recorded'` is the programmatic `--until image-recorded`, and the result then carries `stoppedAt` and `resumeCommand`. `parseTsDeployStopPoint` judges an untyped `until` value the same way the CLI does.\n\n`reusePublishedImage` is the programmatic equivalent of `--reuse-published-image`. It requires the same canonical `ociIndexDigest` assertion and cannot be combined with `dryRun: true`.\n\nRelease evidence has the same two entry points as the CLI, plus the generator itself for a caller that states its own fence:\n\n```typescript\nimport { ReleaseEvidenceGenerator, readEvidenceFenceFromEnv, TsDeploy } from '@git.zone/tsdeploy';\n\nconst generated = await tsDeploy.generateReleaseEvidence();\nconst verified = await tsDeploy.verifyReleaseEvidence({ evidencePath: '.nogit/release-evidence.json' });\n```\n\nBoth read the deployment fence from the environment and the declaration from `.smartconfig.json`. `ReleaseEvidenceGenerator` takes a project directory, a sanitized command environment, a command runner and an optional clock, and runs every subprocess through that runner.\n\n## License and Legal Information\n\nThis repository contains open-source code licensed under the MIT License. A copy of the license can be found in the repository license file.\n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.\n\nUse of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.\n\n### Company Information\n\nTask Venture Capital GmbH<br>\nRegistered at District Court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n","readmeFilename":""}