{"_id":"@4fu/pi-todo","_rev":"9-db1fbdd9c5cc42015008fc8e60159a72","name":"@4fu/pi-todo","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@4fu/pi-todo","version":"0.1.0","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.1.0","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"192afac917550f87a8e1db99537eac90a9ca9637","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.1.0.tgz","fileCount":6,"integrity":"sha512-Gv0rIa13opOa3cE5Kbo1n37tQwRCGKEjmnOsTw+WPigN9hiKGe3KQMPFLLAZ2CldcJ6WrI5gftQbmx095Yyrwg==","signatures":[{"sig":"MEUCIBOYe3Qn5AKqF0jBOzjFyVSilYcQeh+eJJT0SKJuI0XVAiEAlilF72P1m4Zy71OQGAw0ZlHe26dkahBvsiMQwAvLCis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30455},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"4e9b63650ffdc8c56682454718361fc28fcf502e","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.1.0_1784709401581_0.9824742380709743","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@4fu/pi-todo","version":"0.2.0","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.0","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"d163e5abb7f028fbe7fd1597b77979a666a6adb5","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.0.tgz","fileCount":6,"integrity":"sha512-5L3oEpjiRk/2ldnZsb4FfFRn4c3EV1XSAM+xCgFY3Rqznhiz5z7WzfsrhPpTofnbml3v8eNr0r/j0b4N2KB5GQ==","signatures":[{"sig":"MEUCIQCzxr1euXXcCg+T+yeuumWTyaADqEDTY+QCDKMxESzBLQIgSRRVNnj1qjPRX09xmB5IOwUtetxeAD66WFHFwhLiINo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35985},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ed88750b245cfe9957a9c262603066109c2d7411","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.0_1784721066003_0.8570575990201448","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@4fu/pi-todo","version":"0.2.1","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.1","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"75f251dafa8ff399643d4d3e387673e9ce3a6631","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.1.tgz","fileCount":6,"integrity":"sha512-vbTj3fdJmzE4nkMYNuELd0PdTpjC9/hI8UNjzO5OAqDl/TSQxfpVqVrn04wzO0qg2bKhCa4KiNtfbEywEnhcLg==","signatures":[{"sig":"MEYCIQD5zdsQAtUCeFePYH2v1z2skmlZPyReVzOlqMVvuS1B/gIhAJ47CSZ6qHGH4D8hUBSKxoOZ0kKhY6K5rubac1KjS9gY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36040},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"e4ed2cc684697aa31dfda413045fa6a73b6dcb5d","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.1_1784722614303_0.6387606728458812","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@4fu/pi-todo","version":"0.2.2","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.2","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f05ffc490e7ed98354ef53cc518db137d7173811","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.2.tgz","fileCount":6,"integrity":"sha512-tQ1oAGEdpUqxpLch51MmNmXfQa2J+CT/uqDDCrFmB2Wt4MEoRVjzYQbeCUP71wrJjbTjoQMwgo3Mmbp/K94QNA==","signatures":[{"sig":"MEUCIQDy+8fhHWSylB3AnYbiHEjXU1/rCYZzJLmWuSrcqA306gIgZcL9PlQPs+OSu7tMjuY93ngScRb9oVoNy4rcWXTOS4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37874},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"0adc2ffd332ca015fbe7c4bc3b4629b9a5d9f9a6","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.2_1784726253980_0.3497853494387575","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@4fu/pi-todo","version":"0.2.3","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.3","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3ff67cc337a8ca79b1ed1aedbdf277b338597b21","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.3.tgz","fileCount":6,"integrity":"sha512-Pv+uM7P1HAGHwxz5vTmCD8MpfnJWsN45SWelv5FJshnDgNgYQ73zMPCZqTOdeZKxd3bZbfWibFEITtj6hP8nwQ==","signatures":[{"sig":"MEUCIQCOCe2WSjVUnGHycPs5mnTNRqXx1ICvElIiz18Bqfan6QIgUgr4g1oCG1uIYmchMjq62T7MW8KeiDonOLo4HlzL++Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37938},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"db2b7d1ef7f3ff4b84174d7a6a4a2a4129806b7f","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.3_1784744114930_0.6185660063359826","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@4fu/pi-todo","version":"0.2.4","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.4","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f65faa727f215d46de6e42e155fb49de3321734a","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.4.tgz","fileCount":6,"integrity":"sha512-/G2fK5Y2nNkdpfM6xQ0Hn0zmWTFUDNWyOGpWHo7/i/1C+LvdvubZj3zGVfiwbnW+0p2rBO8m2InaP3zQ3pqSoQ==","signatures":[{"sig":"MEUCIBVedO5bAuZeN25ba6e0QqP9HhPK5ZUqBhTBjglHah2nAiEA2yuwWNTn9hpgPtvaikX+6sjWXPYHjvFbp0YRuZYtuws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38382},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f3df247a19b6a9deca47386c2c36308ab3967980","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.4_1784776638330_0.9120076814893132","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@4fu/pi-todo","version":"0.2.5","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.2.5","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"0a7e4b4dba8221e7700e970b2caa5b4351eb2fdc","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.2.5.tgz","fileCount":6,"integrity":"sha512-mB+SfkeRdtUhFL5g1+M61lQlX+D8DCu+8aqDpiE/GKDPSNxP8akrc9z5VSGSJ5zS5gErn+2snrnsznAusutYAw==","signatures":[{"sig":"MEUCIE3Qucb0dH2zaJ7JAXLpQg5CBwWkbUCbQGuWpfJFqJp7AiEAsLF6ckwjIF82iluAGu+mcX1nHtySSOkgVgeY7wg2bXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38632},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ebc63375102fafb6cb58f9aa082aabba263d6efb","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.2.5_1785331695887_0.14829332648648652","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@4fu/pi-todo","version":"0.3.0","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"author":{"name":"4fuu"},"license":"MIT","_id":"@4fu/pi-todo@0.3.0","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"homepage":"https://github.com/4fuu/pi-todo#readme","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6001147ca281c0575b48889c76909c4265b5fe4d","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.3.0.tgz","fileCount":6,"integrity":"sha512-lYVvfzlN2AE/ayWvot8pPgkyZyaNilVoW2PXLqOmYlFaxfkywxIxgoQ7yZyGqFRuYx6DUjedHj0L6HSj1Gb6yA==","signatures":[{"sig":"MEUCIQDgtlJj4BB87XUxmWPQxxyQ9wJHmkKvmtJcFT40EbSenQIgXQWOv7ZTHu/9lx40K9XYOD7Ob/Is2UWOSKmXoMg7kwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39442},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9c82287e4cf8296be7e75364aba90ef3c1ba0f34","scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"repository":{"url":"git+https://github.com/4fuu/pi-todo.git","type":"git"},"_npmVersion":"11.16.0","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.9.0","@types/node":"^24.0.0","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-todo_0.3.0_1786076328795_0.05320472269625598","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@4fu/pi-todo","version":"0.3.1","description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","license":"MIT","author":{"name":"4fuu"},"repository":{"type":"git","url":"git+https://github.com/4fuu/pi-todo.git"},"type":"module","engines":{"node":">=22.19.0"},"keywords":["pi-package","pi-extension","todo","tasks","checklists"],"pi":{"extensions":["./src/index.ts"]},"scripts":{"typecheck":"tsc --noEmit","test":"node --test tests/*.test.ts"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*","typebox":"*"},"devDependencies":{"@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-coding-agent":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@types/node":"^24.0.0","typebox":"^1.1.38","typescript":"^5.9.0"},"_id":"@4fu/pi-todo@0.3.1","gitHead":"efabf5608fb68c0b6e94998132f0e5d16bdb43b4","bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"homepage":"https://github.com/4fuu/pi-todo#readme","_nodeVersion":"20.9.0","_npmVersion":"10.9.9","dist":{"integrity":"sha512-WPBsMYozGmbDMTmnHLWYcEBs4QDYNIVFOnEI+oq4OpGFtQ6/axndZPW9ntQurtDQFPM0sdqbJccrGFPZu7b75A==","shasum":"8b0c1381e5c3c53b0444058733a84c93e403a33d","tarball":"https://registry.npmjs.org/@4fu/pi-todo/-/pi-todo-0.3.1.tgz","fileCount":6,"unpackedSize":39351,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCtZqDpD+dUTJvYGHxFO6WY9bjUf4mVpdLzKLtmr+S8aAIhAJI5v6FmrD+Qyj7Uu2hnz4vF8e+p//mXYI3Tzbg8Nssk"}]},"_npmUser":{"name":"4fu","email":"npm@4fwu.com"},"directories":{},"maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-todo_0.3.1_1786359843807_0.8203929559052037"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T08:36:41.451Z","modified":"2026-08-10T11:04:04.105Z","0.1.0":"2026-07-22T08:36:41.703Z","0.2.0":"2026-07-22T11:51:06.180Z","0.2.1":"2026-07-22T12:16:54.447Z","0.2.2":"2026-07-22T13:17:34.108Z","0.2.3":"2026-07-22T18:15:15.066Z","0.2.4":"2026-07-23T03:17:18.460Z","0.2.5":"2026-07-29T13:28:16.046Z","0.3.0":"2026-08-07T04:18:48.925Z","0.3.1":"2026-08-10T11:04:03.952Z"},"bugs":{"url":"https://github.com/4fuu/pi-todo/issues"},"author":{"name":"4fuu"},"license":"MIT","homepage":"https://github.com/4fuu/pi-todo#readme","keywords":["pi-package","pi-extension","todo","tasks","checklists"],"repository":{"type":"git","url":"git+https://github.com/4fuu/pi-todo.git"},"description":"Manage and plan multiple tasks and checklists in pi with session-aware progress tracking","maintainers":[{"name":"4fu","email":"npm@4fwu.com"}],"readme":"# pi-todo\n\nManage and plan multiple tasks and checklists in pi. Tasks are stored in the current session, progress is recorded without changing the original text, and state follows pi's session branches.\n\n## Features\n\n- One native `todo` tool with five actions: `create`, `list`, `add`, `complete`, and `cancel`\n- Multiple free-form tasks and checklists\n- Exact text preservation, including whitespace and formatting\n- Session and `/tree` branch-aware persistence through tool-result events\n- A fixed recovery hint after compaction when unfinished tasks exist\n- A compact TUI widget showing up to three recently updated active tasks\n- A read-only `/todos` TUI view for full task and progress details\n\n## Tool\n\n### Create a task\n\n```json\n{ \"action\": \"create\", \"text\": \"Implement the feature:\\n- storage\\n- tool\\n- tests\" }\n```\n\n### List unfinished tasks\n\n```json\n{ \"action\": \"list\" }\n```\n\nThe list ends with a one-line summary of completed tasks; cancelled tasks are excluded.\n\nPass an ID to inspect one task, including its complete progress history:\n\n```json\n{ \"action\": \"list\", \"id\": \"a13f92bc\" }\n```\n\n### Add progress\n\n```json\n{ \"action\": \"add\", \"id\": \"a13f92bc\", \"text\": \"Finished the state layer and tests.\" }\n```\n\n### Complete a task\n\n```json\n{ \"action\": \"complete\", \"id\": \"a13f92bc\" }\n```\n\n### Cancel a task\n\n```json\n{ \"action\": \"cancel\", \"id\": \"a13f92bc\" }\n```\n\nCancelling abandons a task without marking it done. Cancelled tasks leave the active list, do not appear in the completed summary, and reject further progress. A completed task cannot be cancelled.\n\nTask and progress text is stored exactly as received. The extension does not trim, normalize, parse, or rewrite it. Display-only previews may wrap or truncate without changing stored content.\n\n## TUI\n\nWhen unfinished tasks exist, a widget above the editor shows up to three recently updated tasks and their latest progress. Run `/todos` for the read-only full view. The widget and command output are TUI-only and are not added to the model context.\n\n## Persistence and compaction\n\nMutation events are stored in `todo` tool-result details and replayed from the active session branch on startup and `/tree` navigation. No project or global task file is created.\n\nAfter a compaction occurs while unfinished tasks exist, the extension appends this fixed line to subsequent system prompts:\n\n```text\nThere are unfinished tasks in todo. Use todo with action \"list\" to view them.\n```\n\nNo task content is injected into the system prompt.\n\n## Installation\n\nWith pi:\n\n```bash\npi install npm:@4fu/pi-todo\n```\n\nOr link the repository locally:\n\n```bash\npi config set extensions./path/to/pi-todo\n```\n\n## Development\n\nRequires Node.js 22.19 or newer.\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\n```\n\nPi loads `src/index.ts` directly; there is no build step.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}