{"_id":"pi-better-background-tasks","_rev":"47-0b1f42d206798276b5972581e98450e5","name":"pi-better-background-tasks","dist-tags":{"latest":"0.6.4"},"versions":{"0.1.0":{"name":"pi-better-background-tasks","version":"0.1.0","keywords":["pi-package","pi-extension","background-tasks"],"_id":"pi-better-background-tasks@0.1.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7f1e91add8bec3ca26962ce0a49ed61a1292f443","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.0.tgz","fileCount":12,"integrity":"sha512-tRpMFvxoWSIrAJLsYkesRTaZ8EE/KvVVQeTyeBXjahLJVxnciQjp87IzC+nURORkOrwIKBWsppDzjqvV6VI2VA==","signatures":[{"sig":"MEUCIQCg1TtK15gyHwa5zSifdbt7Tuw/CiyW7Y7Maxm3lV7pFgIgWyOpxXIVi9FY6SM+mVPW9NZ5bgqPoGF7oKKfYqKJxMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60969},"type":"module","gitHead":"6e25f4c38449be619d222afe6f05a4613003453e","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"exoulster","email":"exoulster@gmail.com"},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"10.9.7","description":"Generic durable background task and watcher tools for pi.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.0_1785344324220_0.9384161474618258","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"pi-better-background-tasks","version":"0.1.1","keywords":["pi-package","pi-extension","background-tasks"],"_id":"pi-better-background-tasks@0.1.1","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"d68cb2c2f731706dd4cad2c0bbdc5ad8c4e2a218","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.1.tgz","fileCount":12,"integrity":"sha512-8gh2wIG3P+oVeGtrQ/yRqqrkDru4GzuYnMeETbVnA25lPW27ebKH4t0Weg0fX1g9jSoyjSyjZk9097EehmOEPg==","signatures":[{"sig":"MEUCIQDfyOcYURqxsW5s162Wgzg4uDxhH1UUVTz8osvnlt5FbwIgW9a9vm6WZQxuB7+Vw3u164gkhPfM2fYNaw2TDtve0nU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61110},"type":"module","gitHead":"12c634dba7ba9dd8f9fb784f32431b20c58b88cb","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"exoulster","email":"exoulster@gmail.com"},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"10.9.7","description":"Generic durable background task and watcher tools for pi.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.1_1785376456387_0.4236255841282539","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"pi-better-background-tasks","version":"0.1.2","keywords":["pi-package","pi-extension","background-tasks"],"_id":"pi-better-background-tasks@0.1.2","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"7cfeaeaee3c51e3cb847cccbe9e18903fb1d0c85","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.2.tgz","fileCount":13,"integrity":"sha512-Y+Gu1hapCfw4xNUq1vjao7Hty+wxxPxKURj14qL5b1p2Kny9yvDIjGR/3kwremD7NSbSPboFF8Id/EEoIcvTMg==","signatures":[{"sig":"MEUCIQCbMdJYZ3467CuNcCBP8zzNb/BRXeDyRX3qgEDlQiuYewIgV0ZTGc5yNDgIdeMJjqSH+EeAlMz3WCrjre+nlNN5rQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103161},"type":"module","gitHead":"81352d0add85c48284ee0ac05f01821390c68b4c","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Generic durable background task and watcher tools for pi.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.2_1785389046459_0.20671405360383677","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"pi-better-background-tasks","version":"0.1.3","keywords":["pi-package","pi-extension","background-tasks"],"_id":"pi-better-background-tasks@0.1.3","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"f60b13a733acccda61e8e2c6fee9fa675ea1e429","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.3.tgz","fileCount":13,"integrity":"sha512-pmY4NehUSs3nygZcX//sxfy/wIjlmibUEwSyNb+dhMpZFWH5mkGbBDEJcc5vlQJnJJ005xzYqKHQZZwAqus+Yg==","signatures":[{"sig":"MEYCIQDQbqkTkvhL2HMAEY7qdvu3hPqLHrndg+XDT0WPgM0NJgIhAIuk7XHS3RM4xtiDl5ZcBkTxqr18DAYgqOEABavP85Y4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101370},"type":"module","gitHead":"b366665df363478446720094b0f628cf225af379","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Generic durable background task and watcher tools for pi.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.3_1785392272352_0.9492750648815393","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"pi-better-background-tasks","version":"0.1.4","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.4","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"16598739a49ead5405945c121ab01916f29b4159","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.4.tgz","fileCount":14,"integrity":"sha512-4KCGDi+ZvEiwX8No6BLEpJrWFqQ8t+EweoiKkBETKdV8KZrZfeednhI3yx7W84ZGpe+FYL4SqU76LYEYNsOu3A==","signatures":[{"sig":"MEYCIQC5O4wKd0dhMuXuin5vLn4UDoKc8INACEPRnMVSIkkGdwIhAOvuhLUEnUmo3z6st9uAeugossaFWPaRcthlQNu4dTZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103134},"type":"module","gitHead":"590d500056bca2f442eaf89a3953fd1526fe3c71","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.4_1785395085422_0.9411275419413789","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"pi-better-background-tasks","version":"0.1.5","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.5","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"f59e16aa37deec4e519ace581feb0ed0281f8313","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.5.tgz","fileCount":14,"integrity":"sha512-aA3yj7wJTCg9tpaXXh4bShr8KHIbWV+4kjClV4h5ceHV63uE6CThnyzNheNleO2iyoDJSSeed/x80sJvJCTGHg==","signatures":[{"sig":"MEQCIBN6wQvB+PxrKp5vEaNoxOfjGG2wwQOnnpD1xAf/LoAuAiBirNSp/y02L/P7ZezRckcorvnaWeoLNwZZ5L27Knxsrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103134},"type":"module","gitHead":"8e1c9ed3e23eb554dfd3fbdc39e02bbc3683f402","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.5_1785402813300_0.6798110446482939","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"pi-better-background-tasks","version":"0.1.6","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.6","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"6d1d5e3ec5e5377eff31a47a715b1a52fab5960d","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.6.tgz","fileCount":14,"integrity":"sha512-khehHfl2gE0he7ERX5zykP0FUKCxGA05oS1dQqnFhH40XaCjpkYhJRVrzAWYbNmpXQTzyhjMz4eAZ9812XfJIQ==","signatures":[{"sig":"MEQCIAn5xi1/3JSCffdqRabwzUJo4QqW7GCX2KHcHlJumUaBAiBarDXvKh5XSDAVFfQiMfaWbHsPoGM0mXD5GxMZXFFS6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103449},"type":"module","gitHead":"6cc4f721812af1aa14e586c9f6fc58409b12c88d","scripts":{"test":"vitest run","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.6_1785425137334_0.26296939223770766","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"pi-better-background-tasks","version":"0.1.7","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.7","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"dab44702187d063cf79f44a01efe6f018aaa4535","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.7.tgz","fileCount":15,"integrity":"sha512-oQt8weD3FhdODwRz/yLGOIWfvG5T+66Oxp9BO0UqeQmtthbk7ygY4+cBbpND74kj9/X9/La9vebPKRh7zNqVLQ==","signatures":[{"sig":"MEQCIQDvWAePY6jmQBaZnpkRSaCoyesy5arrpwUT3RdkMzOBTAIfMGpDz2u+xyI4mzCEw9Qs4S2JHXlQn8YyepsJCQNPtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110581},"type":"module","gitHead":"aa9e1bc6a9863c0e5297f494436aedd5e5aa2042","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.7_1785483949863_0.7005447433421936","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"pi-better-background-tasks","version":"0.1.8","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.8","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"b96efe2e7181740df8e8c61fa02ee1db4989b8c3","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.8.tgz","fileCount":15,"integrity":"sha512-e+/N2MHDCE2B8J59Jg/5fUczoe0cWQ4Pkr0OtCzECJKE8k6skFyMa6faVHXUr5ZaoZTj1rRc1U0ytWroWmTVOw==","signatures":[{"sig":"MEUCIAbsETs3Y+aL99qr8ZYywWFQ0s1dUzybwlSMW1WLFNjgAiEApsIH5LTJlP342DUlMxNVWbwuiDiBPE/6RNWDym4RAPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111013},"type":"module","gitHead":"f6d1bf84a7bd0a5a15e620c18bcfa59465a3b67f","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.8_1785487045678_0.5452998355943661","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"pi-better-background-tasks","version":"0.1.9","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.9","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"882c8af53a5f1ad75c0ab9fc2753709d813b6472","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.9.tgz","fileCount":15,"integrity":"sha512-3Ml87JCP4ktyF0rZhmU12ls+bCoMebsi+7CRjFzY7XETV3yLifvs/ztb62H3EKZrzfAaLJ+jExsC0yUFykV8iA==","signatures":[{"sig":"MEUCIFl4JaH+UN9B7t5D1lgA/zl7hqVQhIqhRC2sSmtMxDoRAiEAyhuU9Dooqt7QNHQlRTE5cz+wjlZgM20vyl8lpzmMW+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111013},"type":"module","gitHead":"e41488931797f6111d74554c8f7f888a1561e1d3","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.9_1785501579848_0.0234932139022781","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"pi-better-background-tasks","version":"0.1.10","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.10","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"896ab0e78b029c9dd50f573e4bb6611230c7d0a7","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.10.tgz","fileCount":15,"integrity":"sha512-s3VOwVmxyD+2xg3iyYR+2zu+tjPjy9qTyCSvfax0YhiEq0TwLyoTaeM8zJr771UokN5+4RQ/QTzb/zF/79ApfA==","signatures":[{"sig":"MEYCIQCcbA4CReF2qXHtWKfA5FEspOOPCt/q8zxoTY5ZIjDUGgIhAMONQ8pZvmoKhY4ZSwgZm/gTPf2i1Y2y6K0Nlgo+nWcR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111014},"type":"module","gitHead":"bb995f5126e4df4e6ee7c61cb8eb812cff3ddd20","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.10_1785503068061_0.38333212525851557","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"pi-better-background-tasks","version":"0.1.12","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.12","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"b53d6f691267d421a28ffec6b41c5d5a12244cef","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.12.tgz","fileCount":15,"integrity":"sha512-s6s+eNx6kO/Lu0WpvAGd1ZzHlbh7DLfZmWT/JhZaaFSJZGtUygenw8BwzK8S92jAyITL5V2267bMzyoDG2LUxg==","signatures":[{"sig":"MEQCIFUGurlEL513MID1CDq08iYRPh0Cl72m54W/HYrHRFSIAiBdslc4y2X/cghDJuWpI0sktzNLW41rOppsQ5X+0td1pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111014},"type":"module","gitHead":"bc8b93f3e56a91e0e4945948354ba1e64c0f339d","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.12_1785636463565_0.1147662884540801","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"pi-better-background-tasks","version":"0.1.13","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.13","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"51de3b99936eea621f8e7f232c3f57b83ad6c86a","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.13.tgz","fileCount":15,"integrity":"sha512-tc1O8euUZ1jk0ZnhDYUXljHvk6xgnfleYwZzlWYVeWUVACQDWiRFMAkDAqRiW4ae4xs6xe7gPy1UHKmT6A94hQ==","signatures":[{"sig":"MEUCIAt6zWDfp57vhB9QqIz9hUDSfKIjzdo5ZLKOZO3VUIhGAiEAvw7HSTnMhnVsdFRLkKO0MMLD4tBtPnmrRMPgR9p6Lz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111014},"type":"module","gitHead":"c238fe5c9c436ead8a83b8c4a75323407e60efd9","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.13_1785649624759_0.8632479715476851","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"pi-better-background-tasks","version":"0.1.14","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.14","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"5fb1887f790b7daded695553f39cf2eec9f65101","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.14.tgz","fileCount":15,"integrity":"sha512-yl1fmKj4UWT5aTgvnHV1Nzk1vSQ+Xl4GGMN0zSfLNLHhNLphJcoFOkL/zmSmocgvOYsWTt19eK7CQy+HmqziEg==","signatures":[{"sig":"MEUCIA68h/PLTx8tvOCFQBxn1hNQb7VQ30qRS8xMK5jizzM0AiEA10n7osYfcp5TZnV73SsxXlvJuQs20VLdoSY0CYrITtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111014},"type":"module","gitHead":"3f3a28ad8137336dc09a2e9d76a6e6dbcf0e3273","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.14_1785650203860_0.8864364380678675","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"pi-better-background-tasks","version":"0.1.15","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.15","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"df8c3b60bdb656e86b3cd3afe546a6dbae74bfe4","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.15.tgz","fileCount":18,"integrity":"sha512-sBdm3wvO5NW3Oe0CBYFkPh3q/CiHYT0/djOtDdleOm73xUoNSfd8hzX4Vgr5IiDlkMn7Ghk1RdfnhhFKs+6xHg==","signatures":[{"sig":"MEUCIEzYept5dWspqoOOzkT3kwdA0LhYiwylhFWbFZPPUPmbAiEAnOs5WTRbgwMHEdAies3VydnVl/+I5RjF63Pwt8bdv+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":118147},"type":"module","gitHead":"194079b0768510c2a289337edc415d8cf26ce89b","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.15_1785803988728_0.4670740685559387","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"pi-better-background-tasks","version":"0.1.16","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.16","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"5eb99628a0cbdcef5bfbdef71e501fd077a4aa10","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.16.tgz","fileCount":19,"integrity":"sha512-J6yC7z50IzJilZOef4uOC+qNKef8lYol0ec7xM6+yPhcgzZY9IdG23AZay0B9wO6kkCtZt0paB9XrFcLDgSu9w==","signatures":[{"sig":"MEUCIC5qst94dbFCX3Cgv2C+HA0K4GmCDGP/KO4swmqZuzPmAiEAiiCUiywjxjRtlmA4jOsMr7Zkh8TlZpvsqKM653pkgVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132056},"type":"module","gitHead":"b8ef39787d9ca3558f8dc4b9310c9b62360d02a3","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.16_1786427676347_0.9126168384830768","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"pi-better-background-tasks","version":"0.1.17","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.17","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"72a104487412257129c611459ddf03f648b3f8ad","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.17.tgz","fileCount":19,"integrity":"sha512-ii7ntk4swsgStzMSfy0AmDJq16ohiWNgDy1+nXGEOL6roNHMWVli0WOerGmYszAq/DaP85y2j4eR3QKv/kCS2g==","signatures":[{"sig":"MEUCIELK6PzwXcqiDjq7J17V+lzYvcYrQbq5nU5dC3yyGe5HAiEAx9qNbQdfJIEWZopZGUFypKEMrKRCONVFsBjkpMiNVhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137271},"type":"module","gitHead":"fa1ef5200b314cbd04f908b6d49ee0fa7dca48da","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.17_1786553985568_0.2703648676370929","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"pi-better-background-tasks","version":"0.1.18","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.1.18","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"33077306b2619d688c7a3cc18abc2962ccd8d1ce","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.1.18.tgz","fileCount":19,"integrity":"sha512-lRKKvyrNz+w7Ho/RYDnnLHK7TfBYbTeF97LbITE+cy2rUGe5HexB37j4QRSBcIZarc0YXMlsu7I5/PsYC6rs3g==","signatures":[{"sig":"MEYCIQD4dwiuMEkYh5xSdgYAOMiXyI0z04DYKdixwoWRSNQiKgIhAKDOt8vTbFlEyl6NaN9HYmyhbz9by6HMGNE/EE8r87FB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137716},"type":"module","gitHead":"440ace3b44a9e508566d29f135028c26a032f016","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.1.18_1786705440287_0.24782898563294498","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"pi-better-background-tasks","version":"0.2.0","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"fd482b82bd255267a65b48087da3cd180cc81e9a","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.0.tgz","fileCount":20,"integrity":"sha512-dNeJYMY8/Qf0g7KDdNSY4asK2iTVifsEBjYmmkC3QudmBYOJhLpF7VfJOlGhImH/qTEWmwEBk9WkSGpxa6hTng==","signatures":[{"sig":"MEUCIDlmNVJHKhOBqkHmRkaF/6Gz9ZdV1cpe/vXrPXjNBA8FAiEAlxs9aHeeYrMU7z0KaUPd2hXQpYeqenHd85BEO4htryc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184671},"type":"module","gitHead":"da352c985e14a6b9d781c9992cbad5634295799a","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.0_1786903325957_0.9812618022748936","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"pi-better-background-tasks","version":"0.2.1","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.1","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"1de4b9988066e7d26adc46c5017a55a44dc17737","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.1.tgz","fileCount":20,"integrity":"sha512-UchXOV/GOhQqrH4sh1gK/c7CwEGWSZ6Wp3zpB+49J9Jh6nQP8dbdXsOgTZQ47LYbu2wvbTu6DP4OBfDTiKmaXw==","signatures":[{"sig":"MEQCIA2efuPcvllJcqmrRiyWJIdYQjI67bZfHu4Tf9dJHoJIAiAN37YUpN7oEsEpqwtUrZVpjE606B3Aze9FCx3U4WyWiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185230},"type":"module","gitHead":"850bb817a57f4f6c228264c0362a934a2267c580","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.1_1786963150587_0.5377984356151204","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"pi-better-background-tasks","version":"0.2.2","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.2","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"ea35a62f250834c9bebb46bfd03a70a2569e1a4f","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.2.tgz","fileCount":20,"integrity":"sha512-R+x11P3y5PDwFTbWFsheFur+2iB59yRyPiMbpdm9yNY96IGvB4MGALhdd54aTjlhhdTFpJqMhZ4reVjm069Z0g==","signatures":[{"sig":"MEQCIB4vJ1ZzPK41OwSlSwn+xjJwwIttqXI6GJGr1zO/El81AiATWEduVgg4mxtvJLLYOdJn5XX2Z3vU3dI+Y2J84/ZXuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186549},"type":"module","gitHead":"c378a3932d94a773a7d11688fd4888b4f186a8c6","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.2_1786965755412_0.6991471845923165","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"pi-better-background-tasks","version":"0.2.3","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.3","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"7dd1b3a88a685bfea063188c7be7c753ca02fc2f","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.3.tgz","fileCount":20,"integrity":"sha512-evT2L0/o01MiwOrR2tRb7QQoOTKoLSzB1uPRl6X7mF4DNVOIderZ5FqxF9HOCqRRijQPhwig5HOGJN5dhW7IkQ==","signatures":[{"sig":"MEYCIQCMZO3q1ceFovo4F3uAyq1yl2nrMJmz3Lh0onOrzuMJdQIhAOSYuFjW+GrwEKEX9y4cTQO5lus2ozZ3jqajhA3Yw7Pt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187365},"type":"module","gitHead":"39341e5bdc919fd47e151563f7686f568d93e269","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.3_1787043871362_0.8724412284712066","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"pi-better-background-tasks","version":"0.2.4","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.4","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"a2b6b07682fdce827caf7f79341ff680ee6c3219","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.4.tgz","fileCount":20,"integrity":"sha512-IGP2sklM43AtvTUxA2ZSGvqhfZ3CofrqTnWj2rydgd1r6PIjEYNBf5Sr6z6F6hIhUVvsIU5gRE3O48xd2nwqZA==","signatures":[{"sig":"MEUCIQDvv7ycG8aWCmTPiHJIoPZdwKPjFb0GWlTGLKl7jGz5BAIgdQnna4gPbWn/rzqSQ+XLxv5i0B/41iixn2Gz3ia2aYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187953},"type":"module","gitHead":"17521983828e50c23e9d4928ebd479f51283cea1","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.4_1787326398621_0.6684980429427847","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"pi-better-background-tasks","version":"0.2.5","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.5","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"72e650b0a70c0ef0740688d16b2ca294a4dfcfe1","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.5.tgz","fileCount":20,"integrity":"sha512-tR9o4TYfF7mb2sYue3TIMmLumJoDy1bT77aaMtoTrruONn5hC0s1RVFagKUVbuQT86VklUs4jbgaxbBl41omLw==","signatures":[{"sig":"MEQCIFUJXZoWXvims9HcgrepXCQMWgYKlMmuaE8G5cl45z54AiB+lu4unszZyZGMIxbx/0bZJ4htotpVPYUSymjbvTXD5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187949},"type":"module","gitHead":"f52d5134df75a5f5255a7e2eadb1db8c645d7d64","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.5_1787326943503_0.6570530968218253","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"pi-better-background-tasks","version":"0.2.6","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.6","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"c777eaa57e34958bc38bb18ca9efad0f9980c65d","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.6.tgz","fileCount":23,"integrity":"sha512-TXwy5S/AXDxOWldKktSlVVLMu8+ldQkR7Uh6R64H0oAB+mB/o1iEXbgH5mbWW5Lnfykwk+MmXbByMVV6Z4iRQQ==","signatures":[{"sig":"MEUCIAJOftYUUiIOhrWvBCwF+O4IfPullnKXUaXS0wSEr5hUAiEA5YI7OvL3eYFk7XgX25sEu5HqnPRXBZWQ1NHh1BrATms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":239306},"type":"module","gitHead":"ca5ca491e6c935f144b105dfeda92a67d59707b7","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.6_1787494240354_0.2964633488821853","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"pi-better-background-tasks","version":"0.2.7","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.7","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"d99bf87a766d3341e48e17a93ce2ba3c9d9574b7","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.7.tgz","fileCount":23,"integrity":"sha512-XVY5BKzvlkru+J+uWg6N2xXRNUPDgdxB87zxEZJNSd7hU+sWpxxKo5XzZb/nJdyXbCeEvMM6wXVHvBCwd1vT3w==","signatures":[{"sig":"MEUCIQCP6Fb9hXvT8Dqgp5UA0BBpDaMdaCYO+ouA+dMXd/pDQQIgTiLqC1L4YbInZuPR2Vf6BBW5NdvnK4S3jy/1p1noj3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":239478},"type":"module","gitHead":"047033b9031ef1568efa2e01f068940d85ec135d","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.7_1788332577016_0.8234654717461578","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"pi-better-background-tasks","version":"0.2.8","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.8","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"9ef440c612b22e817bdff2fae4be307ce1fc9c6c","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.8.tgz","fileCount":23,"integrity":"sha512-KNsgmcaW48+ZZs+dxPo7i4PG9QM9l38X6Ug2EhzhMkuQf2ovcbBqL3Wq6nU0lU4E/veGrs8TrfqVE+4n0OZ3Ww==","signatures":[{"sig":"MEQCIBAhNjt8+yqDmxBW3xjPS+T8ORaZq2M8TZSpbtlbuHRxAiB8TAxnIYnZgeLLJjPWcAQXfdFU4YAd4lZPucDMs2pOsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247160},"type":"module","gitHead":"6a2f74595d69c3f30410c4c8065dc36aa9938461","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.8_1788427430145_0.45008269178400195","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"pi-better-background-tasks","version":"0.2.9","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.9","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"49e0e41ff4984ab7a747636e1892f2a357f6e824","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.9.tgz","fileCount":23,"integrity":"sha512-65JT7/mf5px+87U9AEqtjq7ovEms+wL5v3ljG4ZzU34A0phWYf1/Xmr0/y+DQRKIdk5y0j9kW9DO6XYGPuvVWQ==","signatures":[{"sig":"MEUCID7RGkIMpsJRfEZA90ynuIi6OTjtLdT3qH7U2EwGR1R3AiEAuvdWr7d8NPK8i2SQLjMHOy0Jg4oEA5NZgVFtzn7Rxdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247207},"type":"module","gitHead":"4a01d96ebcbb3e8f5708c119264bf9f7fadd2d32","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.9_1788618362831_0.5983642391441482","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"pi-better-background-tasks","version":"0.2.10","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.10","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"ba895728c75acb0056ba47ce3a1d5a96d574ed6d","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.10.tgz","fileCount":25,"integrity":"sha512-49tn9jp/lj5XO5CjaODef6L+ghaiBVRCBXRWKQTyqVd5pisdY6In5wpVP0GUTPG7kObfJVF31TZnp3bYXuZfMg==","signatures":[{"sig":"MEUCIQDISXmQJEbpD8oMKE11CMNWZizDLpMfeUKomTzqysp3GAIgZQETMLpKF+pG/PFsGBavU9f7xLIeCJFKKMMzz6gZStA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261164},"type":"module","gitHead":"0376ddba2c21c757bf2675fad557bc63624adc25","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.10_1788979638092_0.22306784489682085","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"pi-better-background-tasks","version":"0.2.11","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.11","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"4e61e7575af8ec1f2c35d459828ba677fa974ca5","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.11.tgz","fileCount":25,"integrity":"sha512-YH7HYChPX/BIvtETIVDsrl42s4sSqzW5qMrsx0gm98cH39EobpCkcLKhO+7F7ZJ482OByp9CTdCTlcYgzfTc6Q==","signatures":[{"sig":"MEUCIQCzuMSCsj5gncAg5oAp3yNl94+Sz948+3q7yGRVrRCEIAIgMENByTybx6n6YRwYIhJAaPTxgFZWYGTF03/vshHYmc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260522},"type":"module","gitHead":"dd080dfa5dff40db7734e81db1e0eb3b02fe3501","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.11_1789225230466_0.16835048913484973","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"pi-better-background-tasks","version":"0.2.12","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.12","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"b32be6add7d5a4d2cda5544b509023b10943b2de","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.12.tgz","fileCount":25,"integrity":"sha512-xj2NVrXwQFq/JFzm6PmHHZ7Oq1sv7bC3AsCjs1vHZW3qrI6ZQ1I3T0KxAUqumicjiF+1vu5CruHwiwr+9i3bKw==","signatures":[{"sig":"MEUCIB1sO459X+VenmmlosKSw9S/46S+Uv3dZinAf101fjSHAiEAmsPUu6/s6Ovl9+vMATicViH+hLYxVHgTpzNq6ValSmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261273},"type":"module","gitHead":"1c6abccaf511ff11a1e94202d172796f54ca2650","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.12_1789381240435_0.9342018223920321","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"pi-better-background-tasks","version":"0.2.13","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.13","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"880f0772c5b6936d8dfe2c357a217b2c9fc7a264","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.13.tgz","fileCount":25,"integrity":"sha512-wxXR0yQVJU0KeUc/m7FfvPKl1IqK0vdhK2Uu7pVhHQDlFYgfAsDgmaF61SEfzSoarlrnCA9qax5wY2ZVyeq2Ng==","signatures":[{"sig":"MEUCIQDe+f3BlILFQESKhpzu+sEJPbYiEd/Rmg8XSeA/rDRTggIgV7WkwxNkpL5Tym2Iy3O8FlsQdaYbLXykqUn7xvpY3Ro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261855},"type":"module","gitHead":"05950dab620f049e10d8a4d0e883235685e9a595","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.13_1789611230569_0.781347151847489","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"pi-better-background-tasks","version":"0.2.14","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.14","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"1e3adfaad5b802c6daea43c87e2a3533a35c0413","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.14.tgz","fileCount":25,"integrity":"sha512-zIzlSKOFVs2Vd8Qa58XxzdtdNRmmgMjV3yaYE7jfb7jJpA9FBJXXC9JbYjLs2UyC5wJ8HKBJmlZOrOPhVgNa3Q==","signatures":[{"sig":"MEQCICRdp6KXm/5rlmo/GLCkMQU6dkAzPd4lo2rkgB32z2iBAiBw5z6fRs8qj4r/r5/1E3ShpOZHzIXE69c1qASEnQRoAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBHvFLHlluq6VnGTzp7SaZDII1Bx4xr6oqdtjP8J0YdPAiEA7E1nuGkXWooq9L/3hPWO2c1Udv4bf7LBI6oARvs17m0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261969},"type":"module","gitHead":"ce0defe76dff0b579cc876bb3eb1afdebc3649ae","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.0.2","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.14_1790078722270_0.6822666214600102","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"pi-better-background-tasks","version":"0.2.15","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.15","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"03512af9acbe10b016468ebcd0a82c8629216e29","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.15.tgz","fileCount":25,"integrity":"sha512-VxdFqOI+i4wHUQLwYuoB/u1jzO4yLFe/inYU3/UlSZ/ucbL1e751224LstRoGbXDxMV6fdUZQgqrcs47kR6aCg==","signatures":[{"sig":"MEYCIQDd8+kK8jtaSk/SQc0EFvsrzESgQBm18dc8BDoX7ab/xQIhAPj+HDNYb8oeGjRONinwOIyFTPZ2hSoPWjuuTD1g/wpW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDy9uXrDRkWPfvmclm2qyWqkwLN/s0j7p1G4fRAC9lbGAiEA1skgE2Y9kDxHBHmAy+aRkU6k7TbeBxmmnvzLj5Sk67w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261493},"type":"module","gitHead":"8c7c4252a240774e790a90620032811b42e8df30","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.15_1790177215581_0.979375167819841","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"pi-better-background-tasks","version":"0.2.16","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.16","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"937582d273ccf9e9618d53dc3a4253ba037fb7df","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.16.tgz","fileCount":25,"integrity":"sha512-4Q3AHcYtuXglPxMZBcWSAoIlM2+sX2qgPr3sQwkbvtbF/jKQYuTBWZ4cmmgJ4vpAuJ6gBCD9kIqaw3cauAC9Zw==","signatures":[{"sig":"MEQCIAzAq+sjJZeMLcuKh934F82493/9kBIOGXsl+ocMUs5TAiBM/jz24AKjIb/qI1qy42OgqcHg+YM3jm5pb2DjkcY52g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDaWZe7IRWDk+TIPJ6uMSKF8kQedMDnWrS4OmuOocmo4AiEAxvEqqQjTNGggPVdZWspRtnQIiWk+Vt+FYdwD93Y+ltc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264201},"type":"module","gitHead":"cf5dd5ee99d8159ac1f179ba23c17a179775accd","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.16_1790328428948_0.8197381012109497","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"pi-better-background-tasks","version":"0.2.17","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.17","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"0d45aae77b3eb57b000272644b0420a89c9131ce","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.17.tgz","fileCount":27,"integrity":"sha512-d+bDO1E3cTSupOJ5KKVU5LJG0aT+TLs7jUCXWpC88yFK7x1A8vSIltKeLYD91Ey4SGDzQ0r9O84FPGePsYTtZQ==","signatures":[{"sig":"MEQCIHf1ippjoqRR6pJbK7WPh6WxUT41FPDWqiqFZUaLARfSAiBQSWjb4PadkoqMzbdwfw9X+SVyMF3Ell3AGehlY6pdrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF2phhcQ2O2K0RXMxkGNRwVBw8LSREphSYG9Xw6X9JIPAiEAnPQB7wgtZ/6TXANVsJdlyfvWVfo6tfBqzYrL0PFYYfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":308304},"type":"module","gitHead":"ae0ce19a92a7d5c8c1d121995a0fb4ed6512b328","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.17_1790439681318_0.6336575168331517","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"pi-better-background-tasks","version":"0.2.18","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.18","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"e368bd89a04cee484a0d1b95a624adf66bc67c28","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.18.tgz","fileCount":27,"integrity":"sha512-a4gj3f61T7Lw/X/N4Ud35GnKGMwYn60OUbx6r/fm+VE05MkNggjtqP+vGtO/ytpm5CYZtODLfmlmHOwLUhFuzg==","signatures":[{"sig":"MEQCIEjxKEERLKDRq31cD5TkkyiEC/pxcgFAyLIHdyzKAMLdAiA5jJvN8aGiZjT/nSw4omtD5RADaRrL1UcuAWVKz+Luzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHVItlkG6XOxh57iaFZBIqD2gRsYCbUAjZjysqQojhqcAiEAxILQUGCSMUxbXQJvmD2HCjt2Fr3d6tlMBCVi0C51Q5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":309477},"type":"module","gitHead":"7cf6ae914a2f8e5a872f21d0e7ff0e03451e68ab","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.18_1790457428216_0.10281940147202429","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"pi-better-background-tasks","version":"0.2.19","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.19","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"2dbfa7b2852ec0b7287b6af5d6eb03f5234353fc","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.19.tgz","fileCount":27,"integrity":"sha512-eonnlB5+LxigOMVb660qhJv4wA1Ch3vIF/FO7B6kiSE0pyjrQLfQJPiRudetue1fTu/7Y5Un65Y76o1eNcZAeA==","signatures":[{"sig":"MEUCIQCpp+L63W4Ag9RbqcBn5UMi80dgIUh3+A6nb6Uy3LlUiQIgahZdzchYgkTDnI/to+bag78aNnKq3853N3w658hM3b0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDMHSzeEnqSIBVMkMIBVyHAYMopGHwv5wuswG67vxidLgIhAP3j3/6Lb5uG14adrqyKzYqeQYjYaB1vs1HFc2b8b2g0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316785},"type":"module","gitHead":"90839c3680167b9556aa308d17a5c70153f14a82","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.19_1790464734216_0.17407970234769055","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"pi-better-background-tasks","version":"0.2.20","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.2.20","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"93565b7a1122726f034438659e96315df0b1859c","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.2.20.tgz","fileCount":27,"integrity":"sha512-SbpAv7nsjyLAUtQ6qiw9Q8/jF0mFml+DjtQ+9T3zlQjNqvY4om5iieZ8i/3lNz9NeJ5lysHYu8aTxxmjxjlPiA==","signatures":[{"sig":"MEYCIQDvePzGRaT0gMh6lXHuc8p310xxtyjIp65bN9wAFFAyeAIhAIEaVH4HVNdA5miY3VadXRumC3NFmKzxwfQ7VVnWiYSx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFmXZaiTeLBqEYmxIiWMkwrc10yUS9aD4zoDb8dP+NuFAiEAxxJ9qNIlzlkGsrTV0j+z4F79BUhDQfDJsJ/tu7dnY6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.2.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316914},"type":"module","gitHead":"0f1f84c18d6df76cce7a4dcdfc2a276a4015abb9","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.2.20_1790474637816_0.48970909879636926","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"pi-better-background-tasks","version":"0.3.0","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.3.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"a2212abbddffd295fafb2bc4a53a22d57708884d","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.3.0.tgz","fileCount":28,"integrity":"sha512-fXVc6koPh+oCLhIEJugvZGLVoyT1GmrnRMwOr2JWJEYAsbH3PX4V8w4UCZrz1MuaCKvJVBsGj/9MgPZBP7pCZA==","signatures":[{"sig":"MEUCIQDhKezp2sr5aJa+pcG7yqPcf7KhmOFrRA49ky3LyhAYNgIgRQqIXgtX06SzB2+bdvIozuMogkW8zV//ScsN5IySmPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGuyF2tgYXdOe4D08XxILGUsGmzgpxxqmdU66Ws18S6bAiEAu8/A0ndJGunpxHCy+ntl97nmDuKe+gmgR4iY5aLy05Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434326},"type":"module","gitHead":"bc5599b5776be3f043d3a3c14772d516efeef5b4","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.3.0_1790496316234_0.20685956169733477","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"pi-better-background-tasks","version":"0.4.0","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.4.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"792c0252191de035ceda1a17b3789ce59f27cdc9","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.4.0.tgz","fileCount":28,"integrity":"sha512-CQCJaqpk6OyuCIqoibMJGsgpScmuU80sR8y/Ee87wFHkqQ2PBQ9Kq+yxllTvgzpZw4kqOTuGEeVVrsuIKbyGUQ==","signatures":[{"sig":"MEYCIQDbOfcpobVTxW0IXWX5nAunJmE0ljOo034X1C+0QImdpwIhAJgY40JFNhICcFiJ2E8NdI5LD/ceNjONlQ5eWSOyNp0n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIACWSj1d6p35OqVx+nNNW10iytXNiIDgd6vUL8b983fcAiEApcKpTXmHohsmoYoqbotaQUfqLv9R02sn4Kpp71CuRBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514527},"type":"module","gitHead":"d79cd6d6cfee2e361ef8fc87de2db72fa345887c","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.4.0_1790520302896_0.7700547028024118","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"pi-better-background-tasks","version":"0.5.0","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.5.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"3188d3fb5a5aa07ad74940b3cb1ce18a79e944bc","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.5.0.tgz","fileCount":28,"integrity":"sha512-F6yjz6e3KchF483AJ+V65s3pxiZ/jUOyGu5dXEKzXFnSC+Sd6xDDJFoZU/YeUdjM003RFuW9x+6huGoRDKnDaw==","signatures":[{"sig":"MEYCIQCaiPWK8KaMqH0tKWrVvt+Iu+xxWzaTkhVyUS3/5u3WLgIhAIW+CaFELlJPNEeOE/9/Va7V5iaTH2t+oVAQhniX4kzH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGrS+sPE82IWlPydOubMfr9o/F9zm0kS8W0GWs/IBh68AiAxeLwzxF5c+02LkniJhessdTbfoVjN3yck5L15OVqJ5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524199},"type":"module","gitHead":"2bc7c1c9e7857126aa5de7953dfca547db05c3e3","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.5.0_1790557313630_0.7228839482698648","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"pi-better-background-tasks","version":"0.6.0","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.6.0","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"24ca5df3577e7fea2caa917445a0ea1188a6f56d","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.6.0.tgz","fileCount":28,"integrity":"sha512-bunyztzZf8/UyHXyDC3zq3XhlmrtHL4kV2Cx8uFPldQGXCVvMvu2LmVQg5Pb8Q709lhqunZj3eZ9QOj+OSv6nw==","signatures":[{"sig":"MEYCIQDxE9QOwkoZ0IAqMlQjQxw8o9jfvCM1cukGIMuY3sdThQIhAM7Ivua6eu9UBq2M0foObg9+17ZPIGuafQaluS27Vmvq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGo+Hp4856GsaVYf1jVoc8LPlwedpis+iNBQ79h4IFD2AiEAzeOplpqCcheObdVE/aGSH+IoOU6TY8LR1iHLS4TcAkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553287},"type":"module","gitHead":"cdd913dc5d420ba9773bfa95cf2de88c0cbf5b49","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.6.0_1790567948739_0.9042700250382314","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"pi-better-background-tasks","version":"0.6.1","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.6.1","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"21e3393ccda981cdcc152b80e266558ac3dd6d7f","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.6.1.tgz","fileCount":28,"integrity":"sha512-6vQkvDfYUFkIn8KxjDDOE4dhK7eSBiKQzLp7Q8ooFZDiqNUWmNNO3xQjX5VZNXgz1TMbGjzQTfiieqF8wetq8g==","signatures":[{"sig":"MEQCIEEv0YZMOhxF/AQOTWmGTsYPZ2m8gk8K2Z3VH934gZsrAiB0ZKPewlRZomAz2ECDr+EEC8pJw8KXdC+/KljYUGk+uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAZFSuVHHQ7VeUMeGGdphqRI+WTkB5gv3VJItaL7buZjAiBp4mSegpKI9TsiZKyZQNOtYlrweZzMdV11KmDqI6ljiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":551939},"type":"module","gitHead":"090eb5cb33680ab0f6f9b0ce5ae225025629ab43","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.6.1_1790595566024_0.8589240944863932","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"pi-better-background-tasks","version":"0.6.2","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.6.2","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"8e92e2594af369b433d94356157c3aec2a36a317","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.6.2.tgz","fileCount":28,"integrity":"sha512-opLvNAWWh0YTTn1qDjQpRTNs8CBFwOJ2Q05Jd9tu/bCEuAfq6cnUqtGnobtzR8eT8IlO7h/Rf4iC0qmlOkF/4A==","signatures":[{"sig":"MEQCIHiK5snD4GYhjPtNvK+7/vNvQ1Tkfn9mG+2lg+vJEMKqAiBTtO6LsYvd6x06nr8kEO5+M5ju5xUS3xofEfPlCAIOig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDHd6L61TV4uf1ILOXF0PNWuGRLM7Bo0JUBBmfta6HtGwIgWLr1rNw5CYmF3oNMMPvXqIWWHrGDwwCBzWrjf3ln6iM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552387},"type":"module","gitHead":"9cc208039426ae78501dff76d9ae421bbb37334a","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.1.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.6.2_1790702180563_0.26506841750642574","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"pi-better-background-tasks","version":"0.6.3","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"license":"MIT","_id":"pi-better-background-tasks@0.6.3","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"dist":{"shasum":"12bf9c53c6aed870259cefdd741f06f8737f3e79","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.6.3.tgz","fileCount":28,"integrity":"sha512-11rJaj1NmE5tQU87vME5nEZJWFQfey1UMbNbKlMc7E93flKbYTd1gwuT017yyiQO9Nt1qR3LG2rkOp1qHWnOTQ==","signatures":[{"sig":"MEUCIQDWxDl3LXukzOQd5kQYMntEtse4qJXFBREQxmlHsaAbxgIgYoVLIRBAS46GHtTOvAKT/mpuEQwGbPGmAyDQ8YQGkZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0XDM0/B6Jqj40KOTZs1NEr62AniH83ale5ELnx0hY9AIgGksKiQt+Hp82fMNBE12zbaf5IDOikGrrzDQ4PEFg7RI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552944},"type":"module","gitHead":"5097f9d4ea76b4219fe90747ee5a174ffd31addd","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5e6be71d-6113-493a-a4fc-50a1aea01487"}},"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.2.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-better-background-tasks_0.6.3_1790904773040_0.3067255475036903","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"pi":{"image":"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png","extensions":["./src/index.ts"]},"_id":"pi-better-background-tasks@0.6.4","bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"dist":{"shasum":"90c6701f40572b18f82207e021877db0e96e3e1c","tarball":"https://registry.npmjs.org/pi-better-background-tasks/-/pi-better-background-tasks-0.6.4.tgz","fileCount":28,"integrity":"sha512-a8/HZp+p0Ub/2PO+t4yPuWy0TvfzodaupgENrshhPLAg4n7jq4z4g79VcpvEM+TD6Ju36pcaqgYtVjuMbtrwvg==","signatures":[{"sig":"MEUCIDCMuLZunEUKrIamVzV9MARi8iA4M03Jh3s4cacTfwe9AiEA7GYSyF60xE+dT6qak8Kc7EbZNfFRZeaMzP1SB/bLTA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCu+oMwaeHwIwORjivypUe8YvQHODjEN9qeRri0vxZ8EgIgEge7bmPBqfUegg+B3UidjgZe3x/dT+21w4imYk8Rw60="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-better-background-tasks@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555574},"name":"pi-better-background-tasks","type":"module","gitHead":"5843a17041d521309f8b171b47dc72fb7e976be5","license":"MIT","scripts":{"test":"vitest run","prepack":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","pretest":"node ../../scripts/sync-shared-log-utils.mjs && node ../../scripts/sync-shared-ssh-core.mjs && node ../../scripts/sync-shared-sandbox-core.mjs","test:e2e":"vitest run src/e2e.test.ts","test:unit":"vitest run src/conditions.test.ts src/runtime.test.ts","typecheck":"tsc --noEmit","test:golden":"vitest run src/golden-path.test.ts","pretypecheck":"node ../../scripts/sync-shared-sandbox-core.mjs","test:sandbox":"vitest run src/sandbox.test.ts src/sandbox-kernel.test.ts","test:integration":"npm run test:e2e && npm run test:golden","test:cross-session":"vitest run src/e2e.test.ts -t \"different session\""},"version":"0.6.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5e6be71d-6113-493a-a4fc-50a1aea01487"}},"homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"_npmVersion":"12.2.0","description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","directories":{},"maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typebox":"^1.1.38","typescript":"^5.7.0","@types/node":"^22.10.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-better-background-tasks_0.6.4_1791111604036_0.3154044293239575"}}},"time":{"created":"2026-07-29T16:58:44.060Z","modified":"2026-10-04T11:00:04.493Z","0.1.0":"2026-07-29T16:58:44.373Z","0.1.1":"2026-07-30T01:54:16.522Z","0.1.2":"2026-07-30T05:24:06.605Z","0.1.3":"2026-07-30T06:17:52.504Z","0.1.4":"2026-07-30T07:04:45.611Z","0.1.5":"2026-07-30T09:13:33.446Z","0.1.6":"2026-07-30T15:25:37.471Z","0.1.7":"2026-07-31T07:45:49.996Z","0.1.8":"2026-07-31T08:37:25.846Z","0.1.9":"2026-07-31T12:39:39.971Z","0.1.10":"2026-07-31T13:04:28.202Z","0.1.12":"2026-08-02T02:07:43.709Z","0.1.13":"2026-08-02T05:47:04.907Z","0.1.14":"2026-08-02T05:56:44.002Z","0.1.15":"2026-08-04T00:39:48.874Z","0.1.16":"2026-08-11T05:54:36.485Z","0.1.17":"2026-08-12T16:59:45.705Z","0.1.18":"2026-08-14T11:04:00.423Z","0.2.0":"2026-08-16T18:02:06.103Z","0.2.1":"2026-08-17T10:39:10.713Z","0.2.2":"2026-08-17T11:22:35.560Z","0.2.3":"2026-08-18T09:04:31.507Z","0.2.4":"2026-08-21T15:33:18.764Z","0.2.5":"2026-08-21T15:42:23.723Z","0.2.6":"2026-08-23T14:10:40.510Z","0.2.7":"2026-09-02T07:02:57.156Z","0.2.8":"2026-09-03T09:23:50.272Z","0.2.9":"2026-09-05T14:26:02.981Z","0.2.10":"2026-09-09T18:47:18.252Z","0.2.11":"2026-09-12T15:00:30.597Z","0.2.12":"2026-09-14T10:20:40.570Z","0.2.13":"2026-09-17T02:13:50.691Z","0.2.14":"2026-09-22T12:05:22.370Z","0.2.15":"2026-09-23T15:26:55.934Z","0.2.16":"2026-09-25T09:27:09.029Z","0.2.17":"2026-09-26T16:21:21.452Z","0.2.18":"2026-09-26T21:17:08.341Z","0.2.19":"2026-09-26T23:18:54.295Z","0.2.20":"2026-09-27T02:03:57.902Z","0.3.0":"2026-09-27T08:05:16.312Z","0.4.0":"2026-09-27T14:45:02.994Z","0.5.0":"2026-09-28T01:01:53.724Z","0.6.0":"2026-09-28T03:59:08.825Z","0.6.1":"2026-09-28T11:39:26.125Z","0.6.2":"2026-09-29T17:16:20.668Z","0.6.3":"2026-10-02T01:32:53.164Z","0.6.4":"2026-10-04T11:00:04.160Z"},"bugs":{"url":"https://github.com/1aboveio/pi-better-harness/issues"},"license":"MIT","homepage":"https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-background-tasks#readme","keywords":["pi-package","pi-extension","pi","background-tasks","watchers"],"repository":{"url":"git+https://github.com/1aboveio/pi-better-harness.git","type":"git","directory":"packages/pi-better-background-tasks"},"description":"Pi extension for durable background shell tasks, watchers, logs, and status inspection.","maintainers":[{"name":"exoulster","email":"exoulster@gmail.com"}],"readme":"# pi-better-background-tasks\n\n`pi-better-background-tasks` is a Pi extension for durable background shell tasks, watchers, logs, and status inspection.\n\n## Quick Answer\n\nUse `pi-better-background-tasks` when a command should keep running while the foreground Pi session stays free. It is best for dev servers, long scripts, queue watchers, deploy checks, log tails, and other command-driven work.\n\n## Screenshots\n\n<p><img src=\"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/pi-better-background-tasks.png\" alt=\"pi-better-background-tasks rendered in Pi\" width=\"49%\" /><img src=\"https://raw.githubusercontent.com/1aboveio/pi-better-harness/main/docs/images/package-gallery/overview/pi-better-background-tasks.png\" alt=\"pi-better-background-tasks package overview\" width=\"49%\" /></p>\n\n## Core Features\n\n- Start long-running commands without blocking the current turn.\n- Watch commands until success, failure, or timeout.\n- Keep task metadata and logs available across reloads.\n- Retain completed task artifacts for seven days, then remove them during rate-limited maintenance.\n- Show active work in Pi's background-work navigator.\n- Flag running tasks with no observable output or completed poll as stalled.\n- Confine local task writes to the project directory when `pi-better-sandbox` is enabled.\n\n## Write Sandbox\n\nWhen [`pi-better-sandbox`](https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-sandbox#readme)\nis installed and enabled, every **local** task captures\nthe effective foreground policy at launch and runs under the platform's write\nsandbox: reads and network stay unrestricted, writes are confined to the\ncanonical project directory, and denied paths stay denied.\n\nThe policy is captured once, when the task starts. The foreground sandbox is\ninactive by default, so local tasks ordinarily launch unconfined. A later\n`/sandbox on`, `/sandbox off`, `/sandbox default on|off`, or a deny-rule change\nreaches tasks launched after it; a task\nalready running — including a watcher resumed in a later Pi session — keeps the\npolicy it started with.\n\nIf the foreground sandbox reports `unavailable` or `failed`, a local launch is\nrefused with an explanation instead of running unconfined. `/sandbox off` is the\ndeliberate way to run local tasks unsandboxed.\n\nA task follows Main's permission profile. With Main's Outside project = Write, the\ntask writes across home and temp but can remove files outside the project only in\ntemp, hidden home directories, and worktree folders (see\n[pi-better-sandbox](https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-sandbox#readme)).\nOn macOS, a task launched with Outside project = Write or Write & delete starts an\nAPFS local snapshot (`tmutil localsnapshot`) in the background as a recovery aid.\nA failed snapshot is noted in the task log and never blocks the task.\n\nStructured remote SSH tasks are unaffected: the foreground sandbox describes this\nmachine, and remote work keeps its existing remote semantics. Without\n`pi-better-sandbox` installed, local tasks behave exactly as they always have.\n\nReads and network access are never restricted; only writes are. Pi's own\nprocess, `pi.exec` calls, and unrelated third-party extension code stay outside\nthe guarantee, and confinement is per surface: a confined process on another\nfirst-party surface can still write this one's task registry. Installing\n[`pi-better-harness`](https://github.com/1aboveio/pi-better-harness/tree/main/packages/pi-better-harness#readme)\ninstalls the sandbox extension, but leaves foreground tools and local background\ntasks inactive until a human opts in.\n\n## Remote SSH\n\nFor short synchronous remote commands that should return output in the current\nturn, install `pi-better-ssh` and use `remote_bash`. Use background tasks for\nlong-running or durable remote jobs and asynchronous health watches.\n\nPrefer structured `ssh` fields over hand-written `ssh` command lines. A remote\nspawn uses a durable tmux session by default, while a remote watch opens one\ndirect SSH poll per interval and does not require tmux. The package keeps the\nsame local metadata, logs, terminal statuses, callbacks, and `/reload` recovery\nfor both.\n\n```json\n{\n  \"name\": \"remote build\",\n  \"command\": \"npm run build\",\n  \"ssh\": { \"host\": \"build.example\", \"user\": \"deploy\" },\n  \"remote\": { \"workdir\": \"/srv/app\" },\n  \"timeout_seconds\": 1800\n}\n```\n\nTmux-backed spawn can install tmux non-interactively when the remote host allows\nit and fails closed with copy-pasteable setup guidance when it cannot. Set\n`remote.session=direct` only as an explicit escape hatch for short jobs: stop or\ntimeout can terminate the local SSH client but the remote process may still be\nrunning. See the detailed usage notes for bootstrap policy, watch conditions,\ntimeouts, and v1 non-goals.\n\n## Reloads and session switches\n\nTasks belong to the Pi session that started them. After `/reload`, the same\nsession picks every task back up: watches keep polling, remote tmux output keeps\nbeing collected, and a task that finished during the reload (or exits later) gets\nits completion callback exactly once.\n\nAfter `/new`, `/resume`, fork, or switching to another session, the previous\nsession's tasks keep running but are paused from Pi's side: watches do not poll,\nremote tmux output is not collected, and `timeout_seconds` deadlines are not\nenforced until that session is active again. An overdue deadline is enforced as\nsoon as the session resumes, so a timeout can land late but is never skipped.\nWhile the same Pi process stays open, a local process that exits in the meantime\nis recorded as finished, and its callback is delivered when its session resumes.\nIf you quit Pi first, nothing records that exit: when the session is resumed in a\nnew Pi process, a task whose process is gone is marked lost.\n\n## Watch conditions\n\nJSON conditions require a root-prefixed path, such as `$.status` or\n`$.terminalFailure`; bare keys such as `status` are rejected before the command\nstarts. For a command that emits `{\"status\":\"FAILURE\",\"terminalFailure\":true}`,\nuse:\n\n```json\n{\n  \"success_when\": { \"type\": \"json_path_equals\", \"path\": \"$.status\", \"value\": \"SUCCESS\" },\n  \"failure_when\": { \"type\": \"json_path_equals\", \"path\": \"$.terminalFailure\", \"value\": true }\n}\n```\n\nPersisted watchers with unsupported paths fail explicitly on their next poll.\nMissing JSON fields or invalid JSON output remain retryable; task status shows\nthe condition evaluation error until a subsequent poll recovers. Keep a finite\ntimeout to bound watches whose output never becomes evaluable.\n\n### Writing a watch check\n\nA check that swallows its own errors reports \"still pending\" forever. Keep\nfailures visible:\n\n- Do not end the check with `exit 0` or `|| true`. A check that exits non-zero\n  is recorded as a failure and escalates to the parent session.\n- Map an unknown or unparseable state to failure (a non-zero exit), not to\n  pending.\n- Prefer structured output parsed with `jq -e` over hand-written format\n  strings. `jq -e` exits non-zero when the field is missing, so a broken query\n  shows up at once.\n\nFor example, a Cloud Run job execution:\n\n```sh\nstatus=$(gcloud run jobs executions describe \"$EXECUTION\" --region=\"$REGION\" --format=json \\\n  | jq -er '.status.conditions[] | select(.type == \"Completed\") | .status') || exit 2\ncase \"$status\" in\n  True) echo TERMINAL_SUCCESS ;;\n  False) echo TERMINAL_FAILURE ;;\n  Unknown) echo STILL_RUNNING ;;\n  *) echo \"unexpected Completed status: $status\" >&2; exit 2 ;;\nesac\n```\n\nwith `success_when: {type: \"stdout_contains\", value: \"TERMINAL_SUCCESS\"}` and\n`failure_when: {type: \"stdout_contains\", value: \"TERMINAL_FAILURE\"}`.\n\n`bg_task_watch` (and `bg_task` with `action: \"watch\"`) waits up to 15 seconds\nfor the first check and puts its exit code, the newest few lines of stderr and\nof stdout in the tool result, so a broken check is visible at launch. When the\nresult is short on room, stdout is cut first. If the first check is still\nrunning after 15 seconds, or you press Esc during the wait, the result says so\nat once and the watch continues.\n\nA running watch also guards against a blind check. When 3 checks in a row exit\n0, write to stderr, and match neither `success_when` nor `failure_when`, the\nwatch records one incident that needs action, with the latest stderr line, and\nwakes the parent session once. The watch keeps running. A later check with\nempty stderr recovers the incident whatever its exit code (a non-zero or\nfailed check is then recorded as its own incident), and so does a check that\nmatches a condition. A non-zero check that writes stderr restarts the count but\nleaves the incident open. A clean pending check (exit 0, no stderr) never\ncounts.\n\nSome tools write to stderr on success (`gcloud … list` prints \"Listed 0\nitems.\", and kubectl and npm print warnings), which can raise a false alarm.\nIf the stderr is expected, redirect it (`2>/dev/null`) or set\n`blind_checks: 0`. Set `blind_checks` to another number to change the count.\n\n## Install\n\n```sh\npi install npm:pi-better-background-tasks\n```\n\nTry it for one run:\n\n```sh\npi -e npm:pi-better-background-tasks\n```\n\n## Failure observations\n\nTask lifecycle and failure evidence are reported separately. A watch can remain\n`running` while a poll or condition evaluator has failed. Status, list, log, and\nnavigator views show unresolved observations before ordinary progress. A success\nmatch cannot finish a watch while evaluation of its failure condition is broken;\na definite failure match still terminates it.\n\nObservations live in `failures.jsonl` beside task metadata. Recovery requires a\nsuccessful evaluation of the same operation. Repeated failures are grouped, and\nan explicitly configured nonzero success exit is treated as expected. Verbose\nstatus includes observation details and the journal path. Corrupt or unreadable\nevidence is reported as **observation incomplete**.\n\nPass `operation_id` and `expected_exit_codes` on `bg_task_spawn`, `bg_task_watch`,\nor `bg_task` to declare intent before launch; a malformed declaration starts\nnothing. An exit code in `expected_exit_codes` (distinct integers 1-255, such as\n`[1]` for a no-match probe; a `0` is ignored) is recorded as an **Expected failure** that needs no\naction; signals and timeouts never are. When a task with an `operation_id`\nsucceeds, earlier failed tasks with the same `operation_id`, kind, cwd, SSH\ntarget, and owner (the same session id, or for sessionless tasks the same Pi\nprocess) recover, so a retry with a changed command or timeout\ncloses the original incident. Observation gaps are never recovered this way, and\nno command text is compared.\n\nTask failures are labeled **Action required**; the shared labels also include\n**Expected failure** and **Observation incomplete**. Unresolved running failures\nbecome eligible for attention after 60 seconds; observation gaps are eligible\nimmediately. Each notification lists only the incidents it is delivering;\nearlier ones are counted, not repeated. Terminal failures use the normal\ncompletion notification. A delivery receipt is stored only after handoff;\nnotification delivery does not clear the failure. `callback:false` stays quiet\nwhile all inspection surfaces retain the evidence. Journals follow the task's\nexisting retention and explicit-clear behavior.\n\nStatus, log, and list count and list only failures that need action (**Action\nrequired** and **Observation incomplete**). Expected and closed failures are one\nhistory count line with no incident cursor; pass `history: true` to\n`bg_task_status` (or `action:status`) to page them. Incident rows are compact\n(120-byte excerpt, evidence such as `output.log#poll=3`); the raw log keeps the\nfull evidence path.\n\n## When To Use\n\nUse this package for shell commands that need logs, status, cancellation, or completion notifications across a Pi turn.\n\nDo not use it for short commands where the foreground session should wait for the result directly; use `remote_bash` from `pi-better-ssh` instead.\n\n## Compatibility\n\n| Requirement | Support |\n|-------------|---------|\n| Pi | Required |\n| Install method | `pi install npm:pi-better-background-tasks` |\n| Development runtime | Node.js 22+ |\n\n## Update Or Remove\n\n```sh\npi update npm:pi-better-background-tasks\npi remove npm:pi-better-background-tasks\n```\n\n## More Detail\n\n- Repository: https://github.com/1aboveio/pi-better-harness\n- Detailed notes: https://github.com/1aboveio/pi-better-harness/blob/main/packages/pi-better-background-tasks/docs/usage.md\n- License: https://github.com/1aboveio/pi-better-harness/blob/main/LICENSE\n","readmeFilename":"README.md"}