{"_id":"@comfanion/usethis_todo","_rev":"54-7d66fceff0960860e60e37662d1234cc","name":"@comfanion/usethis_todo","dist-tags":{"latest":"0.1.17"},"versions":{"0.1.0":{"name":"@comfanion/usethis_todo","version":"0.1.0","license":"MIT","_id":"@comfanion/usethis_todo@0.1.0","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"d4dfad7c34b3941182b9c6ea44d51e1686c8e5f2","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.0.tgz","fileCount":5,"integrity":"sha512-OZq1PFA82XmFRmhO1hYdn81ifhJBneIrcm815Ym8z3tYHUx/ihkv8p3+91nzkUGdDbmRLrkeJkt1SHNq5F54pA==","signatures":[{"sig":"MEUCIQCPIYvSMpMTzbdUVt+r7Y8e4fWPZ5Vwsq/z63gIblYTSwIgYUlI1/J37Qh/Rf7JLMqPJikT7/QEkS1atmePxdqWh9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22681},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":"./index.ts","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.0_1769606411668_0.6398403529761265","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@comfanion/usethis_todo","version":"0.1.1","license":"MIT","_id":"@comfanion/usethis_todo@0.1.1","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"745d1cc3ff77074806eea3a78d05faf7461c8142","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.1.tgz","fileCount":5,"integrity":"sha512-4BibiD9yvG2dmL7dE5nnBTakjZYScZste6/bfX4NFculHXWwfTeOo5r7mYuC+CPYgjW5/GLWqxZGVzua3MV4JQ==","signatures":[{"sig":"MEUCIQDMeLMHsVz+VNn2aLRt4GBLJi3lMI3AVex/J/G0N6fizwIgbtA1mf5GG+qXM6HGAmnQKuC8qIuoi8JSVVKesq1VxkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22726},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.1_1769608535291_0.597388503180964","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@comfanion/usethis_todo","version":"0.1.2","license":"MIT","_id":"@comfanion/usethis_todo@0.1.2","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"1efa146542997a3c9fd843b4f77f490d24d5fcac","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.2.tgz","fileCount":5,"integrity":"sha512-Fr5hLB/q8bQgueUysm1b03fhwn4qFTmcOiuhUkU/LsLiWaR/3cuTBzxT16e4lunYfnAai1VNC+i4ln40gWsXQA==","signatures":[{"sig":"MEUCIEEDX6S/SxFifYENUs7j+noeqtAG+LzZpAoJvjFXgopjAiEAibHABieqcLPjtaHW794M8OUtoKiy2kGuhTA8HOd1v0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22719},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.2_1769608856140_0.051739055782235255","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@comfanion/usethis_todo","version":"0.1.3","license":"MIT","_id":"@comfanion/usethis_todo@0.1.3","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"28df509ee0350b4726432179f45fe93d3851d291","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.3.tgz","fileCount":5,"integrity":"sha512-EiQjGNVN0mxGXHdjTetzCfPHD5zsu6eKzF7ouXGTsr02I75OM9PGLxfnpsUQjnbgfEs/V7/XFHGDAQInUm7XbQ==","signatures":[{"sig":"MEQCICZh3RtfI6lmnTs3MDdoTg7iFiNrC/PvJ0sxJZxzrKlJAiAfbfUWk92FH2rCtlz67hZaKYxU/fAnjLGzjWAincSghw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22573},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.3_1769608981372_0.9240865254197641","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@comfanion/usethis_todo","version":"0.1.4","license":"MIT","_id":"@comfanion/usethis_todo@0.1.4","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"6bb318cf69d6ae76f7ea47cdc8edacc7ec80d9bd","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.4.tgz","fileCount":5,"integrity":"sha512-Z4aLcXhX926+3hGe0rS+MqZtUJHCHvDMwJ0yJiCMI4LxFGYyEYzn9ownz9ml8b9+sRCeMlziESYMuryaR23Ftg==","signatures":[{"sig":"MEUCIQCqONdFasW5ohICGasVKTNAZVYrmE4w14wYODdvUtm39QIgViLrUvRr/yXOeohmK6KyPbvR7ZcPmDSqZqnGih1OXEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23533},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.4_1769609509762_0.5792966821863959","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@comfanion/usethis_todo","version":"0.1.5","license":"MIT","_id":"@comfanion/usethis_todo@0.1.5","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"6c59199ae03c60b7693fba4862cfad6ce1b7b407","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.5.tgz","fileCount":5,"integrity":"sha512-scOD6rU5KF41Ag5QEVUZx+C9YokPI2TeHBSmSqd/r6UT6qSeu6mrFUro9wdqv7icW2ot0XHcP9g01eO8Shrmow==","signatures":[{"sig":"MEYCIQDMe5SKOxMotFVWKPIQfsjYm1DvYKnwfUyf92fqMkevTQIhAISRSvG3JA6dCFL3XMVhmUaDlE1gWPqEPuRrX7G0iI7r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23747},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.5_1769610194541_0.8694494942486215","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@comfanion/usethis_todo","version":"0.1.6","license":"MIT","_id":"@comfanion/usethis_todo@0.1.6","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"7585df0b5eb4d7581518fb5496971728c05ff74d","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.6.tgz","fileCount":5,"integrity":"sha512-m7dwCJm5fmI6yj78fTNfy+IYzlPK+AgdSjxX/MMTcOf09WYWbrNkr2lpGgXoFKkHtFrTDO9SIx8BVJYXH8XXrQ==","signatures":[{"sig":"MEYCIQDQPnVV4Vq8fFW34iPjrQDjDkle8VyuHNem2z3zcooScgIhAND1tsL4lMkyhqKG5VXeSDX/Qk8GIOnzOuLZCgrYox1d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37058},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"a705470067553658954d013b7d74aca104bf08f4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.6_1769644141716_0.2049507765775258","host":"s3://npm-registry-packages-npm-production"}},"0.1.7-dev.0":{"name":"@comfanion/usethis_todo","version":"0.1.7-dev.0","license":"MIT","_id":"@comfanion/usethis_todo@0.1.7-dev.0","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"522fa4aa8a364728fe5fcad724011c254f1dc5f0","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.7-dev.0.tgz","fileCount":5,"integrity":"sha512-WvDmxajWYZiVAmPKS1AuIGGPKENrXT6yl97Jv8CXf4wnEpoq0VLMPTdFqiEjF0eemd7eG6bbGLJG+CGkVyYQiQ==","signatures":[{"sig":"MEQCIHo7HwgzBQOdXPHMxa6z8UvhpZCC/UT1IIxhcdzAVQdRAiBRoR4fvadrgsdD7NvRDPSWhrf82QuEt4GoQjyMU6F9og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40183},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"1e7b52393ea494f2adb600e63ee80802e68be692","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.7-dev.0_1769684776632_0.8617472751676558","host":"s3://npm-registry-packages-npm-production"}},"0.1.7-dev.2":{"name":"@comfanion/usethis_todo","version":"0.1.7-dev.2","license":"MIT","_id":"@comfanion/usethis_todo@0.1.7-dev.2","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"3e1ab7fcc53d0c62257a33f288cc5b64e1f3479b","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.7-dev.2.tgz","fileCount":5,"integrity":"sha512-PKHOw/0sXoeB+16hzkR+odo82lpyGMZtrAWnKnqr8ia2AbCkAxKzHibNm3JfDxpp0oLeqCi9VLiRxHJ8DAExJg==","signatures":[{"sig":"MEUCIQCZ291N1CQy95jbqMCF2WuknK4ORLUxPqua7EmI042SLwIgOz7uofYdk/Kk5klUUNn6NjmEygvRWrlf//IG++cY7Xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43018},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.7-dev.2_1769709011826_0.07725306463647574","host":"s3://npm-registry-packages-npm-production"}},"0.1.7-dev.3":{"name":"@comfanion/usethis_todo","version":"0.1.7-dev.3","license":"MIT","_id":"@comfanion/usethis_todo@0.1.7-dev.3","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"06f1c5b14efd1dbdb6714cf8a9285c8281283af6","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.7-dev.3.tgz","fileCount":5,"integrity":"sha512-VuqQWrrrlKi5FnB4GDeiW21NQ116OfjD/PbhyqBOrSq54p7Wue8TzrBtVC+YwKV0+uiso6Rt8b569FMsddh2Og==","signatures":[{"sig":"MEYCIQCPzrpo2O88otwzgHiaCp4Bj5j51rSF8WIudFH480B20AIhALEGN5i4fekq2vbSYJDPpOP7l4Op0TiTdPPU9QS2S3P+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43319},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.7-dev.3_1769710185226_0.6679198822460453","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@comfanion/usethis_todo","version":"0.1.7","license":"MIT","_id":"@comfanion/usethis_todo@0.1.7","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"84c56625a90cf48db97a546ef849501da6866f0a","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.7.tgz","fileCount":5,"integrity":"sha512-C32s+EuijBYeN8eCnTjPCh1h0RV8TRneJQrrUCEHU0wD0Qg9xZcTozpwwoLxKidXkxNF64Ar3B4+/8KzB/E+bw==","signatures":[{"sig":"MEUCIQDZNvhpDP3KF5jprlOCK/tnIyc+nCfwr/WK69yiCaOIIwIgRwHp2aFGt1eXQGY+basVhhpR8UnCUlUZR8c/L08L7Kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43313},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.7_1769710775145_0.030245704825163644","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@comfanion/usethis_todo","version":"0.1.8","license":"MIT","_id":"@comfanion/usethis_todo@0.1.8","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"93dd053973a9cc3188ed0efdadd43966ccd981d1","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.8.tgz","fileCount":5,"integrity":"sha512-FTPqjsaR0Ymlz6YnvptNwIp4aHA7hsAqH9rMGC09poCRvdkOTPHmpz5gPJqub4NOV7giIlqTNBSYHCbzx1jx6w==","signatures":[{"sig":"MEYCIQCnMWsIP71QssoAZqJXv2zL2o1qTVGlYk7Mjkw18663gwIhAKSWIa/CW7O4oqiDcsTn3zcSAiW5xmUPnBq3Ubg3q6wD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46801},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.8_1769710864037_0.9557052990349326","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@comfanion/usethis_todo","version":"0.1.9","license":"MIT","_id":"@comfanion/usethis_todo@0.1.9","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"f5670812f7f0207e693cbf0458768b7c444bc366","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.9.tgz","fileCount":5,"integrity":"sha512-Ab1cw/toxRqm5j2OLXoFv9fvzLouMAW7TyuOQ3O/WPKufPlcpzsUHKK6xoHfFFjpqHbBwSKR4LUutVK2MknvvQ==","signatures":[{"sig":"MEUCIBWPIWDNWo3L3SbTXqIvgY9SeqfR9/Eh/xNgnT04QzjqAiEAsnphu5dkgGCtj8J4i8SksjdENsgtaMBK/F0TVxgAmpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48812},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.9_1769711048645_0.12446687414992086","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@comfanion/usethis_todo","version":"0.1.10","license":"MIT","_id":"@comfanion/usethis_todo@0.1.10","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"76992be6eb698837caba35464b4cdc05f7c59304","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.10.tgz","fileCount":5,"integrity":"sha512-hcluds1LJyJN0Bp+XY1X8CgzIG2t/svzcUupJ2dF70EhY3ufPG0TXuZUWf5sVJ1NSrwYNPd0lNzJBczHtx4kFQ==","signatures":[{"sig":"MEYCIQCHA+1COWqu9zvWaHHUF1JBahILAhxPRYYKzQgQcVC3/gIhAI7CpyVgGp7lq+1LfUB7ElrTEF42ZHDH3KTvtTmMdw3L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49048},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.10_1769711966679_0.5383483346323599","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@comfanion/usethis_todo","version":"0.1.11","license":"MIT","_id":"@comfanion/usethis_todo@0.1.11","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"77c788f1d673292a373db515096f534ce408241e","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.11.tgz","fileCount":5,"integrity":"sha512-OiYd/LnnFR1sN7j18YtmO52QUo1sAwQUuBCj10l1aBw93FYVNTniP2BzsRC7PUsSEH/8Mph65rHCBxRR727nNg==","signatures":[{"sig":"MEQCIDGdqaQfA+zWpc3O+vO8b5RhCuneyQfYR89PSxGeMF10AiAMWqmHfsYozqVpLTdN3lIQOI2IpLKDkTVZzh7IC5HT8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49077},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"8a61bf28bd32d62db49c8f94a7518e936370bdac","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.11_1769713049319_0.9377657120174228","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@comfanion/usethis_todo","version":"0.1.12","license":"MIT","_id":"@comfanion/usethis_todo@0.1.12","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"53f99a78953d1ea9dbf848d7c554d8e74d02d3f0","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.12.tgz","fileCount":5,"integrity":"sha512-00Ffs0xkAJujF7CTX0V8YgvKzujV38uRtNl8uNQvPtg1pLGnpcFHfJ4wakX05pprFL35RhRv2SfkBgq6Tix0Fw==","signatures":[{"sig":"MEQCIAFMReGq1bYF4slmdXzl9Pt/sOAcUQhsc9REe0bLpx8NAiB97smBNow1omBjGfaszzJNbYgmfz7cOZOwLm4lF/torA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50195},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"664b38a65829618d22025d4275765253437a8a35","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.12_1769767274297_0.5675488158717745","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@comfanion/usethis_todo","version":"0.1.13","license":"MIT","_id":"@comfanion/usethis_todo@0.1.13","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"87e131398610edb98dfab378f4cc6140932240d8","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.13.tgz","fileCount":5,"integrity":"sha512-I88EDg3NKOgDitUF6UjQJzlw0NAAvZ9h92yxm6EW98FQYdPxAwyK3bjq2ClX/SHvghk29cR318nW/1eGQgMnEw==","signatures":[{"sig":"MEQCIBCI/iA4WgXIxD8J493kKXYphY0iS/ITIwl/QluXmY/zAiAFAKZTqLuuwMIImfGkaad8Q2WFBeRT71imIk77ox6tiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50136},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"664b38a65829618d22025d4275765253437a8a35","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.13_1769768511712_0.2665833064364218","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@comfanion/usethis_todo","version":"0.1.14","license":"MIT","_id":"@comfanion/usethis_todo@0.1.14","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"a883322aa1c59deaad2024a572f8f8b67adb9bd5","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.14.tgz","fileCount":5,"integrity":"sha512-kzVy7KxdG8pizogxrMzWs6GLcgws41UUG1UkXLFC7/Qs3fq1Q1lg7tpWhMaNZ5W3mlDQ+l6axTBIg6Yhgwd47w==","signatures":[{"sig":"MEUCIFu6CA8l2whZyoAock23WHcCodBtP/TKz/Y+Kx+7Z0pFAiEA7mgiMBk+BjHtQcy7gnRFTTl9d7ntR3jF8gHC0tfBDG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49671},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"664b38a65829618d22025d4275765253437a8a35","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.14_1769768996332_0.06204517702036294","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.0":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.0","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.0","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"0d74cae7ecbe2724fac42168c387e8d0239fbc0f","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.0.tgz","fileCount":5,"integrity":"sha512-xYOB4wfMUC+jJILN6W9qWL1YwG5B/kEjk8tUuPBKh1JqKVg1kQOt0D9CppqVe1jPhlTtcw4H+gbxoYAlPqrglQ==","signatures":[{"sig":"MEQCIAmKImMBxa+UKqGe81eiIxV+ru7yrj2b5PIjHlWk3uHcAiAf/M+2xaiYRxgP1lUktqo5VMZqRIl2VzcKhhNCYWYpIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49874},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.0_1769769799795_0.5876287717717337","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.1":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.1","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.1","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"1e886809473ecf0ab4d7d16960286676b5057bf3","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.1.tgz","fileCount":5,"integrity":"sha512-SCkuTx+VjdAp77y7zQeJnYiW/FDsL0PJUSX+mzFK8DibGi4xP40Uy39j2UohxD51aHMNPeLGyOqATDLmwZYLWA==","signatures":[{"sig":"MEYCIQCqxWubh15DdUEkoGZmYB9KHKUslKK9fYhjb5Nerlig6QIhANdrgHOBAd1SFm2tcya1KEEct38UI04UE8IzQd5hteqW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49083},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.1_1769770012719_0.3320096269584012","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.2":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.2","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.2","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"2ab14531a6f21fa5aa3e6522127b4203c3a9ef16","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.2.tgz","fileCount":5,"integrity":"sha512-tAE+VvE8qnMOIztSx+08h54Uwvz2/vLJwH2Di7BpLsJRF7SWUO3cryEd6n/0LJ/tH7RUkws0MZugDUOP7gYevw==","signatures":[{"sig":"MEQCIFKiXHpYBbtqPVDAmIMHOR+Zm6elQl9VNexUJyVd5AJ+AiBrR5KFrpIcRn/HUkWGY2TY0WZU5GHAcoBMjW3Z62PZkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50235},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.2_1769771764627_0.21415610666505214","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.3":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.3","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.3","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"66dc55498f2d342c976df1d6f5c711bd2436297f","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.3.tgz","fileCount":5,"integrity":"sha512-UtuQChkOVm6iWpoLh0EkGKSc95Ahhes0ykadWmhPoZRsxAIlJp4/MRnuZHx50IFh+p/bmfo/G5eaTYvcN6BnDQ==","signatures":[{"sig":"MEUCIAryHns6eWWh0c1WqJRI4wXyp4T70vdNSTKaR6rSYswKAiEAuaIuQq9/GRfP9FsXKB6cfjWYX1y3973cfqOSF55CHEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49084},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.3_1769773041017_0.32612643498337346","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.4":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.4","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.4","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"2f24a3bd7e845124baf136ecc83980580a11779d","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.4.tgz","fileCount":5,"integrity":"sha512-sNBvzJzkCrYfUcsJ+VkL5LlBszajiBoXuDCehXxfxhmqLMJNKICW5qxJQ/0eOE3b/FNN6KDuEOdDh7VCEwba1w==","signatures":[{"sig":"MEUCIECBdO8GuJLcmH1P0atoPSq+Kru5nENZLT1E7TQY/11hAiEA7k40J3vFARdvffu29I/v2gtIgnIrKY59wYOZvzTeVBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49585},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.4_1769773509561_0.5727755179756506","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.5":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.5","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.5","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"19e492fb4e7ba6203b938c1123f5fa92cfdebd94","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.5.tgz","fileCount":5,"integrity":"sha512-tWi+RMPKQGRC4DXLnYHAeFgyYt2r9yCcb0HahB0gmOplvkkRxRd+GX/Ym0AOXtYjutcR9xs9HHF6S9OBSxIfKg==","signatures":[{"sig":"MEQCID/s3X+9Bju28j2X0ydx51h3hx9MOyoqPP5lhdZihPnCAiBcoCkr9tACV0XuCzTFRuN1+4EhMXB5PgyUSpRjZ0VDNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49092},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.5_1769773672809_0.8832581588673785","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.6":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.6","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.6","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"dcb8a17a6806f4cffec80dba740960ab120f6fe9","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.6.tgz","fileCount":5,"integrity":"sha512-r1AzB/3pwjrMs6X0eeP0rIzYW2Gh4VnF+k5iGuIGbESGGTvSnR2ojBUmSy6yTQoyfokuDoe6SfkbpyxxFq756Q==","signatures":[{"sig":"MEUCIB+6tvPnnQDSjJ72xrT7qgSR51IKwPJudrJQW4i/DB12AiEA9smN2lCZfKXzeIo86U9nDq6TEe0rznC6u9IP/RlUJlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49359},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.6_1769773836083_0.9152350910405118","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.7":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.7","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.7","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"3787fd45a2dadcf05914899ead1aa8b1ba5a647f","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.7.tgz","fileCount":5,"integrity":"sha512-7SU85W6NDV9D2jobkHtHzUepo0T9Ro9MsWuFdt4U5/qWGGXMlmNUJgTzUmEJxGj4sEL8J1HSKTzqs8WSUnKW4Q==","signatures":[{"sig":"MEUCIQCL/1d31oIlN6x0T53zei4xgG8ZzbNRzOvylj+dezunkgIgQcTdZ8kLHf8x6mxfPkbhLuEbmyiyUkpNbVt2xDoAcNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47237},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.7_1769774167074_0.26126964728537616","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.8":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.8","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.8","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"243c27da02e62bb812baea4580161325a45b02eb","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.8.tgz","fileCount":5,"integrity":"sha512-FRy61gmGS+Fc5jga9yeedZimEJxpGCeK0GB/2JvuG4RYSuh6vSxqzoraIv2XkpQSnyWYxOUWnO1xOZsk/21mcw==","signatures":[{"sig":"MEUCIDuwICP4Ehm6EUtTk404cFzaFS0Ce22QwTi7QxR4wDOQAiEA+jARMCDKTB/31B7ZGiAqBnfkoiKYYflJyKd+biP7iVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47290},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"47bd8e02e98be83935745d33a12ad5cb5ebd33f1","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.8_1769774507609_0.23350405439046806","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.9":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.9","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.9","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"0482688127550954a44b6aecb85ad94976f8a697","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.9.tgz","fileCount":5,"integrity":"sha512-GDnnEb/UuWFJc+ko2OWnJSrumnVwqtkXt2sdIrIZV3RqPC5Nl9lOyEflLFOd0tNpszV3A6X/NMcxO3AE5rgREw==","signatures":[{"sig":"MEQCIEmcnA204ch+ZaheqZEGD09l8VlOnQsgW6MKt5BgpunEAiAelaHjs7xqsT6yMhcPenlljs9V9GQeXbJWitUrwJlZHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47245},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"a6463f4f57e436e6ce11f160ce8d2be146f5a9a7","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.9_1769775624229_0.43293707896235967","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.10":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.10","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.10","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"ae848d39944f60fe3ade29f71f8003f9f44b2d34","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.10.tgz","fileCount":5,"integrity":"sha512-89EBHzyZbI6prpVucvGPzMTSmduG3Z3ZLwWJPwi308wseNOdwFCbdZ2+SS82+jH8rDfWPPpEI+P0hbaMaPosrA==","signatures":[{"sig":"MEQCIFehcwapMSv+WS3nZwsf0aZnSxMmjMqyRMWmKXd/amumAiA0iI+8B4L3ytgQ0qNsv6eG4ISCR6xc5So26MAcxk8ZpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47889},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0a96368a926e4fba06ee3e47683d30b3dc79949c","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.10_1769776187106_0.02620099947051724","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.11":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.11","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.11","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"b8a7d602f8b840227a7b7e56f04cb2b7779006b4","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.11.tgz","fileCount":5,"integrity":"sha512-D2jGMha+1USHDuPrL25j1PVzqjE2wN+jjnYgaEpTlCYBxCYHG4UgBJswAKnk1h+t8ERWO7Sz178nHETWSQB2+A==","signatures":[{"sig":"MEQCIEdTx7OFyc/ZchIwHsKabPahFMa+FQrz52OgiP6a6wSrAiAoyrb7TAV5cyOq9VJTaEPcqENzS/JyCXQfrAxCJ9oNaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50694},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"afbf7786345cfb2ac87e7fb4c7f00442ae761982","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.11_1769776581788_0.744076015929312","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.12":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.12","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.12","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"79e36184299f6ec680daace985d7beb690ad4408","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.12.tgz","fileCount":5,"integrity":"sha512-YQjjx3vkPFLf75YzYgQ7CrEBd3qgo5AqH8u83PLnO4OFxu5l5wsATJNYf+xtlciojxpc/ApU9iGfnbY+GtQCsQ==","signatures":[{"sig":"MEYCIQDzESURTUKkgyAF4MdiyEy6Z+/bPzZPocfcVtLxzXHe8AIhAOUCpUhyigeZpjVI+CpcB+RpuHW7eDol7KEkwHWHAYHL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50301},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"4274a4a09d12dfad9f8b5f8c0e0ddaa39490dbe0","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.12_1769777097606_0.8537072010007558","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.13":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.13","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.13","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"7c3dd9422bdda4e29feda0e2a0e620099137eba6","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.13.tgz","fileCount":5,"integrity":"sha512-8uM6AT7E3W/dMfunb113hsRDNM/dheyPfasqpr/w/zn3DC/YkIpwEWFbLHU5U6r7IrPwUDCV5DEyeQPsS3mWMQ==","signatures":[{"sig":"MEUCIQCRm+7tcEFfgr9JR/TS8+wvPIwHS8SKo4t0WlnAA3vmiAIgNMYLbO9T7mXTCUCrIYQqALI8kZKZBsytLJvxjiFzKd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50344},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"a96324a8b2ffcc64d8514bb07f9e70f00f0edcef","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.13_1769777399122_0.40453482487324877","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.14":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.14","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.14","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"573d0e1c24e8e08ec4a5d0dc5476aa5d59a9b6d2","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.14.tgz","fileCount":5,"integrity":"sha512-RSyrcS/mBxm5MxlXDDk05v5htlVNI6PipKrspaRE4p2kq4hdB4pPmbVRntGdtHzeNGQLQ7NaoDkuz2F5Q4xznA==","signatures":[{"sig":"MEUCIAWCox2NZ7CKIADIxavcK792X0+odbyLzdZGN0ND7J7HAiEA6LjVaDlbcRcVQgFNzBxxL93jhSwNyYiTavswedOkc5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50510},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"6294a514b382e5dca962c4b53dfc31410490178f","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.14_1769778386334_0.9952892921975283","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.15":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.15","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.15","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"26f665b3e7dd902a658034000ce6ef88ec90f073","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.15.tgz","fileCount":5,"integrity":"sha512-iCNssYOsTp5QGZs697/h/ntVQp+yI5/Aa3HjC8xHMIjeClEbURfIdHWUb6lrYU05ipODSYpS1yajJXAUp/IBmQ==","signatures":[{"sig":"MEUCIAIcOox06gkss6Nsx9RHF2C/WJAVIGkaABJBHzo9smqjAiEA0BzufEZkZwRpKw+5HEx1SpTS7FXf4wsK83jKKS66xFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49552},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"6294a514b382e5dca962c4b53dfc31410490178f","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.15_1769779221035_0.2068867364334035","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.16":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.16","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.16","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"70886efea0c9f1a67f5276904f36a495767806a5","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.16.tgz","fileCount":5,"integrity":"sha512-oKHfOc1xn6Fl2G7m8mFLHFZokmybMsBOVtlbtn97XQFsylFOBX+qN4q2P3CYUKWTNW+qWmWekgqWI1p7Fv2/Eg==","signatures":[{"sig":"MEUCIDDnnRls8o7QGH7WA5uLqOH4og1Jse+j3/KKPApabWsiAiEAwfjoNYyL2domq9fGSgZ3395ipC0vyMi2Mm8uWhGQpCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50990},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"6294a514b382e5dca962c4b53dfc31410490178f","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.16_1769779703877_0.6149363546922959","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.17":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.17","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.17","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"026afe6f139516ff2685955d8815dd15c57f0298","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.17.tgz","fileCount":5,"integrity":"sha512-NSp//0Wc39Okr1eq1wfYlpMQsEt8mu46iO9AO5aYxrswlcDDj2YUjcNQyNtaaki2d6PF9BAWA48jHCjs9V2fiw==","signatures":[{"sig":"MEUCIQDzk5Km3SPn9b06R8jG+gcUG60NOQRG8bvfOoWN48ZhKQIgQzTfgFwLcCD3M43JK1e8eM/8FG3C/z4jJ2YhbZdIi0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50305},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"6294a514b382e5dca962c4b53dfc31410490178f","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.17_1769780069317_0.5268300307542673","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev.18":{"name":"@comfanion/usethis_todo","version":"0.1.15-dev.18","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15-dev.18","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"63ac0916b0119b2f5977eafb1c87540ec84ede95","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15-dev.18.tgz","fileCount":5,"integrity":"sha512-lomARgSwYoqIBVr74OiAHpBN2UNq/k0OlZ8wMmeGyh5qN8VTQm82HUAVvHoGwwRxYSBn0Tm0pZU7JrktK2AuNQ==","signatures":[{"sig":"MEQCIFuVGVMVZrhu6l/yewhimJVjScvsRxI/tibrOkvsj1BGAiAhwFPIvvtGYjABhP0q45KMp86dX49+zXcBUTj0ZHAg1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50305},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"b5876ff24f116020a517fab4137211e48fb9ab9d","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15-dev.18_1769781979396_0.627718665029263","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@comfanion/usethis_todo","version":"0.1.15","license":"MIT","_id":"@comfanion/usethis_todo@0.1.15","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"54bf1e61c38ad945c22ea3af3c3c85ba84411f63","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.15.tgz","fileCount":5,"integrity":"sha512-v0HwSnc3vRDg0u80sHo27UdK0uWyauCJjM5Rk5LXxkcNtW1d3ZZOkLqk1OAv1LzBu2G8be270B5BBuCRNzNyDg==","signatures":[{"sig":"MEYCIQDlfZ3hI9Y4ARQTRdzdB9/aewT1nYOhM4YNXpTepXuNAgIhAI1GVOV2oLrqlhNYZD9GmrfiSm604C8VYwVzgKHc+jkQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50298},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"b5876ff24f116020a517fab4137211e48fb9ab9d","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.15_1769782156838_0.8428020386411312","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.1":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.1","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.1","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"4f3bdcafbcd0f3d4ece29e64e1dcee9f72ca5275","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.1.tgz","fileCount":5,"integrity":"sha512-3AfM8vb4d24/VgJFDnwQoCRyXQxGnTkbG6Q9pTTQk+kg7brZunwapiQzMvOyKUAFVym10Vb1iEbcI/o0EhwSoA==","signatures":[{"sig":"MEUCIQC0QHsV05/TK0R+ZFahMKXChBfRvDb9nHuAnKn9BEFwigIgY/N0FXzV2DzTZYUdRXv+a0qZrxE6NlW5YNN2BzfEIhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50101},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.1_1769783274065_0.8284707960130899","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.2":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.2","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.2","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"fc8c38ca899f65c29ec54282a6f1e22b5632bd25","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.2.tgz","fileCount":5,"integrity":"sha512-sz7kQR/7Na3qxqcpHCziYF3832Cg1RPg+ZIHfBWnXmU8MkGylP9eu+9zjRBitUiEKan99aD4a4A+yRMItMcsjQ==","signatures":[{"sig":"MEUCIQDbqp3jKnV+VF1t69AyvWKoZzwZxG5jTL+UrOtRvsXACwIgTEoCXDgtTOhgHmPKMUWfU8I5BLddiff0Nfqul8caNaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49715},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.2_1769788469827_0.8106517873877745","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.3":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.3","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.3","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"848c7b96cb80dd6cc7a8da450662351160eca09a","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.3.tgz","fileCount":5,"integrity":"sha512-iMepbBe8KEj0Fyf+IagLuWEb0knypTud2K19jHK9Sbmjpn3PVDBPvKIm/v9JTt+U2S3GUI/3DTrswSgV20gKgw==","signatures":[{"sig":"MEYCIQCaTbgVK673J9xNE+1RrNjkMOeXvMIEV9RPjCzmZCTjXAIhAPs+kgS7UABMst5Lo26h3pFdxUAgMhh7PinEfXNY420X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49687},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.3_1769788881623_0.11894760715645458","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.4":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.4","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.4","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"94306518fc64e614c489ecea412dad2d0faaa739","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.4.tgz","fileCount":5,"integrity":"sha512-exNNxn0XE4LivuviwkBA5MkurtvHa1eH1eZ1RS8KGOrYY/vtdxNHk0ROVwPBi09hPbLHWTIaK6lphZCLucA+kg==","signatures":[{"sig":"MEYCIQDkW42wha+QBzoqkEuJLTOeJ5OAxE859mLha1AicvMysAIhAIkmMCLxsUyrWFcHYEouKXjrXSBnj+urX+aqHl8kd2tO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50745},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.4_1769789228218_0.3332399840621787","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.5":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.5","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.5","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"f25f9521733dae84779cd1d90dd2a0dd4bdb9787","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.5.tgz","fileCount":5,"integrity":"sha512-tVzigzLMoVwm4m7Eo6FPM1DViKO1EAYDsjcYPG1OEnHlctJ+sHvU/xiIjvosjB730y0uCytnb45PizCRBk0Mhg==","signatures":[{"sig":"MEYCIQCGjIqc5XYUpE72I70Ele5iSw817rGOQo3VAzHoge36dQIhANx1YUCxvpKj0M5QDjhRIEnfnYlMAu777/oU0/qNDZxJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50805},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.5_1769789470410_0.9820820446761951","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.6":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.6","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.6","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"f4e39b49f5984985f5b0cb4a70947bfea1fa2445","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.6.tgz","fileCount":5,"integrity":"sha512-tWU4/ko7D9xu87o8hjqPe8UIDPVdNrGRjqYSrTVE07vIgNWo8IF5O33lVm5nUer5vtbS/wYoW3U6ZwRQwKJKNg==","signatures":[{"sig":"MEQCICMlogZXZgz5QL5b/4q8TfxbxxqdDliJyBy8vi4IVfYWAiAz9I498ZEYbgtzNERWq5HlSuRcs9YPNXqde6jcp4ZghQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51047},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.6_1769789827165_0.07108943770889464","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.7":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.7","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.7","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"50e5de31568a463bc12bc4ff27267777ab40882d","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.7.tgz","fileCount":5,"integrity":"sha512-jXpYmX72DtG6CPkkPVx+xQJaFpwhxpXHMHZKOSPtCr+dPyvN3p/STN3fV233vFcMwKkVBSDn/mri5GJvWjRYRQ==","signatures":[{"sig":"MEUCIElpauWFPISNDNhDpFabwXHeAch0FL2w1Mf3WhxyRsGyAiEA+AY8uhVR6cEAZsSo4wEoNTVwW2Hv8NmimK6BFCYhsIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51140},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.7_1769790073095_0.9259474583338942","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.8":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.8","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.8","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"1f8403ecff13a26588aedc8528adb0894a21b6ed","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.8.tgz","fileCount":5,"integrity":"sha512-HGmZfml8U3mWgyNePfrWWQXNKxsh7KcRS2IBb72ehyD6jdvzHzFYF5ezxqz0QwWKEMqU9fPmVYkGyC9QNKPuaQ==","signatures":[{"sig":"MEQCIBXkuBTXsD97gArXS32oafRRhHQSv76awwmMb3bkmgciAiAJca4BXPvz6WmFHwMwzt0or+glqSp0fQkxX0rUpkHkIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51271},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.8_1769790233683_0.012711428287152993","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.9":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.9","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.9","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"f6fe6b38ea174d93cfe9824de193b0c9f0bf1393","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.9.tgz","fileCount":5,"integrity":"sha512-T0cIudjjsVshoyAupiGyKLKWPFns6d58pBRfSQt+L5k70KIYOZMxCynaHdAr89E0NCu5QNp/G9Sc81q42ZDlQg==","signatures":[{"sig":"MEYCIQCgm9Jy2Q5EYq6odraeVYgW0btjYBxAHzoOcTqgs526HgIhALbY5Wllb+Mdm1nhPAqAQfoUO6HqZdPhmw3MKt04sKA8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51254},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.9_1769790439790_0.350059013254695","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.10":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.10","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.10","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"ee0a9233fa6f24ce0856b554ea4df54f55ec2d17","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.10.tgz","fileCount":5,"integrity":"sha512-qXSsYzqaUqCCxaZKx30KM0x6wX+fgnOZ71uqYuD65v3C9265fYUaVFc9mLT5qMKia4TBern2SJksFwYFCeeKBQ==","signatures":[{"sig":"MEUCIF/sAKBOzbAG07EMSMVaqn7gLindHO6LvL0zjmJfWdbLAiEA6zG84f/ZvtA575F9sNJ03+O4sFTxTwE/GJob/w16XnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51481},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.10_1769790916735_0.5371553539056557","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.11":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.11","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.11","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"1a87e45895f376e667bd1014f7bd2d0d36402651","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.11.tgz","fileCount":5,"integrity":"sha512-3V1vSc11tI+tgxF/FuFtOqKywxYm61PMkFVlBHyomtIfld8ThDtprlVbo60rYJbvEcJ9GYZ6hQ4DI2ZE+ox2NQ==","signatures":[{"sig":"MEYCIQDdV2FtEZP1wGNcxPHEvNroaAzDBLfoZvGnqwi82zGN0wIhAJrMUGW1X7GtwMqKGkRGbrZSX6oz988cPzJNhbuMzC9Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51269},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.11_1769791190397_0.3528957264208157","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.12":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.12","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.12","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"470632c8514c5f4310a87c74b25c155f6b8356f5","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.12.tgz","fileCount":5,"integrity":"sha512-H2i96I6v/+toQoGyE1PL3TpUAPIi5erRFfEokdUkuNiVf74cD1LdN5sLRzUGtj61NM2+k3mRAk+B3mkpx+QgYQ==","signatures":[{"sig":"MEUCIQD48AJObOV7t/4FF3T/k6giqDh8fP5NyGRF+45vSlrNVgIgYY8eg3eLz3cCY6dNrlMgczg0cBueLqWAPGPN8jQwkeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50030},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"0ffca74b75cf880db0af2020ca3877e652ea7ef4","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.12_1769791434934_0.5474398040877528","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev.13":{"name":"@comfanion/usethis_todo","version":"0.1.16-dev.13","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16-dev.13","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"4e0ce2e4acacbaf86ba4022c2760e883b1ccb606","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16-dev.13.tgz","fileCount":5,"integrity":"sha512-wvMo9yHfPCDj4Gw9Q6gwtO0tLXOq0n7o+fU8O4gujmXVRWA5+qYzWZbFNV1sl5t/OMrulDCI94nJ3clUj12Ilw==","signatures":[{"sig":"MEQCICRFeo9WWOxdT5naI9ZBg65+2VUmbhplZvz2JgMcnui1AiBdK69etd1X/wLomquRysX+i9okHV/X6kMbkcqK0mjqeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52320},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"1d6c186fb06863736c304b9b60fbf3bbeb2a80f9","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16-dev.13_1769794865664_0.41309224018207247","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@comfanion/usethis_todo","version":"0.1.16","license":"MIT","_id":"@comfanion/usethis_todo@0.1.16","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"dist":{"shasum":"5504deb42f44e2b7c7e2bf2b7cfde8efcf097b15","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.16.tgz","fileCount":5,"integrity":"sha512-jFp/Rk1pETZTf1sjIj5H79fGdhia407Q7qRhs3HBMd/H2Bw5CvJeleNZUWr5qTfFdZyKJOKNNoVUltWGAaquCw==","signatures":[{"sig":"MEUCIF21D/YMHW6edVJPSbCvGOwMWk+UBdWM4sS3wiIVfdGjAiEAwoDAVHgahQnESKL+yPJlJkkjsy4QUK3smiBPsPeZ2Mw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53787},"main":"./index.ts","type":"module","engines":{"node":">=18"},"exports":{".":"./index.ts"},"gitHead":"c55d242498e7711c7e60daf740f3f900d04e9238","scripts":{"test":"bun test"},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"_npmVersion":"11.4.2","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@opencode-ai/plugin":"1.1.39"},"_hasShrinkwrap":false,"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/usethis_todo_0.1.16_1769804518480_0.780453060468665","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@comfanion/usethis_todo","version":"0.1.17","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","type":"module","main":"./index.ts","exports":{".":"./index.ts"},"scripts":{"test":"bun test"},"dependencies":{"@opencode-ai/plugin":"1.1.39"},"peerDependencies":{"@opencode-ai/plugin":">=1.1.0"},"engines":{"node":">=18"},"license":"MIT","_id":"@comfanion/usethis_todo@0.1.17","gitHead":"b6212cf676a2e03f1bfc2d631c1363ffea77879b","_nodeVersion":"22.16.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-Al2bU/gMlR6zztbOvHjfBbqwm0zwGDHlj11B03M+sHqaJOK9I7jnuwwZHqiwYrl+twErY82Ezblx/vnto0GSbg==","shasum":"880baca7c7a082f4cd589946c3fd9b61f799c080","tarball":"https://registry.npmjs.org/@comfanion/usethis_todo/-/usethis_todo-0.1.17.tgz","fileCount":5,"unpackedSize":53787,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBIrSOaogF8gz7kN1Nfs+YLToOcMtWom6n9odHdQH/zkAiEA4b0y5X0cBUC+RiEZ656LlaIpCg/QhyQghMpLC7zGX8E="}]},"_npmUser":{"name":"evgeniyst","email":"bodunjo855@gmail.com"},"directories":{},"maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/usethis_todo_0.1.17_1771594067206_0.982299281384097"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-28T13:20:11.612Z","modified":"2026-02-20T13:27:47.522Z","0.1.0":"2026-01-28T13:20:11.802Z","0.1.1":"2026-01-28T13:55:35.454Z","0.1.2":"2026-01-28T14:00:56.312Z","0.1.3":"2026-01-28T14:03:01.522Z","0.1.4":"2026-01-28T14:11:49.897Z","0.1.5":"2026-01-28T14:23:14.703Z","0.1.6":"2026-01-28T23:49:01.868Z","0.1.7-dev.0":"2026-01-29T11:06:16.780Z","0.1.7-dev.2":"2026-01-29T17:50:11.989Z","0.1.7-dev.3":"2026-01-29T18:09:45.410Z","0.1.7":"2026-01-29T18:19:35.294Z","0.1.8":"2026-01-29T18:21:04.186Z","0.1.9":"2026-01-29T18:24:08.810Z","0.1.10":"2026-01-29T18:39:26.815Z","0.1.11":"2026-01-29T18:57:29.482Z","0.1.12":"2026-01-30T10:01:14.475Z","0.1.13":"2026-01-30T10:21:51.837Z","0.1.14":"2026-01-30T10:29:56.476Z","0.1.15-dev.0":"2026-01-30T10:43:19.938Z","0.1.15-dev.1":"2026-01-30T10:46:52.855Z","0.1.15-dev.2":"2026-01-30T11:16:04.808Z","0.1.15-dev.3":"2026-01-30T11:37:21.176Z","0.1.15-dev.4":"2026-01-30T11:45:09.728Z","0.1.15-dev.5":"2026-01-30T11:47:52.950Z","0.1.15-dev.6":"2026-01-30T11:50:36.240Z","0.1.15-dev.7":"2026-01-30T11:56:07.205Z","0.1.15-dev.8":"2026-01-30T12:01:47.756Z","0.1.15-dev.9":"2026-01-30T12:20:24.377Z","0.1.15-dev.10":"2026-01-30T12:29:47.242Z","0.1.15-dev.11":"2026-01-30T12:36:21.941Z","0.1.15-dev.12":"2026-01-30T12:44:57.763Z","0.1.15-dev.13":"2026-01-30T12:49:59.257Z","0.1.15-dev.14":"2026-01-30T13:06:26.484Z","0.1.15-dev.15":"2026-01-30T13:20:21.198Z","0.1.15-dev.16":"2026-01-30T13:28:24.019Z","0.1.15-dev.17":"2026-01-30T13:34:29.456Z","0.1.15-dev.18":"2026-01-30T14:06:19.544Z","0.1.15":"2026-01-30T14:09:16.980Z","0.1.16-dev.1":"2026-01-30T14:27:54.228Z","0.1.16-dev.2":"2026-01-30T15:54:29.980Z","0.1.16-dev.3":"2026-01-30T16:01:21.810Z","0.1.16-dev.4":"2026-01-30T16:07:08.359Z","0.1.16-dev.5":"2026-01-30T16:11:10.557Z","0.1.16-dev.6":"2026-01-30T16:17:07.302Z","0.1.16-dev.7":"2026-01-30T16:21:13.252Z","0.1.16-dev.8":"2026-01-30T16:23:53.824Z","0.1.16-dev.9":"2026-01-30T16:27:19.939Z","0.1.16-dev.10":"2026-01-30T16:35:16.893Z","0.1.16-dev.11":"2026-01-30T16:39:50.552Z","0.1.16-dev.12":"2026-01-30T16:43:55.080Z","0.1.16-dev.13":"2026-01-30T17:41:05.803Z","0.1.16":"2026-01-30T20:21:58.640Z","0.1.17":"2026-02-20T13:27:47.363Z"},"license":"MIT","description":"OpenCode plugin: enhanced TODO tools (dual storage + dependency graph)","maintainers":[{"name":"evgeniyst","email":"bodunjo855@gmail.com"}],"readme":"# 📋 @comfanion/usethis_todo\n\n**Smart TODO management with dependency graphs and priority tracking**\n\nStop juggling tasks in your head — let the graph show you what to do next!\n\n---\n\n## ✨ What is this?\n\nAn OpenCode plugin that transforms TODO lists into **intelligent task graphs**:\n\n- 🎯 **Dependency tracking** — tasks know what blocks them\n- 📊 **Visual graph analysis** — see available, blocked, and parallel tasks\n- 🔥 **Priority system** — CRIT | HIGH | MED | LOW with auto-sorting\n- 🏗️ **Hierarchical IDs** — E01-S01-T01 (Epic → Story → Task)\n- 💾 **Dual storage** — enhanced features + native TUI integration\n- 🚀 **Smart transitions** — auto-promote tasks when conditions are met\n\n---\n\n## 🧹 Context Leak Problem & Auto-Pruning\n\n### The Problem\n\nThis is **not** a problem introduced by this plugin — it is an existing problem in the **default `TodoRead` / `TodoWrite` MCP tools** that ship with AI coding agents (Claude Code, OpenCode, etc.).\n\nThe default TODO tools work through MCP (Model Context Protocol). When the agent calls a TODO tool, two things happen:\n\n1. The **MCP tool response** is added to conversation history (the agent sees the result)\n2. A **separate chat message** is injected into the conversation as a workaround for UI display\n\nThe agent sees **both** — the tool result AND the duplicate chat message. Every single TODO call produces **double output** in the context window:\n\n```\nAgent calls: TodoWrite(...)\n  → tool response:   +800 tokens  (MCP result — agent sees this)\n  → chat message:    +800 tokens  (UI workaround — agent sees this too)\n  ─────────────────────────────────\n  Total per call:    ~1,600 tokens (2x duplication)\n```\n\nIn a typical session, an agent calls TODO tools **dozens of times** — creating tasks, updating statuses, reading the list, checking what's next. Without cleanup:\n\n```\nCall 1:  TodoWrite   →  +1,600 tokens (tool result + chat duplicate)\nCall 2:  TodoUpdate  →  +1,600 tokens (tool result + chat duplicate)\nCall 3:  TodoRead    →  +1,600 tokens (tool result + chat duplicate)\nCall 4:  TodoUpdate  →  +1,600 tokens (tool result + chat duplicate)\n...\nCall 20: TodoUpdate  →  +1,600 tokens (tool result + chat duplicate)\n─────────────────────────────────────────────────────\nTotal TODO overhead: ~32,000 tokens — stale duplicated snapshots\n```\n\nOnly the **last** call result matters. The other 19 are stale data sitting in the context window, pushing out useful code, conversation, and reasoning. This is the **context leak** — silent, cumulative, and it degrades agent performance as the session progresses.\n\nThe problem compounds with larger task lists. A 30-task graph with dependencies can produce 2,000+ tokens per call. With 2x duplication, after 15 updates that's **60,000 tokens** of dead weight — roughly 20-30% of a typical context window, gone.\n\n### The Solution: Auto-Pruning\n\nThis plugin solves both problems — stale accumulation **and** duplication — by hooking into `experimental.chat.messages.transform` to automatically clean up old TODO results **before each LLM call**:\n\n```\nCall 1: usethis_todo_write  →  [TODO pruned] + snapshot removed     ← cleaned\nCall 2: usethis_todo_update →  [TODO pruned] + snapshot removed     ← cleaned\nCall 3: usethis_todo_read   →  [TODO pruned] + snapshot removed     ← cleaned\nCall 4: usethis_todo_update →  (full graph output) + latest snapshot ← only latest kept\n─────────────────────────────────────────────────────\nTotal TODO overhead: ~800 tokens — constant, not cumulative\n```\n\n**How it works:**\n\n1. **Track last call** — after each TODO tool execution, the plugin records the `callID` in a per-session state\n2. **Transform messages** — before each LLM inference, the plugin scans all messages and replaces old TODO tool outputs with `[TODO pruned]`, clearing both `output` and `input` fields\n3. **Keep latest** — only the most recent TODO call result is preserved in full, giving the agent current state\n4. **Prune chat snapshots** — the plugin publishes TODO state as `## TODO` user messages for UI display; old snapshot messages are **removed entirely** from the message list, keeping only the latest one. This eliminates the duplication problem where the agent would otherwise see both the tool result and the chat message\n5. **Complete cleanup** — when all tasks are marked `done`, even the last result and the last snapshot are pruned — the TODO list served its purpose and no longer needs context space\n\n**Result:** TODO tool overhead is **O(1)** instead of **O(n)** — constant ~800 tokens regardless of how many times the agent interacts with the task list. The 2x duplication from the chat workaround is also eliminated.\n\n### What Gets Pruned\n\n| Content | Pruned? | Why |\n|---------|---------|-----|\n| Old tool outputs (`todo_write`, `todo_update`, etc.) | Yes | Stale state, agent doesn't need old snapshots |\n| Old tool inputs | Yes | Arguments to stale calls are not useful |\n| Old `## TODO` chat snapshot messages | Yes | Duplicate of tool output injected for UI display |\n| Latest tool call output | **No** | Agent needs current state to make decisions |\n| Latest `## TODO` chat snapshot | **No** | Kept for UI consistency |\n| All outputs when all tasks are done | **Yes** | Work is finished, free the entire context budget |\n\n### Default tools vs. this plugin\n\n| | Default `TodoRead`/`TodoWrite` | `@comfanion/usethis_todo` |\n|---|---|---|\n| Tool result in context | Accumulates forever | Auto-pruned, only latest kept |\n| Chat message duplicate | Accumulates forever | Auto-pruned, only latest kept |\n| Tokens per call (visible to agent) | ~1,600 (tool + chat duplicate) | ~800 (only latest) |\n| After 20 calls | ~32,000 tokens wasted | ~800 tokens constant |\n| When all tasks done | Still in context | Fully cleaned up |\n| Context overhead | **O(n)** — grows with every call | **O(1)** — constant |\n\n---\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install @comfanion/usethis_todo\n```\n\n### Configuration\n\nAdd to `opencode.json`:\n\n```json\n{\n  \"plugin\": [\"@comfanion/usethis_todo\"]\n}\n```\n\n### First TODO\n\n```javascript\nusethis_todo_write({\n  todos: [\n    {\n      id: \"E01-S01-T01\",\n      content: \"Setup database schema\",\n      status: \"todo\",\n      priority: \"HIGH\"\n    },\n    {\n      id: \"E01-S01-T02\",\n      content: \"Create API endpoints\",\n      status: \"todo\",\n      priority: \"HIGH\",\n      blockedBy: [\"E01-S01-T01\"]  // Waits for T01\n    }\n  ]\n})\n```\n\n**Output:**\n```\nTODO Graph [0/2 done, 0 in progress]\n\nAll Tasks:\n- E01\n  - E01-S01\n    - ○ 🟠 E01-S01-T01: Setup database schema\n    - ⊗ 🟠 E01-S01-T02: Create API endpoints ← E01-S01-T01\n\nAvailable Now:\n- E01\n  - E01-S01\n    - ○ 🟠 E01-S01-T01: Setup database schema\n\nBlocked:\n- E01\n  - E01-S01\n    - ⊗ 🟠 E01-S01-T02: Create API endpoints ← E01-S01-T01\n```\n\n---\n\n## 🎯 Core Features\n\n### 1. Dependency Graph\n\nTasks can depend on other tasks. The plugin automatically:\n- ✅ Shows which tasks are **available** (no blockers)\n- ⊗ Shows which tasks are **blocked** (waiting on others)\n- 🔗 Resolves **transitive dependencies** (A → B → C)\n- ⚡ Identifies **parallel tasks** (can work on simultaneously)\n\n**Example:**\n```javascript\nusethis_todo_write({\n  todos: [\n    { id: \"T01\", content: \"Design API\", status: \"done\", priority: \"HIGH\" },\n    { id: \"T02\", content: \"Implement API\", status: \"todo\", priority: \"HIGH\", blockedBy: [\"T01\"] },\n    { id: \"T03\", content: \"Write tests\", status: \"todo\", priority: \"MED\", blockedBy: [\"T02\"] },\n    { id: \"T04\", content: \"Setup CI/CD\", status: \"todo\", priority: \"MED\" }  // Parallel!\n  ]\n})\n```\n\n**Graph shows:**\n- **Available:** T02 (T01 done), T04 (no blockers)\n- **Blocked:** T03 (waits for T02)\n- **Parallel:** T02 and T04 can be done simultaneously\n\n### 2. Priority System\n\nFour priority levels with visual indicators:\n\n| Priority | Icon | Use Case |\n|----------|------|----------|\n| `CRIT` | 🔴 | Production down, security issue |\n| `HIGH` | 🟠 | Sprint goal, blocking others |\n| `MED` | 🟡 | Normal work (default) |\n| `LOW` | 🟢 | Nice to have, refactoring |\n\nTasks are **auto-sorted** by priority in all views.\n\n### 3. Hierarchical IDs\n\nOrganize tasks in 3 levels:\n\n```\nE01-S01-T01\n│   │   └── Task 01\n│   └────── Story 01\n└────────── Epic 01\n```\n\n**Benefits:**\n- 📁 Nested display (epics → stories → tasks)\n- 🔍 Easy filtering (all tasks in E01-S01)\n- 📊 Progress tracking per epic/story\n\n### 4. Status Lifecycle\n\n```\ntodo → in_progress → ready → done\n  ↓         ↓          ↓       ↓\n  ○         ⚙          ⏳      ✓\n```\n\n**Auto-transitions:**\n- `ready` → `done` when `releases` field is set\n- Blocked tasks show `⊗` icon (even if status is `todo`)\n\n### 5. Release Tracking\n\nMark tasks as part of releases:\n\n```javascript\nusethis_todo_update({\n  todos: [{\n    id: \"E01-S01-T01\",\n    status: \"ready\",\n    releases: [\"E01-S01-T01-ST02\"]  // Auto-promotes to \"done\"\n  }]\n})\n```\n\n---\n\n## 🛠️ Tools Reference\n\n### `usethis_todo_write`\n\nCreate or replace entire TODO list.\n\n```javascript\nusethis_todo_write({\n  todos: [\n    {\n      id: \"E01-S01-T01\",                     // Required: Hierarchical ID\n      content: \"Task summary\",               // Required: Short description\n      description: \"Full details...\",        // Optional: Long description\n      status: \"todo\",                        // Required: todo | in_progress | ready | done\n      priority: \"HIGH\",                      // Required: CRIT | HIGH | MED | LOW\n      blockedBy: [\"E01-S01-T02\"],            // Optional: Dependency IDs\n      releases: [\"E01-S01\", \"E01-S01-T02\"]   // Optional: Release tags\n    }\n  ]\n})\n```\n\n**Returns:** Full graph analysis\n\n### `usethis_todo_read`\n\nRead all tasks with graph analysis.\n\n```javascript\nusethis_todo_read()\n```\n\n**Returns:**\n- All tasks (nested by epic/story)\n- Available tasks (ready to work on)\n- Blocked tasks (waiting on dependencies)\n- Progress stats (X/Y done, Z in progress)\n\n### `usethis_todo_read_five`\n\nGet next 5 available tasks (smart view).\n\n```javascript\nusethis_todo_read_five()\n```\n\n**Returns:**\n- Top 5 tasks by priority\n- Resolved blockers (what they depend on)\n- Missing dependencies (if any)\n\n**Perfect for:** \"What should I work on next?\"\n\n### `usethis_todo_read_by_id`\n\nGet details for specific task.\n\n```javascript\nusethis_todo_read_by_id({ id: \"E01-S01-T01\" })\n```\n\n**Returns:**\n- Task details\n- Full dependency chain\n- Missing dependencies\n\n### `usethis_todo_update`\n\nUpdate one or more tasks (merge mode).\n\n```javascript\nusethis_todo_update({\n  todos: [\n    {\n      id: \"E01-S01-T01\",\n      status: \"done\"  // Only update status, keep other fields\n    },\n    {\n      id: \"E01-S01-T02\",\n      status: \"in_progress\",\n      priority: \"CRIT\"  // Update multiple fields\n    }\n  ]\n})\n```\n\n**Returns:** Updated graph\n\n---\n\n## 🎨 Usage Examples\n\n### Example 1: Sprint Planning\n\n```javascript\n// Create sprint tasks\nusethis_todo_write({\n  todos: [\n    // Epic 01: User Authentication\n    { id: \"E01-S01-T01\", content: \"Design auth API\", status: \"done\", priority: \"HIGH\" },\n    { id: \"E01-S01-T02\", content: \"Implement JWT\", status: \"in_progress\", priority: \"HIGH\", blockedBy: [\"E01-S01-T01\"] },\n    { id: \"E01-S01-T03\", content: \"Add refresh tokens\", status: \"todo\", priority: \"MED\", blockedBy: [\"E01-S01-T02\"] },\n    \n    // Epic 02: User Profile (parallel work)\n    { id: \"E02-S01-T01\", content: \"Design profile schema\", status: \"todo\", priority: \"MED\" },\n    { id: \"E02-S01-T02\", content: \"Create profile API\", status: \"todo\", priority: \"MED\", blockedBy: [\"E02-S01-T01\"] }\n  ]\n})\n```\n\n**Graph shows:**\n- **Available:** E01-S01-T02 (in progress), E02-S01-T01 (can start)\n- **Blocked:** E01-S01-T03, E02-S01-T02\n- **Parallel:** E01 and E02 can progress simultaneously\n\n### Example 2: Daily Workflow\n\n```javascript\n// Morning: What's next?\nusethis_todo_read_five()\n// → Shows top 5 tasks by priority\n\n// Start working\nusethis_todo_update({\n  todos: [{ id: \"E01-S01-T02\", status: \"in_progress\" }]\n})\n\n// Finish task\nusethis_todo_update({\n  todos: [{ id: \"E01-S01-T02\", status: \"done\" }]\n})\n\n// Check what unblocked\nusethis_todo_read_five()\n// → E01-S01-T03 now available!\n```\n\n### Example 3: Bug Triage\n\n```javascript\n// Critical bug found!\nusethis_todo_update({\n  todos: [{\n    id: \"BUG-001\",\n    content: \"Fix login crash\",\n    status: \"todo\",\n    priority: \"CRIT\"  // Jumps to top of queue\n  }]\n})\n\nusethis_todo_read_five()\n// → BUG-001 is first (CRIT priority)\n```\n\n### Example 4: Task Completion Tracking\n\n```javascript\n// Mark tasks as completed with linked subtask IDs\nusethis_todo_update({\n  todos: [\n    { id: \"E01-S01-T01\", status: \"ready\", releases: [\"E01-S01-T01-ST01\", \"E01-S01-T01-ST02\"] },\n    { id: \"E01-S01-T02\", status: \"ready\", releases: [\"E01-S01-T02-ST01\"] }\n  ]\n})\n// → Auto-promotes to \"done\" when releases set\n\n// Check progress\nusethis_todo_read()\n// → Both tasks promoted to \"done\"\n```\n\n### Example 5: Complex Dependencies\n\n```javascript\nusethis_todo_write({\n  todos: [\n    { id: \"T01\", content: \"Database schema\", status: \"done\", priority: \"HIGH\" },\n    { id: \"T02\", content: \"API layer\", status: \"done\", priority: \"HIGH\", blockedBy: [\"T01\"] },\n    { id: \"T03\", content: \"Business logic\", status: \"todo\", priority: \"HIGH\", blockedBy: [\"T02\"] },\n    { id: \"T04\", content: \"UI components\", status: \"todo\", priority: \"MED\", blockedBy: [\"T03\"] },\n    { id: \"T05\", content: \"Integration tests\", status: \"todo\", priority: \"MED\", blockedBy: [\"T04\"] }\n  ]\n})\n\n// Check specific task\nusethis_todo_read_by_id({ id: \"T05\" })\n// → Shows full chain: T05 ← T04 ← T03 ← T02 ← T01\n```\n\n---\n\n## 📦 Storage\n\n### Dual Storage System\n\nThe plugin writes to **two locations**:\n\n#### 1. Enhanced Storage (Project-local)\n```\n.opencode/\n  session-todo/\n    {session-id}.json    # Full data with dependencies\n  todo.log               # Action log\n```\n\n**Contains:**\n- Full task data (description, blockedBy, releases)\n- Timestamps (createdAt, updatedAt)\n- All custom fields\n\n#### 2. Native Storage (TUI Integration)\n```\n~/.local/share/opencode/storage/todo/{session-id}.json\n# or\n~/Library/Application Support/opencode/storage/todo/{session-id}.json\n```\n\n**Contains:**\n- Simplified format for OpenCode TUI\n- Status/priority mapped to native values\n- Dependencies shown in content field\n\n**Why dual storage?**\n- ✅ Enhanced features (graph, dependencies)\n- ✅ Native TUI display (sidebar integration)\n- ✅ Best of both worlds!\n\n---\n\n## 🎨 Visual Indicators\n\n### Status Icons\n\n| Icon | Status | Meaning |\n|------|--------|---------|\n| ○ | `todo` | Not started |\n| ⚙ | `in_progress` | Working on it |\n| ⏳ | `ready` | Done, awaiting release |\n| ✓ | `done` | Completed |\n| ✗ | `cancelled` | Abandoned |\n| ⊗ | (blocked) | Has active blockers |\n\n### Priority Icons\n\n| Icon | Priority | Color |\n|------|----------|-------|\n| 🔴 | CRIT | Red |\n| 🟠 | HIGH | Orange |\n| 🟡 | MED | Yellow |\n| 🟢 | LOW | Green |\n\n---\n\n## 🧠 Smart Features\n\n### 1. Auto-Promotion\n\nTasks automatically transition when conditions are met:\n\n```javascript\n// Task in \"ready\" status\n{ id: \"T01\", status: \"ready\", releases: [] }\n\n// Add completed subtask IDs\nusethis_todo_update({\n  todos: [{ id: \"T01\", releases: [\"T01-ST01\", \"T01-ST02\"] }]\n})\n\n// → Auto-promotes to \"done\"!\n```\n\n### 2. Transitive Dependencies\n\nThe plugin resolves entire dependency chains:\n\n```javascript\n// T03 depends on T02, T02 depends on T01\nusethis_todo_read_by_id({ id: \"T03\" })\n\n// Shows full chain:\n// Blocked By (resolved):\n// - T02 (in_progress)\n// - T01 (done)\n```\n\n### 3. Parallel Detection\n\nIdentifies tasks that can be worked on simultaneously:\n\n```javascript\n// Graph analysis shows:\n// Parallel groups:\n// - [T02, T04, T05]  ← Can all start now\n// - [T03, T06]       ← Can start after T02 done\n```\n\n### 4. Missing Dependency Detection\n\nWarns about broken references:\n\n```javascript\n{ id: \"T01\", blockedBy: [\"T99\"] }  // T99 doesn't exist\n\nusethis_todo_read_by_id({ id: \"T01\" })\n// → Blocked By missing: T99\n```\n\n---\n\n## 🔧 Advanced Usage\n\n### Custom ID Schemes\n\nWhile hierarchical IDs are recommended, you can use any format:\n\n```javascript\n// Hierarchical (recommended)\n{ id: \"E01-S01-T01\" }  // Epic-Story-Task\n\n// Flat\n{ id: \"TASK-001\" }\n\n// Custom\n{ id: \"AUTH-LOGIN-JWT\" }\n```\n\n**Note:** Hierarchical IDs get nested display, others show flat.\n\n### Filtering by Status\n\n```javascript\n// Get all in-progress tasks\nconst todos = await usethis_todo_read()\nconst wip = todos.filter(t => t.status === \"in_progress\")\n```\n\n### Progress Tracking\n\n```javascript\n// Track epic progress\nconst todos = await usethis_todo_read()\nconst epic01 = todos.filter(t => t.id.startsWith(\"E01-\"))\nconst done = epic01.filter(t => t.status === \"done\").length\nconst total = epic01.length\nconsole.log(`Epic 01: ${done}/${total} done`)\n```\n\n---\n\n## 🐛 Debugging\n\n### Enable Logging\n\nAll operations are logged to `.opencode/todo.log`:\n\n```\n[2024-01-15T10:30:00.000Z] WRITE: Created/Updated 5 tasks in session abc123\n[2024-01-15T10:31:00.000Z] UPDATE: Updated 1 task(s) in session abc123\n[2024-01-15T10:32:00.000Z] READ_FIVE: Read next 5 tasks (total ready: 12)\n```\n\n### Check Storage\n\n```bash\n# Enhanced storage\ncat .opencode/session-todo/{session-id}.json\n\n# Native storage (macOS)\ncat ~/Library/Application\\ Support/opencode/storage/todo/{session-id}.json\n\n# Native storage (Linux)\ncat ~/.local/share/opencode/storage/todo/{session-id}.json\n```\n\n### Validate Dependencies\n\n```javascript\n// Check for circular dependencies\nusethis_todo_read()\n// → Graph analysis will show if tasks are mutually blocked\n```\n\n---\n\n## 🌟 Advantages\n\n### Compared to Simple TODO Lists\n\n| Feature | Simple TODO | usethis_todo |\n|---------|-------------|--------------|\n| Task list | ✅ | ✅ |\n| Dependencies | ❌ | ✅ |\n| Priority sorting | ❌ | ✅ |\n| Graph analysis | ❌ | ✅ |\n| Parallel detection | ❌ | ✅ |\n| Hierarchical IDs | ❌ | ✅ |\n| Auto-transitions | ❌ | ✅ |\n| Release tracking | ❌ | ✅ |\n\n### Compared to Project Management Tools\n\n| Feature | Jira/Asana | usethis_todo |\n|---------|------------|--------------|\n| In your editor | ❌ | ✅ |\n| Offline | ❌ | ✅ |\n| Free | ❌ | ✅ |\n| Fast | 🐌 | ⚡ |\n| No context switch | ❌ | ✅ |\n| Version controlled | ❌ | ✅ (project-local) |\n\n---\n\n## 📊 Technical Details\n\n- **Storage format:** JSON\n- **Session isolation:** Tasks are per-session (multi-session support)\n- **Dependency resolution:** Recursive graph traversal\n- **Priority sorting:** Stable sort (CRIT → HIGH → MED → LOW → ID)\n- **Status normalization:** Backward-compatible with old formats\n- **TUI integration:** Automatic sync to native storage\n\n---\n\n## 🤝 Contributing\n\nFound a bug? Have an idea? Open an issue or PR!\n\n---\n\n## 📄 License\n\nMIT\n\n---\n\n## 🎉 Authors\n\nMade with ❤️ by the **Comfanion** team\n\n---\n\n**Work smart, not hard — let the graph guide you!** 🚀\n","readmeFilename":"README.md"}