{"_id":"pi-plan-task","_rev":"30-3ae3f4553cdbca3c986b5f50dd091a66","name":"pi-plan-task","dist-tags":{"latest":"5.0.7"},"versions":{"1.0.0":{"name":"pi-plan-task","version":"1.0.0","keywords":["pi-package"],"license":"MIT","_id":"pi-plan-task@1.0.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"faa68b2595f23c377f33ce8962bbc97f8a33e091","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-1.0.0.tgz","fileCount":22,"integrity":"sha512-Vh6UwbT95PKD9eI0XpxtOPHTgbkz553zcQ43GEOVqwZfTkfBjMC7M/KQruceKP+IXoEBwmqvWb9hilUZ4X7QRQ==","signatures":[{"sig":"MEQCIBCHrCiP+STqGny1mudv7Gs/6Y5AKknf6bDpGw1zAsblAiAa+TfW6NHZu0f3OMyIbMhegN7g2CxMuyQcPv6IjtiXIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73074},"type":"module","_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, /goal, /tasks.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_1.0.0_1787116224494_0.21806589711488034","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"pi-plan-task","version":"1.0.1","keywords":["pi-package"],"license":"MIT","_id":"pi-plan-task@1.0.1","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"77ccd82bf54c3cfc4ab0e9c66b7bb41b9a28ac0c","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-1.0.1.tgz","fileCount":22,"integrity":"sha512-gQ6Bi66XpojnP38SNTIpMJ7dCnOYw1RXpAiiOAOty7xOi2hOGuFwpmpZvYySI14vfHTkzIaBBZxKQ/KSYqgtKA==","signatures":[{"sig":"MEUCIQDyW35Xxl+Wd/LBJSogwyN7JbzIf3tfq3QB54QlakrlTQIgOhCM/4jsq0fQHxqqyG/OVcmqXtTFpK9/RK9K35A55WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73081},"type":"module","_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, /goal, /tasks.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_1.0.1_1787116352892_0.7039139219509492","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"pi-plan-task","version":"1.0.2","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@1.0.2","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"8dfba91f06cd9ae0e96848b4f64017952b70f1b4","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-1.0.2.tgz","fileCount":22,"integrity":"sha512-rO9M0gyTYWj483jW1cbSmbYRbMy5/baI/COHfHnr+T7FPNKA3yEjwpUB2aEOgCUL/bB8KBsn6F0lZvmlQQMacQ==","signatures":[{"sig":"MEUCIBPybbhVibY7mMojoR5UWwzZZR+xlcbcPPCKkGk+e77DAiEAzYe2njGZcsrL2aFqiAyQpxmjLUitQvrUHoqelZM67jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68112},"type":"module","_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, /goal, and /tasks.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_1.0.2_1787558151051_0.5066230201878776","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"pi-plan-task","version":"1.1.0","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@1.1.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"fb31df181be8728abda122178cd5559803f584dc","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-1.1.0.tgz","fileCount":22,"integrity":"sha512-QQ0jd50NjRggo6KXHCYFlx3MLTXM79lAjSTwC0g3yQ3hr5NV3uaKSyEqqwgXH3acTsEGwCjzM4P2nN9b0g14fQ==","signatures":[{"sig":"MEUCICzVieVKB+Y7V1MZgLlR7SKgnojsWpjw7avh79IxZoxvAiEA5J+V5oMu6XCDtXetw5DgEzkGfo8wYuDS4FtO16Fcbrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70502},"type":"module","_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, /goal, and /tasks.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_1.1.0_1787732252026_0.9997316451880816","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"pi-plan-task","version":"3.0.1","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@3.0.1","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"1e1e8a3d80a3d52155d010ac540d2f639f1276b3","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-3.0.1.tgz","fileCount":42,"integrity":"sha512-oFOG0br7G6MITGrpfgI4hRKA0LD+c4s4VbmlB6oZtDPjroBW+jKRBOwo68MlXF1VDuSYgCZxlWwHkrPoKmOmYw==","signatures":[{"sig":"MEYCIQDwr7Q9ppLiv60/5ltKPQYG3FB5PpcJsmGCleS98bgjGQIhAM75Xge27UjIuwrMFpRN7JBmkI7llOWwk/33BsdfAJub","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193435},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_3.0.1_1788065431167_0.5488458365304147","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"pi-plan-task","version":"4.0.0","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.0.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"09d5b2ccb76986194073ab0dbf1398dc3248031f","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.0.0.tgz","fileCount":42,"integrity":"sha512-X1Z0zyobD0Ufagvw2kP+dQQGK1uyRbQ128jHN6+E7VH3Z5+DINWouLDyMYaE5HS2JTLbjKG4uqaol05ops/5iA==","signatures":[{"sig":"MEYCIQDBQRY7Mc4XMECxwvRmg9ZRChbRY59yxIK3mck+Ol3MMgIhAP3dfsJDGcLrXYmxiTDYhnsDUqnsGE/oDzOMUnIP5/l1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184702},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.0.0_1788075612625_0.6734740725669282","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"pi-plan-task","version":"4.1.0","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"be3775675569090c3d00d00147dadff923c5b757","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.0.tgz","fileCount":48,"integrity":"sha512-1aurntkqYHD9Abo18468FUesLQDoO1RtquSJsSIobGL6OA8+MW9kWBpmjEwXbXwBn+nGMxTNKRzP7NkwUsYrzw==","signatures":[{"sig":"MEQCIB1637JLj2bLuZnohz5BghijRd6+O0j1Ky1JwW+18sgcAiAEwNV0p73YLXAMjREFKcWCtI3U/zQ2hiinCK2d2tVtow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231307},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.0_1788110568444_0.30357651363683225","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"pi-plan-task","version":"4.1.1","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.1","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"218279ff76a78e352097cc7fe3eda3434b76ec85","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.1.tgz","fileCount":48,"integrity":"sha512-T+PPGyMOAQfpAMeR3cjiKCnuKtB/gpV91nC3EaBUHmpzv/431BJNmtFq2Mj7RswXUcQlUucqgdh6zT/PD1WxeA==","signatures":[{"sig":"MEUCIEt7Kk+qaGbFnO9VFRJTSE+W98+CoHNw434GJkUWwb5VAiEAm54O7sUtah98uX5/XsFQvYCVfJUkWfam8RyKLRHwlqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231431},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.1_1788112276872_0.8872033496915159","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"pi-plan-task","version":"4.1.2","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.2","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"7843b9161a55a6444a48bad895cde9251beeeb8b","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.2.tgz","fileCount":48,"integrity":"sha512-Qxj6033Fkmy52bgueyKg8E7WFK1vwjoIlhgoD4t6cZuqC9Zu7HsxpkZ0jrnCevFRGAWulZRQFSN4Njx3PGEO6Q==","signatures":[{"sig":"MEUCIQDMfrk9ozNINGz3l/Z5T/lBATKPUS6L0Hsvu3J8qJckewIgFyU1HSRsjOJfdEsWovlvx0zAbbh0aP29pcp07JROHQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230677},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.2_1788123674865_0.9563523225248161","host":"s3://npm-registry-packages-npm-production"}},"4.1.3":{"name":"pi-plan-task","version":"4.1.3","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.3","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"c94e36d44f4c0547ac17cc917aabd08366fcdc15","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.3.tgz","fileCount":48,"integrity":"sha512-TrNy9RFxrnNw6+nxizCfInogNdWA2Uihd/hGYAhIHtGNC4dsELM9pNbA7O2S14br4GS48uaxU4gnV6OtL/2eAg==","signatures":[{"sig":"MEUCIHBXzr9Fdr1GakzxwvOSZ1XfRaCCB+ufP3njBjWqyAz7AiEAvctBY+slmrvQLZvD3rxqW2y7BF7lXK1n6mnMQcarxOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228709},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.3_1788159421173_0.9922811050955123","host":"s3://npm-registry-packages-npm-production"}},"4.1.4":{"name":"pi-plan-task","version":"4.1.4","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.4","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"fe20dd2ec6bed31b0c4d9db1695c91cd0d01a3f0","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.4.tgz","fileCount":48,"integrity":"sha512-lWI/AQ3qf1rbN3Te2dmRTe+ZJ4U5I52DvpvjivVRi1COCxMiu9SpLQA8a4GRAGPsrgUntTL2ZeWl/8AcM5wuEw==","signatures":[{"sig":"MEUCIQC32wDKq1IHJTEDbg8h1VyT1auZaqec9BdK2Sw6pK15KgIgf0Mg5qeS2M+rPJMDEZBMVthAxG8v43rHgVnTISe38Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229789},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.4_1788254169030_0.8324409520407714","host":"s3://npm-registry-packages-npm-production"}},"4.1.5":{"name":"pi-plan-task","version":"4.1.5","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.5","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"0887171728f5be779c4506ab00fe89e16f1710f7","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.5.tgz","fileCount":48,"integrity":"sha512-xysLLy2wnEm+1E92r+A2YoEgLCMbEFoswhi7hXzkS1BBQ+IAKfsRiMNkDxeRNrKMSv4EypvfX7eNxICpK2/0HA==","signatures":[{"sig":"MEQCIEPxVBA5iMKOm/8eNkRYt1xArow6ZAyBW1brXY/M9EsWAiAYAV1MI2iQU+w+7s/3nnHUYdLvCNqFdd69yovYjFrTOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232575},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.5_1788266145031_0.5094392997856585","host":"s3://npm-registry-packages-npm-production"}},"4.1.6":{"name":"pi-plan-task","version":"4.1.6","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.6","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"e08b4d0bf9f1fbbbf1e4bdbac8da28da5b04d4f5","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.6.tgz","fileCount":48,"integrity":"sha512-OFiv2+03nK6R7CumNefnXD6JhVAT1TMxYur/IMfQGvbLi73Nze/mWln+ovY4ko0BJhfh9gLO0+hmIYN++j9xjw==","signatures":[{"sig":"MEUCIH1kX5zZR/LrjZq4+iyotpeYoEO8jLmg+km9GoHnf8KvAiEAwgl5lQvAZQmeOpWo3suvZOu77ohwkCC2dacesFcI7gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233476},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.6_1788278545378_0.7809608485652098","host":"s3://npm-registry-packages-npm-production"}},"4.1.7":{"name":"pi-plan-task","version":"4.1.7","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.7","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"a130b7b94f27140c8815c5c305d9e5fab44a83ce","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.7.tgz","fileCount":48,"integrity":"sha512-gVKCs4Q46/V4DqO/wG3vIkZMiNl47BgAwGe41pklN0qvEnijIYCPbr/x0+S+Q3BJczKXvVnMW271v7iRhOFUNA==","signatures":[{"sig":"MEQCIDVDUH+W9tXsICMBnzi1I+EwthoYOXngvbujlZg5H9X0AiB09kAQbglo3yKN1Fi191aLruHNJNYOWDA1LObxzxExDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236253},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.7_1788279838892_0.9919894910825757","host":"s3://npm-registry-packages-npm-production"}},"4.1.8":{"name":"pi-plan-task","version":"4.1.8","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.8","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"18e9274e6af930dd3abf0bb53bd78ab81d6f164c","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.8.tgz","fileCount":48,"integrity":"sha512-R8ZlCyQc0S6Cf+ou7G8dtkTuKmpaj5lvhwlCZahylUlhELCSwkSWhciUtkHW+/HfYl8AbQucGmL9VEYQOdCx+A==","signatures":[{"sig":"MEUCIGMRDfeudRN9tGY+RiBUmqcISYAjP46YmSv92mzYmoWyAiEA+wFu1McmaSnW1/H/6Q7v4AekxkOdooz9MaaD7DamodY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236178},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.8_1788282674805_0.23945999267901907","host":"s3://npm-registry-packages-npm-production"}},"4.1.9":{"name":"pi-plan-task","version":"4.1.9","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.1.9","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"c84cfc7a328c6ffb8b1c62340046bb88d9de4a38","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.1.9.tgz","fileCount":48,"integrity":"sha512-k2QQAZ2cniSi0qotGw1+mRt1Idd4nfw86/EjxVYDc2pwb47rwdnlUwZKF/RbEVEjb3UVe1uGXYfrsbAI21B7aw==","signatures":[{"sig":"MEYCIQDmmY8vhs7D4Fvz8RV7DIITRZJF/KUT2qSgEjk6a+5+RwIhAOEWdi3GweV9hFuOdGB/gY3A+Gc8tncwSdr0bGDyBRbA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236810},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /plan, /build, and /tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.1.9_1788332075702_0.9497078736839628","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"pi-plan-task","version":"4.2.0","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"9b1e63bfaaa78b4fffa8c325dad198fcb2fc7e7b","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.0.tgz","fileCount":48,"integrity":"sha512-yEkaBwbS96r0Q8y4cwxHGaHIJBJcUD4SlQAntoxXmiY2G4ljM68UOvb47oDt54SIeY6ATnOEWMdjFjjaw2Emaw==","signatures":[{"sig":"MEYCIQC9xujm2MMlbYHLjAnQ0U0iktJQvrTfc2Un3/qh8zrLXgIhAMa35uq53lndtx51sECCfsgKLl9uNi7A9LehJsG7ifzz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237266},"type":"module","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package: /pt-plan, /pt-build, and /pt-tasks with approved, resumable plan execution.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.0_1788333531786_0.16369567076741998","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"pi-plan-task","version":"4.2.1","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.1","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"9dc7b8db638ae3ee50a302cc56dbf5f0dc46c83e","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.1.tgz","fileCount":50,"integrity":"sha512-P41WrzP7xVWhIBXbORj7FnenE4OH9/EJLOGzbytWw0HcvgdbmRlMTYEc5muQZHkw9E+gJ2z/sS1oPreFXa+1vA==","signatures":[{"sig":"MEUCICuFFIlNoM155X03XREz9IaN5ws9CrAZJjJ3WL6aYPVTAiEA1syHSm2cm+wDMesd5HNfc61lAB9Vtq2/623OHeSlU+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283596},"type":"module","gitHead":"5b5f588e6ed4c7c43037c8a0fa0f125d40595840","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"11.16.0","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.1_1788437573110_0.5514340530178441","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"pi-plan-task","version":"4.2.2","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.2","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"f61e358b00da81f96e1bb94525d74361b8d3d73c","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.2.tgz","fileCount":50,"integrity":"sha512-ktYxGktTw6ZYTchpniQRl/zRayXzrcwr+RMEV0VBPxanI+MPegk3nWPcsk0s8DCYR14f8EjcTJUVdxOiCT04xA==","signatures":[{"sig":"MEYCIQDlun+F87awzBIBhEmElbYua6p4BhkrS/TDWBhnfM9fFQIhAL5+2eIYL/X7feT5ToUIRf3sQlJMGeKPNJt+83AzI+4R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284079},"type":"module","gitHead":"2c30505ae274a9b2f093e56c90a297d76e483fed","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.2_1788880788730_0.546790680155584","host":"s3://npm-registry-packages-npm-production"}},"4.2.3":{"name":"pi-plan-task","version":"4.2.3","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.3","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"363888955ea87067ac29199785acd66bb1792ed7","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.3.tgz","fileCount":50,"integrity":"sha512-P9heyhRS8nYcbwyR4m5n8FTvufGsWhHMsi1Zjvp747TtXzYjKM9964QyIZVjFyYqpRz9dXItg0Q18nK8N3xndQ==","signatures":[{"sig":"MEUCICjcm2+n9pQaj5K0zyoUgiZviM11oPZq+k67OFgJHi+wAiEAgs6ei4knCDUJRhZx4GMP0P6dJDrWLOpYeWkfcPK9JsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284134},"type":"module","gitHead":"5ac9462162176ae162942de49949cd86d1f7b76d","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.3_1788968870787_0.753645283301072","host":"s3://npm-registry-packages-npm-production"}},"4.2.4":{"name":"pi-plan-task","version":"4.2.4","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.4","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"21ad1a8253437e4d7953533b65fd6d58fb755289","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.4.tgz","fileCount":50,"integrity":"sha512-R+6cLQUqBn3cKSHFlr+QFIe8lQ69+VyZCyOIsIQlKI5cbu1BffyP77tZiJNdbCD/t1zJBwjZslzWcFPCDv6smA==","signatures":[{"sig":"MEYCIQCb/5aUHMUj3NJFlh6nHEujtHZqytQe1/UDgChI77Tj3gIhAL+qdZ9SyOy0CDq2p9CT6pR9BzHKCyDR4M/3oGHNTmI8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFrSMDcOzBdK2arT+mMVrnKKTFDIBX5AsER9desddNK3AiBePJkhn+HnyveV3JuYBpPXibABhBBbnKGt6P2cnZNxog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277680},"type":"module","gitHead":"5ac9462162176ae162942de49949cd86d1f7b76d","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.4_1789089449529_0.1307701265930863","host":"s3://npm-registry-packages-npm-production"}},"4.2.5":{"name":"pi-plan-task","version":"4.2.5","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.5","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"abc05140207e38fb586b75c3f74c13697f4f4957","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.5.tgz","fileCount":30,"integrity":"sha512-OjJ3ehFxK1lyPjsD+fLk3YpD7dm5Ij1dABpgudtePAlX7E8GOBYmM3nx7PwnwV2U0UCcrHy5lIwp/hraTvgSMw==","signatures":[{"sig":"MEUCICiH9olB0fS/dB7DUkV+gOJ3/wyDUnx4Akpo2n2+Jv8IAiEAv2xLMJ7FK31tMTbtP44xt2QhNC3Ik7vBsb/TUbrf8ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCSbXCvrPCJgmwBSsq1NkkHtKnwJ5gPQtX1hv/XsBFOZQIgQ6O9lw/tRr+AnLdbI7g46nk1W1G6PsaHqPytgZlHVUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208023},"type":"module","gitHead":"445242e70e434f62e814d277faa2be1b8b30cbfe","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.5_1789208115637_0.7976216959500704","host":"s3://npm-registry-packages-npm-production"}},"4.2.6":{"name":"pi-plan-task","version":"4.2.6","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.6","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"ae844a22c8d2d5697443d10e2c024598d2c6ce13","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.6.tgz","fileCount":30,"integrity":"sha512-50ne7UQ5ftZcxRcLNk1HlzlYzOqjxJdIVpKadH5ltxSsTH7nbxPQ/yhsn01B/K+E4hwZV/LXW1GUUprdMwrpVA==","signatures":[{"sig":"MEQCIH+03rB1wAeSJRzb1ZRvkzDqnCG/eIZyOiZFD/OnzW2uAiAUDpNIE200tNUs7C6VYu537q+fysTyfYOufono3ZFtsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2mkGHtsN0xHEXkrNxGakjTjWsM4fKGRqSV+mt9rMROwIgaY39PAPOVjJGcK9FSPSY+rWY5SlMr/RzSCfotbmXu/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207416},"type":"module","gitHead":"959b8fdfe859e40cfcee05019b54fb4f07cca9b5","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.6_1789293557734_0.0723386248697242","host":"s3://npm-registry-packages-npm-production"}},"4.2.7":{"name":"pi-plan-task","version":"4.2.7","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@4.2.7","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"d95343af6cd3f550f28e8e8b4d13d28d134ed214","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-4.2.7.tgz","fileCount":30,"integrity":"sha512-omuaD2GskrOOj5ZsD7sp/yHjX1Z68gLeG+m4UbcVRX8OybinJSL+Cv3Me5XWZf78I6URTCBDAkxoJciyfahdoQ==","signatures":[{"sig":"MEUCIFRynNGlJxYCVPeiHFTnJOD/lCw1MZvx6Cablec0dZofAiEA5Pa5Uis9+VSau34KRyts3Xr9xIde6BiwpvW1MQZIyO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2bKHBNlpO/EiSo3YDl9gVPyYVXIaCktY4M+MKhXeMtAIhAJHCvRfJxLtaAVI8lOTVoaDaVKCgXyZU+2Nj0DmzVrtn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209062},"type":"module","gitHead":"648594183a455d0cfc96f964ef24bf35d97f4b3f","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:@juicesharp/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable code and document workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@juicesharp/rpiv-ask-user-question":"^2.8.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*","@juicesharp/rpiv-ask-user-question":">=2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_4.2.7_1789297784070_0.6910292038035022","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"pi-plan-task","version":"5.0.0","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@5.0.0","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"c4b0f1b33c983e32f5ba72145b474c6c85b0280b","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.0.tgz","fileCount":31,"integrity":"sha512-dQHhZbDq5fVvUTQt3wfX22+v7KK1TXuyGmdUIU0JE9HJS40LsEiQE3r9H0mKQV8nADuZJyZfJGLJ9J2PAhrtNA==","signatures":[{"sig":"MEQCIFoUu6/c8vMsMMtWA2Hqs/9r4B4dPeNgvqwl2GAKMyhiAiBKcWX3ZCOatLGMje0G/reXsSIHY/+fuIiue72rpvdWwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB2dfOSIYNXWWHxtCDhb97CQYw6Vcw8AkWhadFlCOl6qAiEAsleP1nf05lY3AQNdSZz1k9U6BiQg6HzwPN+L9iX0ZYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263096},"type":"module","gitHead":"64392d045774972e022e35c550a01202b84defe9","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_5.0.0_1789465124302_0.3486674509844865","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"pi-plan-task","version":"5.0.1","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@5.0.1","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"50ba8a82d8df992b0edb8c8e7480828417d08e60","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.1.tgz","fileCount":31,"integrity":"sha512-Bllz4YYJsCRQeEJAXZJ307IopoD+p4d3ICcrQF5se5HOKXjPPgYfmHUOD5cClof1zsg6g/z/7/BHfnqAJdy9bQ==","signatures":[{"sig":"MEYCIQCqxNPhxxv7/hpIVpDcXbZKowj28MFn8BgwhLPlntivpwIhAJAAaod2JWLhZQS1G6wcCJls1iXdlndAF3sFyMrxxXxa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdi9DHUm8/Zsb963k75bfki+zbdAM7r2GEsiiWNddHQAIgYvqSrNOgvXwZkQXtBgY5H7BXf0PJaVX8INxUc+8UoY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263096},"type":"module","gitHead":"76ec60036d02619c414275f1a67a93c193649c44","scripts":{"test":"npx --yes tsx --test extensions/*.test.ts","bundle":"npx --yes esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"npx --yes tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_5.0.1_1789465612009_0.7747752445510105","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"pi-plan-task","version":"5.0.3","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@5.0.3","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"7b418305f241302bc4deaee144fc6c8d9e35d059","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.3.tgz","fileCount":35,"integrity":"sha512-sli3hFjY0wBo9JEFkk6bnWGLSbRh4c2Hewr7InAYGaCVbEnvGMLz/pf4dmyi/3UFhJoSmmxKED0p2OESNBT+Iw==","signatures":[{"sig":"MEYCIQD1FIqn3mhj9BEbcor0a9NCqcIKiDTMhxIMBAfEMHq9tAIhAJiq5cpOK892K3ldmiZrsHqCwUyks0tAhEdJQihU6RYp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGzucrD9XMSWozcjmi0+mHIPksjfHU8jv4rEDKgi19O8AiEA5Nn0ustjGvEKsyCBfrmZGXchh6fS7OYSdZiNZaIjkRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289764},"type":"module","gitHead":"829d2b0e9dc02b5ebd5a5a03c1e8aa370eef82df","scripts":{"test":"tsx --test extensions/*.test.ts","bundle":"esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","esbuild":"0.28.2","typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_5.0.3_1789562919934_0.10582292103035318","host":"s3://npm-registry-packages-npm-production"}},"5.0.5":{"name":"pi-plan-task","version":"5.0.5","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@5.0.5","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"9da4c00c3203c34da797bdd24aa5c761c2ed763b","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.5.tgz","fileCount":38,"integrity":"sha512-P5W41027XZI8NOXrIiti/KG6iKkZffgJDQulhoOKU7TLsmtnnpA98obo4mQ/AnuJA+5TRCqTAR7Orzvmxax8Ig==","signatures":[{"sig":"MEQCIDcbstHghidQdku6Bt3MR7FC7fOcNxpsj+DPFIHFXs9+AiBoR4xi+pSsQZTgmwWX+72WNDnse/mnbq7BCklaooGP7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEZa2kjBaSRa9W7eO0O0m9MUUkkSP7DlgGkoukP22CWFAiB7MFTLAldII5f4NS452ctoQ/KXD5WeDuKiZE5FtSXSoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368966},"type":"module","gitHead":"2cd72c403f7a1826a93619953a87be836392c0e6","scripts":{"test":"tsx --test extensions/*.test.ts","bundle":"esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","esbuild":"0.28.2","typebox":"^1.3.21","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_5.0.5_1789651428280_0.26482404362939316","host":"s3://npm-registry-packages-npm-production"}},"5.0.6":{"name":"pi-plan-task","version":"5.0.6","keywords":["pi-package","pi-extension","plan","build"],"license":"MIT","_id":"pi-plan-task@5.0.6","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"ede7294f45870ec403b9a5fed8e0990b0defe9d7","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.6.tgz","fileCount":38,"integrity":"sha512-8EH9JV8U56tBIL/7l2jvr8mqlBZN5qm+9eIJF1QC6w5TQBCt5d1lZtYN3euKulQ8qu2i3R4kjJxjTTrNpI+5kQ==","signatures":[{"sig":"MEUCIDoRTHpPA+CVvgj0CekybLvHoOOys8EOCTI46rbMrCNnAiEAplCDsMZ4ZPhPVT1kmjyRUu+/cvSLzApvlYjDOUYsYZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBZED92azmHupgx3WC9EgIDmj42LJzwl7x0lc7HkhHJEAiA7byesqwtDdT/oMLP7beyxBiMYH/q29X9FDR4Mu0yv6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372916},"type":"module","gitHead":"2cd72c403f7a1826a93619953a87be836392c0e6","scripts":{"test":"tsx --test extensions/*.test.ts","bundle":"esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"tsc --noEmit --skipLibCheck"},"_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","esbuild":"0.28.2","typebox":"^1.3.27","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.87.1","@earendil-works/pi-tui":"^0.87.1","@earendil-works/pi-coding-agent":"^0.87.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.87.1 <0.88.0","@earendil-works/pi-tui":">=0.87.1 <0.88.0","@earendil-works/pi-coding-agent":">=0.87.1 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-plan-task_5.0.6_1790432451060_0.2926004723723863","host":"s3://npm-registry-packages-npm-production"}},"5.0.7":{"pi":{"extensions":["./extensions/index.ts"]},"_id":"pi-plan-task@5.0.7","dist":{"shasum":"575e49a8877ec43091c73f21f0df683a8143dd15","tarball":"https://registry.npmjs.org/pi-plan-task/-/pi-plan-task-5.0.7.tgz","fileCount":38,"integrity":"sha512-7kHq9vsTIFgkr+P4Xdi13awJ8PFDwP65zknvtrAfurqND364kl7UYCF7c739M9G59Dq80yga9oXtB6lR1kvhrQ==","signatures":[{"sig":"MEYCIQDkSLyRg3MnMdETLn2yN4Unczueb/dnquB/NzQw/ICDxAIhAKYrRcKvlJn9w2qykwf+WC++FMfCl3O7SkC4D5qmsCNZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUOVoIMFGNQ3qtbBaP1hhEFnWMn7l0BL4xS0sMbKoTWQIgX4WL7rLc4Wr9YlH3QNj8uomjft/b+I/1mw5jmGtWiB0="}],"unpackedSize":370863},"name":"pi-plan-task","type":"module","gitHead":"2cd72c403f7a1826a93619953a87be836392c0e6","license":"MIT","scripts":{"test":"tsx --test extensions/*.test.ts","bundle":"esbuild extensions/index.ts --bundle --platform=node --format=esm --external:@earendil-works/* --external:typebox --outfile=.tmp/pi-plan-task.mjs","typecheck":"tsc --noEmit --skipLibCheck"},"version":"5.0.7","_npmUser":{"name":"piagenttools","email":"2304228627@qq.com"},"keywords":["pi-package","pi-extension","plan","build"],"_npmVersion":"12.0.2","description":"Pi package for configurable, approved, resumable task workflows.","directories":{},"maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"_nodeVersion":"24.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","esbuild":"0.28.2","typebox":"^1.3.27","typescript":"^7.0.2","@types/node":"^26.4.0","@earendil-works/pi-ai":"^0.87.1","@earendil-works/pi-tui":"^0.87.1","@earendil-works/pi-coding-agent":"^0.87.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.87.1 <0.88.0","@earendil-works/pi-tui":">=0.87.1 <0.88.0","@earendil-works/pi-coding-agent":">=0.87.1 <0.88.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-plan-task_5.0.7_1790613990375_0.3576907437806778"}}},"time":{"created":"2026-08-19T05:10:24.430Z","modified":"2026-09-28T16:46:30.668Z","1.0.0":"2026-08-19T05:10:24.660Z","1.0.1":"2026-08-19T05:12:33.032Z","1.0.2":"2026-08-24T07:55:51.197Z","1.1.0":"2026-08-26T08:17:32.183Z","3.0.1":"2026-08-30T04:50:31.325Z","4.0.0":"2026-08-30T07:40:12.769Z","4.1.0":"2026-08-30T17:22:48.600Z","4.1.1":"2026-08-30T17:51:17.001Z","4.1.2":"2026-08-30T21:01:14.996Z","4.1.3":"2026-08-31T06:57:01.302Z","4.1.4":"2026-09-01T09:16:09.154Z","4.1.5":"2026-09-01T12:35:45.153Z","4.1.6":"2026-09-01T16:02:25.527Z","4.1.7":"2026-09-01T16:23:59.037Z","4.1.8":"2026-09-01T17:11:14.951Z","4.1.9":"2026-09-02T06:54:35.878Z","4.2.0":"2026-09-02T07:18:51.959Z","4.2.1":"2026-09-03T12:12:53.244Z","4.2.2":"2026-09-08T15:19:48.871Z","4.2.3":"2026-09-09T15:47:50.922Z","4.2.4":"2026-09-11T01:17:29.610Z","4.2.5":"2026-09-12T10:15:15.719Z","4.2.6":"2026-09-13T09:59:17.818Z","4.2.7":"2026-09-13T11:09:44.156Z","5.0.0":"2026-09-15T09:38:44.398Z","5.0.1":"2026-09-15T09:46:52.094Z","5.0.3":"2026-09-16T12:48:40.020Z","5.0.5":"2026-09-17T13:23:48.416Z","5.0.6":"2026-09-26T14:20:51.166Z","5.0.7":"2026-09-28T16:46:30.487Z"},"license":"MIT","keywords":["pi-package","pi-extension","plan","build"],"description":"Pi package for configurable, approved, resumable task workflows.","maintainers":[{"name":"piagenttools","email":"2304228627@qq.com"}],"readme":"# pi-plan-task\n\n[![npm version](https://img.shields.io/npm/v/pi-plan-task.svg)](https://www.npmjs.com/package/pi-plan-task)\n[![License](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA [Pi](https://github.com/badlogic/pi-mono) extension that brings an approved, structured, and resilient workflow to AI coding: **Plan → Review → Approve → Build → Verify** — driven by a single command: `/pt`.\n\n> 💡 **One-Command Mental Model**: You don't need to memorize a complex CLI. After entering your initial request, **simply run `/pt`** at each step. The extension inspects the current state and presents the exact next valid action.\n\n---\n\n## ⚡ Quick Start (30 Seconds)\n\n### 1. Install\n\n```bash\npi install npm:pi-plan-task\n```\n\n*Optional but strongly recommended:*\n```bash\npi install npm:@juicesharp/rpiv-ask-user-question   # Visual interactive menus in the TUI\nnpm install -g plannotator                        # Side-by-side browser UI for visual plan reviews\n```\n\nIn your Pi session, reload extensions:\n```text\n/reload\n```\n\n### 2. The 3-Step Flow\n\n1. **Start Planning**:\n   ```text\n   /pt Add OAuth login with GitHub and Google\n   ```\n   *(Select **existing codebase** or **greenfield project** when prompted).*\n\n2. **Approve the Plan**:\n   When the AI finishes the draft, run:\n   ```text\n   /pt\n   ```\n   Select **Approve** (or **Review** to inspect diffs in Plannotator). *Until you approve, the AI cannot touch your source code.*\n\n3. **Build & Verify**:\n   Run:\n   ```text\n   /pt\n   ```\n   Select **Build** to execute the task. Tasks are only marked done when verification requirements (e.g., tests passing, file existence) strictly succeed. Repeat `/pt` until all tasks are complete.\n\n---\n\n## 💎 Why pi-plan-task? (Core Advantages)\n\n| Advantage | What it means for you |\n| :--- | :--- |\n| 🔒 **Strict Sandbox Isolation** | During planning, the AI can only write `.plan_task/draft/`. Product code and shell commands are blocked. During build, the AI cannot rewrite its own contracts. |\n| ⚡ **Extreme Token & Cache Efficiency** | Designed for Prompt Caching (Anthropic, DeepSeek, OpenAI). Achieves **85%–95% cache hit rates** and avoids re-injecting entire plans into every turn. |\n| 🌳 **DAG-Aware Task Scheduling** | Tasks are structured as a Directed Acyclic Graph (DAG). Independent branches run without waiting for unrelated tasks; a blocked task only isolates its downstream dependents. |\n| 🧬 **Living Plan & Impact Closure** | Modify or rework tasks on the fly (`/pt adjust`, `/pt rework`). Computes exact transitive impact closures across old and new graphs, protecting verified parallel work. |\n| 🧪 **Objective Verification (No Hallucinations)** | AI \"saying it works\" is ignored. Tasks require deterministic shell exit codes (`exit 0`), zero-token filesystem probes, or explicit human sign-off. |\n| 📝 **Deterministic Markdown Tolerance** | Parser tolerates formatting quirks (bullets, punctuation, case, whitespace) while strictly preserving code fences and refusing to guess missing fields. |\n| 🛡️ **Session & Crash Resilience** | Built-in directory locks, atomic multi-file commits with automatic rollback, and cross-session task recovery. If a process dies, work is never lost. |\n\n---\n\n## 🧠 Token Efficiency & Prompt Cache Architecture\n\nIn standard agent workflows, dumping long task lists and full design docs into every turn quickly exhausts model context, degrades reasoning quality (**Context Rot**), and results in ballooning API bills.\n\n`pi-plan-task` is engineered from the ground up to minimize token waste and maximize modern **Prompt Cache** hits:\n\n### 1. Static Prefix Alignment (Prompt Cache Optimization)\nLLM prompt caching (e.g., Anthropic Prompt Caching, DeepSeek Context Caching, OpenAI Cached Tokens) relies on **stable prefix matching**.\n* Invariant system rules (`PLAN_SYSTEM_RULES`, `BUILD_SYSTEM_RULES`) and core execution contracts are strictly positioned at the very front of the prompt context.\n* Dynamic task parameters and ephemeral observations are appended at the end.\n* **Result**: Subsequent interactions and build steps hit cached prefixes reliably, cutting latency and reducing API input token costs by up to **90%**.\n\n### 2. Compact Build Context (Task-Scoped Injection)\n* Rather than re-injecting a 3,000-line `plan.md` into every task build turn, the extension automatically extracts cross-task decisions (architecture constraints, security rules, tech stack choices) into a compact `build-context.md`.\n* Each task turn receives only **the current task contract + compact constraints**, trimming **60%–80%** of redundant tokens per interaction.\n\n### 3. Fresh Session Isolation (`/pt build sessions`)\n* For long queues (10–30+ tasks), running in a single session accumulates massive conversational history.\n* `/pt build sessions` launches each remaining task in a **clean, dedicated Pi session** while carrying forward verified state and approval receipts.\n* **Result**: Task 25 executes with the same razor-sharp context and zero conversational bloat as Task 1.\n\n### 4. Zero-Token Local Probes\n* File and content verifications (`file-exists`, `dir-exists`, `grep-match`, `json-match`) are executed locally by Node.js, **consuming 0 LLM tokens**.\n* Avoids expensive \"read this 500KB file and tell me if X is implemented\" agent turns.\n\n### 5. Smart Log Truncation & Redaction\n* Terminal test and build failure outputs are automatically truncated at `MAX_FAILURE_EXCERPT_CHARS` (keeping only relevant error tails) and scrubbed of sensitive secrets (tokens, passwords, database URLs).\n* Prevents runaway terminal dumps from blowing out context limits.\n\n---\n\n## 📖 Command Reference\n\nDaily use requires only `/pt`. The commands below are available when you want direct or scriptable control:\n\n### Planning & Setup\n| Command | Usage | Description |\n| :--- | :--- | :--- |\n| `/pt <request>` | Interactive | Start planning (prompts for existing vs new workspace). |\n| `/pt --existing <request>` | Headless/Direct | Plan against the current codebase. |\n| `/pt --new <request>` | Headless/Direct | Plan for an empty or greenfield workspace. |\n| `/pt --import @path/to/spec.md` | Direct | Compile an existing markdown specification into strict task contracts. |\n\n### Review & Approval\n| Command | Usage | Description |\n| :--- | :--- | :--- |\n| `/pt review` | Direct | Open the plan in Plannotator for visual, side-by-side review. |\n| `/pt approve` | Direct | Sign off on the plan and generate a trusted cryptographic receipt. |\n| `/pt reject` | Interactive | Reject the plan and provide feedback for full re-planning. |\n| `/pt --reject <feedback>` | Headless/Direct | Reject the plan inline with feedback (ideal for CI/scripts). |\n\n### Build & Execution\n| Command | Usage | Description |\n| :--- | :--- | :--- |\n| `/pt build` | Direct | Execute the next pending task, then pause. |\n| `/pt build all` | Direct | Execute all remaining tasks sequentially in the current session. |\n| `/pt build sessions` | Direct | Execute each remaining task in a fresh, isolated session (recommended for large plans). |\n\n### Exception Handling & Workflow Control\n| Command | Usage | Description |\n| :--- | :--- | :--- |\n| `/pt retry [id]` | Direct | **Retry**: Clears task blockers/failures, recovers crashed worker session ownership, and returns the task to a retryable runtime state. |\n| `/pt skip [id]` | Direct | **Skip**: Waives missing checks with risk acceptance audit record and advances to the next task. |\n| `/pt adjust [id] [feedback]` | Direct | **Adjust (Living Plan)**: Amends subsequent tasks with feedback, or automatically delegates to rework if the target task was already verified. |\n| `/pt rework [id]` | Direct | **Rework**: Reopens a verified/waived task and its downstream dependents with exact impact preview and interactive confirmation. |\n| `/pt tasks` | Direct | **Tasks**: View the DAG task queue (`Runnable`, `Waiting`, `Blocked` breakdowns, status tags, and lock ownership). |\n\n---\n\n## ⚙️ Configuration\n\nRun `/pt config` for an interactive wizard, or edit configuration files:\n* **Project**: `.pi/plan_task.json`\n* **Global**: `~/.pi/agent/plan_task.json`\n\n```json\n{\n  \"workflow\": \"interactive\",\n  \"planTools\": [\"read\", \"grep\", \"find\", \"ls\"],\n  \"trustedPlanTools\": [],\n  \"skills\": [\"docx-editor\"],\n  \"buildContext\": {\n    \"plan\": \"compact\",\n    \"maxChars\": 3000\n  },\n  \"buildSession\": {\n    \"model\": \"inherit\",\n    \"thinkingLevel\": \"inherit\"\n  },\n  \"diagnostics\": {\n    \"promptTokens\": false\n  },\n  \"gitTaskCommits\": false,\n  \"gitTaskCommitsSkipHooks\": false\n}\n```\n\n* **`workflow`**: `\"interactive\"` (prompts for greenfield vs existing workspace) or `\"auto\"` (detects workspace automatically).\n* **`buildContext.plan`**: `compact` (default, extracts cross-task decisions), `full` (entire plan capped by `maxChars`), or `path` (file reference only).\n* **`buildSession`**: Model and thinking level for `/pt build sessions` (`off` … `max`, or `inherit`).\n* **`trustedPlanTools`**: Extra tools permitted during planning (user config only; cannot be write/shell tools).\n* **`diagnostics.promptTokens`**: Show live token estimates in the TUI status bar.\n* **`gitTaskCommits`**: Automatically create clean atomic Git commits (`feat(task-N): ...`) upon task verification.\n* **`gitTaskCommitsSkipHooks`**: Pass `--no-verify` to atomic task commits when local hooks should be bypassed.\n\n---\n\n## 🤖 Headless & CI Automation\n\nFor automated pipelines or headless execution, omit interactive menus by supplying explicit flags:\n\n```bash\n# 1. Plan against existing repository\n/pt --existing Add OAuth login with GitHub and Google\n\n# 2. Approve plan\n/pt approve\n\n# 3. Build all tasks unattended\n/pt build all\n```\n\n---\n\n## 🔬 Under the Hood (Architecture & Specs)\n\n### Workflow Lifecycle\n```text\nidle ──► planning ──► ready ──► approved ──► executing ──► completed\n           │            ▲                      │\n           │            └── reject / rework ───┤\n           │                                   ▼\n           └──────────────────────────────► blocked\n```\n\n### Directory Structure\n```text\n.plan_task/\n├── plan.md              # Approved high-level architecture & design\n├── build-context.md     # Deterministically extracted cross-task constraints\n├── task.md              # Canonical task definitions & verification contracts (v3)\n├── state.json           # Canonical v4 runtime state & verification evidence\n├── draft/               # Sandbox directory during planning (untrusted)\n├── history/             # Snapshots of previous plan iterations\n└── .lock/               # Heartbeat directory lock (prevents concurrency races)\n```\n\n### DAG Task Graph & Living Plan Engine\n* **Directed Acyclic Graph (DAG)**: Tasks declare explicit upstream dependencies via `**Dependencies:** 1, 2` or `**Dependencies:** None`. The serial scheduler prioritizes runnable tasks whose prerequisites are verified or waived.\n* **Isolated Branch Scheduling**: If a task encounters a blocker, independent tasks and parallel branches continue executing. The overall workflow only blocks when all remaining tasks are either blocked or dependent on a blocked task.\n* **Dual-Graph Impact Closure**: Reworking or amending tasks computes the transitive closure across both the original and amended graphs (`closure = dependents(G_old, focus) ∪ dependents(G_new, focus)`). Independent parallel branches strictly retain their verified status and evidence.\n* **DAG Status Visibility & Impact Previews**: `/pt tasks` prints an exact breakdown of `Runnable`, `Blocked`, and `Waiting` tasks. Before reopening satisfied tasks, the system renders an impact preview detailing invalidated tasks vs unaffected work, requiring interactive confirmation.\n* **Deterministic Markdown Tolerance**: Parser normalizes line endings (CRLF/LF), bullets (`-` / `*`), Chinese punctuation (`：`, `，`, `、`, `和`), and label casing while strictly protecting code fences and refusing to guess ambiguous contracts.\n\n### Strict Task Contracts (`v3`)\n`.plan_task/task.md` enforces a strict machine-readable format. Heading titles must strictly match numbered checklist items. Top-level checkboxes are a display projection of `state.json`; editing them manually does not verify, waive, reopen, or skip a task:\n\n```markdown\n<!-- pi-plan-task:task:v3 -->\n# Tasks\n\n- [x] 1. Implement Token Verification Service\n- [ ] 2. Implement User Route Auth Middleware\n- [ ] 3. Implement Audit Logger\n- [ ] 4. End-to-End Auth Integration Tests\n\n## Task 1: Implement Token Verification Service\n**Description:** Validate JWTs using existing keys in `src/config/keys.ts`.\n**Acceptance criteria:**\n- [ ] Valid tokens return a parsed payload.\n- [ ] Expired or corrupt tokens reject with HTTP 401.\n**Verification:**\nRun `npm test -- tests/auth/jwt.test.ts`\nInspect: file-exists `src/services/jwt.ts`\n**Dependencies:** None\n**Estimated scope:** S\n**Files likely touched:** `src/services/jwt.ts`, `tests/auth/jwt.test.ts`\n\n## Task 2: Implement User Route Auth Middleware\n**Description:** Add auth guard middleware to `/api/user/*`.\n**Acceptance criteria:**\n- [ ] Unauthenticated requests return HTTP 401.\n**Verification:**\nRun `npm test -- tests/auth/middleware.test.ts`\n**Dependencies:** 1\n**Estimated scope:** S\n**Files likely touched:** `src/middleware/auth.ts`\n\n## Task 3: Implement Audit Logger\n**Description:** Record security event logs.\n**Acceptance criteria:**\n- [ ] Security events persist to audit log.\n**Verification:**\nRun `npm test -- tests/logging/audit.test.ts`\n**Dependencies:** None\n**Estimated scope:** XS\n**Files likely touched:** `src/logging/audit.ts`\n\n## Task 4: End-to-End Auth Integration Tests\n**Description:** Integration test auth middleware and audit logging.\n**Acceptance criteria:**\n- [ ] Complete auth journey tests pass.\n**Verification:**\nRun `npm test -- tests/e2e/auth.test.ts`\n**Dependencies:** 2, 3\n**Estimated scope:** M\n**Files likely touched:** `tests/e2e/auth.test.ts`\n```\n\n### Three-Tier Verification Engine\n1. **`Run <command>`**: The declared shell command must execute *after* the task code is written and exit with code `0`. Any code modifications after execution wipe prior run evidence.\n2. **`Inspect:`**: Machine probes (`file-exists`, `dir-exists`, `grep-match`, `json-match`) evaluate automatically via native filesystem calls. Custom inspections require structured evidence (`passed`/`failed` + observation).\n3. **`Human:`**: Prompts the user in the TUI; requires explicit human confirmation.\n\n### Extension Event Bus\nIntegrate or build sidecars on top of `pi-plan-task`:\n```typescript\npi.events.on(\"pi-plan-task:plan-ready\", handler);\npi.events.on(\"pi-plan-task:plan-approved\", handler);\npi.events.on(\"pi-plan-task:plan-rejected\", handler);\npi.events.on(\"pi-plan-task:task-started\", handler);\npi.events.on(\"pi-plan-task:task-completed\", handler);\npi.events.on(\"pi-plan-task:task-verified\", handler);\npi.events.on(\"pi-plan-task:task-blocked\", handler);\npi.events.on(\"pi-plan-task:task-waived\", handler);\npi.events.on(\"pi-plan-task:execution-finished\", handler);\n```\n\n### Troubleshooting Reference\n| Error Code | Meaning | Resolution |\n| :--- | :--- | :--- |\n| `PT-APPROVAL-INVALID` | Plan or task files changed out-of-band after approval. | Inspect differences, then run `/pt approve` again. |\n| `PT-TASK-OWNED` | Another active session owns the task. | Resume that session or run `/pt retry <id>` if the worker died. |\n| `PT-VERIFICATION-FAILED` | A declared `Run` command exited non-zero. | Resolve the test/build failure and rerun the verification command. |\n| `PT-TASK-RUNTIME-INVALID` | `state.json` task records do not match the task contract. | Recreate the workflow or restore a valid `state.json`. |\n| `PT-STORAGE-PROTECTED` | An unauthorized tool attempted to write `.plan_task/`. | Edit project files instead, or use `/pt` actions. |\n| `PT-PLAN-MISSING` | No active workflow found in the workspace. | Run `/pt --new`, `/pt --existing`, or `/pt --import`. |\n\n---\n\n## 🛠️ Development\n\n```bash\nnpm test              # Run full unit and integration test suite (tsx)\nnpm run typecheck     # TypeScript strict validation\nnpm run bundle        # esbuild production bundle\nnpm pack --dry-run    # Verify packaged artifact contents\n```\n\n## 📄 License\n\nMIT © [pi-plan-task contributors](https://github.com/badlogic/pi-mono)\n","readmeFilename":"README.md"}