{"_id":"@99percentpeople/pi-thinking-fold","_rev":"12-ccfd8bb5c9e806a5abb5b4d7e0a54956","name":"@99percentpeople/pi-thinking-fold","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.0":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.0","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.0","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"100aa5bc52dda0413609c775d8cd2ed00090bcd3","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.0.tgz","fileCount":8,"integrity":"sha512-ryZSVB22DeI2djKssNpX3nKfNDRH3pZNch0UekwBoqZX7ek3YXcqx8yIGYiTs1RoonjxvGulifoyLCdJWiIDiw==","signatures":[{"sig":"MEQCIC9W+Zb09lncUwMb6FBKAPh96rTyRY2KWLniQP+WlXQfAiBUu+tKWVSDCQneBHshkVSX1QRkz8NG+jJ9pvliWSHB6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43827},"type":"module","gitHead":"1c4948e35dbdeb274339575f9cbe8416cafbdc94","scripts":{"prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"99percentpeople","email":"myzzzyearz@outlook.com"},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"12.0.1","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.0_1785294696528_0.844016959291326","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.1","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.1","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6e24cde9cc3bef96fc7374861a6ef23f9bd9b232","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.1.tgz","fileCount":8,"integrity":"sha512-m1TBD24boiEe02kDIF3oImzxf19ceQUB7oN6bZGzIq1tL/Smgo96WI9r4hxL3iePjSSlJzU6/Wxuc70l36rtEg==","signatures":[{"sig":"MEUCIQCwGQlsF4Uw3ulhJ40vpBfiJ4TYXxZETKWON1e26CDiwQIgDgCHUCV3zCx3Ea750STVLQfGB5tjxGxdbQwZ43xMK+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46237},"type":"module","gitHead":"abdbdb1c4fb86e3ddd599f25024282b325b5d4aa","scripts":{"prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.1_1785314864599_0.22237366275599468","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.2","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.2","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"90b968d9857d24e3a086e8323692b145965b7c15","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.2.tgz","fileCount":8,"integrity":"sha512-hM37nY9Nv+TL7nTN3A6wW6eKJthVfvMlhhELXe+bBXf7I6QU9dAKp6s64WkYWwZdQwA/SyMknGjzmEKYhh1Img==","signatures":[{"sig":"MEUCIQCrovIb62h4SZc00GmXsol9Sr7u0kBNVLvw4a0Quq5pjQIgFhudCjxysbii+4aaPt9if8iI5Qo9nNbUaAjkZy+gaTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47504},"type":"module","gitHead":"09ccb14eb64b8e8053f7361f53005e2c6d79b7f3","scripts":{"prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.2_1785381843894_0.9129501570455971","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.3","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.3","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"a912087a07b0c22a98289cfff23a11a8971df41b","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.3.tgz","fileCount":6,"integrity":"sha512-LpL5UkV4VNjRD9rZquENC95az0csfUb+gF3NHeDWV873fEAlp4djsTfhjWXFSaAu9EefK0GJFsG92oYHriDe7g==","signatures":[{"sig":"MEYCIQCYC+u04ZuU9tXvPv+QQxfptYZGZ3z1IcqsYcRYx4hPegIhAJiR35HIUf8wz+CDx/QxBk1zUe2m8hKb95C1mdJ60mJC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95655},"type":"module","gitHead":"b01a46896668a3092656b86841488f17ac886979","piBuild":{"assets":["model-behaviors.json"]},"scripts":{"build":"bun run ../../scripts/build-package.ts","prepack":"bun run build","prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.3_1785395920908_0.44671682962264536","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.4","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.4","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./dist/index.ts"]},"dist":{"shasum":"3f7e3a197ccb97b96c325878dde4c9ae95c11dbf","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.4.tgz","fileCount":6,"integrity":"sha512-anj4qZKA7A2ztpNVqWyQ3+VWYxsOwp1vSNyXQiMzs+HeLe/jZdOYqoOzSWoUQkT5lipSCZn0NKNxOPp/antxQQ==","signatures":[{"sig":"MEYCIQCYljbnAV22VMGiqJmRYf6yXlhcVHphjp5QIkJPTzREmAIhAKV8n3KNvrDNNUJUqfquqDMctkSWEfn6O8KBf3IP3mR8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95655},"type":"module","gitHead":"0d85185fc1af2c66df54fcd9347c6e53d10e83f6","piBuild":{"assets":["model-behaviors.json"]},"scripts":{"build":"bun run ../../scripts/build-package.ts","prepack":"bun run build","prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.4_1785411538184_0.7291614356433245","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.5","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.5","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./dist/index.ts"]},"dist":{"shasum":"009ee2cb3d11467396003191e130312fe6fe5872","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.5.tgz","fileCount":6,"integrity":"sha512-hCRCHxDdIE2f9nxfH6c3jhk+MNpypQom/mJiLUU2TMMGqLFB9vAqJ0VzUZgJD52QR8kfVpK8lK3Epyp3jeHlsA==","signatures":[{"sig":"MEUCICwqNez9TrNOUfI7d7Zp6nG1TeepzHSTtCkY18i8JwIOAiEA4Ra7L+lE9ot3yb4T2om3wVAveF4lMFWXTm0PY9xsk0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96390},"type":"module","gitHead":"568ca054f98b5bb1e9413cd6ff4eb8a36a063608","piBuild":{"assets":["model-behaviors.json"]},"scripts":{"build":"bun run ../../scripts/build-package.ts","prepack":"bun run build","prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.5_1785500962178_0.2883302772708751","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.6","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.6","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./dist/index.ts"]},"dist":{"shasum":"21474e6e854466b11e092e4c6a4e0dc3466ae4f1","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.6.tgz","fileCount":6,"integrity":"sha512-XRT+mhtRWw1NzwV/43x2eM/E1Hrus4ho1kJMkYKDJuDw3VKRJhS/DFqNv/YYvalmwhOAqfl+87Vn1EurvAhhPQ==","signatures":[{"sig":"MEUCIQDmhdkFXs++tBkQEOutxPjjElRxZUoFohYH69kkD83GHgIgaYKRT00K0yDGSYO+8ehi5aCQq5TZFHrnxn+gZRKLGi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116013},"type":"module","gitHead":"4052a88db23926338197da2bc000a3153fb94a63","piBuild":{"assets":["model-behaviors.json"]},"scripts":{"build":"bun run ../../scripts/build-package.ts","prepack":"bun run build","prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.6_1785652786618_0.8900052808712746","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.7","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.7","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./dist/index.ts"]},"dist":{"shasum":"9f7e5618255abdd77312c4c8814d9069940ba029","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.7.tgz","fileCount":6,"integrity":"sha512-NVGuL84WXbjRncz/ePeniLyMTLUY6DlJQTVKkyCVJiDHA0NKrRqFm20lasb7RPcOhAvY4msKf4WCIKj6m7MkSQ==","signatures":[{"sig":"MEQCIFLQ+ZCQPQP5LKro6LVbALfdKTRQyx9q96juHJkiOtooAiBwXI2HBcHPkWnEjtMMhOnl1Y19AFWPqYpCBtWnfAr3Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115590},"type":"module","gitHead":"3b04b6d60dea717a5ec08f5ee4b570ff409d4133","piBuild":{"assets":["model-behaviors.json"]},"scripts":{"build":"bun run ../../scripts/build-package.ts","prepack":"bun run build","prepublishOnly":"bun run --cwd ../.. check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.7_1785761680146_0.2116305634246467","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.8","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.8","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.min.js"]},"dist":{"shasum":"a8b9f5271ecf048ac06b4f798f25cfddd0204c99","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.8.tgz","fileCount":6,"integrity":"sha512-DHYAsw3gzvbNhswdZWEn/SfaXiP0i55qR4joSSXG/FH94ZvnpRub1a7ipVnkBDQhxsmvaYR673c2KfaLBtQlPA==","signatures":[{"sig":"MEYCIQCfozIX9Hj5Cqua9YzcuNuEWCa7ryOxKi47pq73MWXSQAIhAK4GbuT7TgtfR0DpPlrtQhb3igbib22dDD7GYEGl0V+G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93686},"type":"module","gitHead":"e9fb82fa5b14fd22f55feb487bbb814e1ab45206","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.16.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@99percentpeople/pi-shared-settings":"0.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.8_1786199299133_0.3830185419360701","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.9","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.9","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.min.js"]},"dist":{"shasum":"edc6837c5ba174a79cae3eecc5c417dcbcfef9ec","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.9.tgz","fileCount":6,"integrity":"sha512-g4xD+64k//L9dk1XzcRvNmImMFdmHCduOUvR1dMjs80/SDfG2RZUVGlWDta5WXDjexGR5cJa7VjQsjeQax1pZQ==","signatures":[{"sig":"MEUCIQDQ2YixKiSctPxhotftHzQ0gLb7AXTEZKKSnVfzdoIOQAIgcMGBj2ZtoMhKrmTcC7lm7lKW8Y+/zaJ7IhNM8+ktvXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120015},"type":"module","gitHead":"555160c2730fc23372cd23eaf6f3faaad1d6565f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.17.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.9_1786728464319_0.5616249890580531","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.10","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","_id":"@99percentpeople/pi-thinking-fold@0.1.10","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"pi":{"extensions":["./index.min.js"]},"dist":{"shasum":"b1f1337bddff2a9e0b55a6e225e9f05ce1081d6b","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.10.tgz","fileCount":6,"integrity":"sha512-RrI+fFF2gpG5Q6X1ZZy0gZj+Kh6rKCTymrfEkoJVNRsPsq3Xjc0Ly6K5GDXOHDiDFVOHpdafGx37eIVYFmgnKw==","signatures":[{"sig":"MEYCIQD/+jNsji2J/2NCtDsMPG5kINVu22z1S+Ps5xvxmxad5wIhAKO+dot89eWM5btb0927xhoOcFhPbnYiR39AaVqaHZuu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124058},"type":"module","gitHead":"9a497a18a1470d29f06e165ee97a6336f7d1731e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"repository":{"url":"git+https://github.com/99percentpeople/pi-extensions.git","type":"git","directory":"extensions/thinking-fold"},"_npmVersion":"11.19.0","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-thinking-fold_0.1.10_1788939761573_0.2078511089306183","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@99percentpeople/pi-thinking-fold","version":"0.1.11","description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","type":"module","pi":{"extensions":["./index.min.js"]},"keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"author":{"name":"99percentpeople"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/99percentpeople/pi-extensions.git","directory":"extensions/thinking-fold"},"bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"gitHead":"65f2d46d0720cc6c72bc260a43e2574261ef61c5","_id":"@99percentpeople/pi-thinking-fold@0.1.11","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-46MnCSDD/7qjLv09dCD25ZI0TOpLPb37569lB0vCs5qrCiPc59WAw94TkCjpk6vaCCxuiITnSgcvpap8yfMyuQ==","shasum":"c3f6585f1a132f0370d124933fb7329151a2658c","tarball":"https://registry.npmjs.org/@99percentpeople/pi-thinking-fold/-/pi-thinking-fold-0.1.11.tgz","fileCount":6,"unpackedSize":125588,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@99percentpeople%2fpi-thinking-fold@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB+qtW8uJSw1vxpsmwV80R6/x17fNT6IUXKkvBYi9EgrAiEAzR9DUSz6i2LL9tTQaBvuHvc2JcY88ZsD9DQLK0Er4Mk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9d9a6c82-4c32-46c6-b84f-22d84f20c665"}},"directories":{},"maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-thinking-fold_0.1.11_1789027494027_0.5938315444275262"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T03:11:36.392Z","modified":"2026-09-10T08:04:54.490Z","0.1.0":"2026-07-29T03:11:36.698Z","0.1.1":"2026-07-29T08:47:44.732Z","0.1.2":"2026-07-30T03:24:04.034Z","0.1.3":"2026-07-30T07:18:41.063Z","0.1.4":"2026-07-30T11:38:58.324Z","0.1.5":"2026-07-31T12:29:22.346Z","0.1.6":"2026-08-02T06:39:46.802Z","0.1.7":"2026-08-03T12:54:40.271Z","0.1.8":"2026-08-08T14:28:19.298Z","0.1.9":"2026-08-14T17:27:44.457Z","0.1.10":"2026-09-09T07:42:41.709Z","0.1.11":"2026-09-10T08:04:54.174Z"},"bugs":{"url":"https://github.com/99percentpeople/pi-extensions/issues"},"author":{"name":"99percentpeople"},"license":"MIT","homepage":"https://github.com/99percentpeople/pi-extensions#thinking-fold","keywords":["pi-package","pi","coding-agent","thinking","reasoning","tui"],"repository":{"type":"git","url":"git+https://github.com/99percentpeople/pi-extensions.git","directory":"extensions/thinking-fold"},"description":"Fold streaming reasoning into a live tail preview and expand it with Pi's thinking shortcut","maintainers":[{"name":"99percentpeople","email":"myzzzyearz@outlook.com"}],"readme":"# @99percentpeople/pi-thinking-fold\n\nFold long, streaming reasoning blocks into a small live preview in Pi's TUI.\nThe preview follows the latest terminal-visible lines instead of letting a\nreasoning trace continuously grow upward.\n\nDuring thinking you see a compact tail preview with a live timer; afterwards\nit collapses to `Thought for 12.3s`. Press `Ctrl+T` anytime to expand the full\nreasoning trace. Behavior is tunable in `/99settings` (fold depth, while/\nafter-thinking strategies).\n\n## Demo\n\n### Trace models\n\nA reasoning trace collapses to a stable tail preview with a timer, then to\n`Thought for Xs (ctrl+t to expand)` — no more scroll-storms:\n\n![thinking-fold trace demo](https://raw.githubusercontent.com/99percentpeople/pi-extensions/master/promo/demo/thinking-fold.gif)\n\n### Summary models\n\nA reasoning summary keeps its content folded while the working row shows the\nlatest summary headline, then collapses to the same completed timer:\n\n![thinking-fold summary demo](https://raw.githubusercontent.com/99percentpeople/pi-extensions/master/promo/demo/thinking-fold-summary.gif)\n\n## Behavior\n\nWhen **While thinking** is set to `preview`, the assistant Item contains a\ntimed header and its latest terminal-visible lines:\n\n```text\nThinking 7.1s  (ctrl+t to expand)\n  checking the final branch…\n  validating the result…\n```\n\nThe cursor working row separately displays the plain status `Thinking...`. Model\nbehavior determines whether that row uses a summary headline (for example,\n`Running focused tests`) or `Thinking...`. With the default `auto` streaming\nbehavior, summary content stays hidden while trace content shows a tail preview.\n\nCursor styling is intentionally outside this package. Install\n[`@99percentpeople/pi-cursor-effect`](../cursor-effect/README.md) to apply the\noptional wave effect to this and Pi's other main working-cursor labels.\n\nThe Item timer redraws only once per second. When reasoning finishes, the timer\nfreezes as soon as answer text or a tool call starts. The default `auto`\ncompletion behavior hides content for every model, leaving a single line with\nprecise elapsed time. This also handles OpenAI-compatible providers that delay\ntheir `thinking_end` event until the entire answer has streamed:\n\n```text\nThought for 12.3s  (ctrl+t to expand)\n```\n\nAdditional behavior:\n\n- The `preview` strategy shows the latest 5 visual lines by default, for traces\n  and summaries alike.\n- Preview content keeps Pi's native Markdown formatting. Each thinking section\n  is rendered at the current terminal width first, then the preview retains its\n  final terminal-visible rows. Fences, headings, tables, quotes, lists, syntax\n  highlighting, wrapping, and future Markdown behavior therefore need no\n  syntax-specific handling, while the folded height stays fixed as formatted\n  constructs enter or leave the tail window.\n- Pi's normalized `thinking_start` / `thinking_delta` / `thinking_end` events\n  drive streaming and timing, so model IDs never need per-model adapters.\n- **While thinking** defaults to `auto`: summaries show only the timer while\n  traces show their latest lines. Explicit `collapse` and `preview` override\n  that model-aware choice.\n- **After thinking** defaults to `auto`, which hides completed content for both\n  summaries and traces. Explicit `collapse`, `preview`, and `full` override it.\n- An empty Pi `thinking_start` still creates the timed Item. If a provider emits\n  its entire summary immediately before `thinking_end`, the cursor keeps that\n  headline visible for at least one second before `Responding…`.\n- Models that expose neither a trace nor a summary transition directly to the\n  normal `Responding...` working row without an extra availability warning.\n- `Ctrl+T` (or the configured `app.thinking.toggle` binding) switches between\n  the folded view and complete reasoning blocks. Its expansion hint appears\n  only when content is actually hidden: by a `collapse` strategy, or because a\n  thinking block exceeds the configured fold threshold. The chosen state\n  persists across later turns until `Ctrl+T` is pressed again. Toggling requests\n  an immediate TUI redraw, including after the conversation has finished or a\n  completed session has been restored. On Pi 0.85+,\n  clicking a thinking block in fullscreen mode toggles the same global state.\n- `Ctrl+O` keeps its native Pi behavior and only expands tools and other\n  expandable UI content.\n\nThe extension changes display-only message copies. Original assistant messages,\nreasoning signatures, session persistence, and model context are not modified.\nNo extra session entries are added. After a reload, old durations are\nreconstructed from Pi's message timestamps and are therefore approximate.\n\n## Install\n\nBuild and install this checkout as a user-local development package:\n\n```bash\nbun run build:packages\nbun run --cwd extensions/thinking-fold build\npi install ./extensions/thinking-fold\n```\n\nOr test without adding it to settings:\n\n```bash\npi -e ./extensions/thinking-fold/index.ts\n```\n\nRemove the local package with:\n\n```bash\npi remove ./extensions/thinking-fold\n```\n\n## Settings\n\nRun the shared `/99settings` menu. It lists installed `@99percentpeople`\nplugins that expose three independent display controls:\n\n- **Fold after lines** (1–20): maximum terminal-visible lines retained by a\n  `preview` display;\n- **While thinking**: `auto` (hide summaries, preview traces), `preview`\n  (latest lines), or `collapse` (timer only);\n- **After thinking**: `auto` (hide every model), `collapse` (timer only),\n  `preview` (latest lines), or `full` (all reasoning text).\n\nBoth behavior settings default to `auto`.\n\nSettings persist globally in:\n\n```text\n~/.pi/agent/99extensions.json\n```\n\nunder the `thinking-fold` namespace. The model behavior is always resolved from\nthe built-in model behavior configuration described below; an unmatched model\nuses `trace`. Existing `previewLines` and `autoCollapse` settings are migrated\nto the equivalent new values when next saved.\n\n## Model behavior configuration\n\n[`model-behaviors.json`](model-behaviors.json) is the package's single built-in\ncompatibility table. A rule selects by any combination of case-insensitive\nJavaScript regular-expression sources in `api`, `provider`, and `model`:\n\n```json\n{\n  \"version\": 1,\n  \"rules\": [\n    {\n      \"id\": \"responses-summary\",\n      \"api\": \"responses$\",\n      \"behavior\": \"summary\"\n    },\n    {\n      \"id\": \"deepseek-trace\",\n      \"provider\": \"^deepseek$\",\n      \"model\": \"^deepseek-.*$\",\n      \"behavior\": \"trace\"\n    }\n  ]\n}\n```\n\nPatterns are regex source strings without `/.../` delimiters; use `^` and `$`\nwhen a full-field match is required. Invalid expressions fail validation at\nstartup. Rules with more selectors win, then `model` is considered more specific\nthan `provider`, and `provider` more specific than `api`; a later rule wins a\nremaining tie.\n\nThe built-in table uses conservative API-family baselines:\n\n| API/provider family | Behavior | Basis |\n|---|---|---|\n| OpenAI-compatible Chat Completions | `trace` | Pi reads `reasoning_content`, `reasoning`, or `reasoning_text` |\n| Anthropic-compatible gateways | `trace` | Safe fallback because gateway semantics vary |\n| Amazon Bedrock Converse | `trace` | Safe fallback because the model behind `reasoningContent` varies |\n| Mistral Conversations | `trace` | Pi streams explicit `thinking` content items |\n| `pi-messages` gateways | `trace` | Safe fallback for an intentionally generic protocol |\n| OpenAI/Azure/Codex Responses | `summary` | Pi consumes `reasoning_summary_text` events |\n| Google Generative AI/Vertex | `summary` | Pi consumes Google thought parts |\n| First-party Anthropic | `summary` | Pi requests summarized thinking display |\n\nThe conservative Trace rules cover common providers such as OpenRouter, Groq,\nTogether, Fireworks, Cerebras, Hugging Face, Kimi, MiniMax, Moonshot, Qwen,\nxAI Chat Completions, Z.AI, Xiaomi, NVIDIA, Mistral, and Bedrock through their\nPi API adapter. They do not claim that every routed model exposes a raw chain of\nthought; Trace is chosen because it preserves visible content if an untested\nbackend differs. Provider/model-specific rules can override these API baselines\nlater.\n\nOnly the previously exercised OpenAI Responses, Google, and DeepSeek paths have\nlive model coverage in this repository. The additional families are validated\nagainst Pi 0.82.1 adapter source and static fixtures, not paid provider calls.\nThe first config version intentionally supports only `trace` and `summary`, is\nshipped with the package, and has no user override file. This keeps compatibility\ndata declarative and leaves provider/model names out of rendering code.\n\n## Compatibility\n\nPi currently exports `AssistantMessageComponent` but does not provide an\nextension hook for replacing normal assistant-message rendering. This package\ntherefore installs a guarded compatibility patch around the component's public\n`updateContent()` method. It lets Pi create its native thinking `Markdown`\ncomponent, then wraps that display-only child so `render(width)` is evaluated\nbefore its output is folded. The patch prevents duplicates across reloads and\nrestores the original method during session shutdown.\n\nThe package is tested against Pi 0.83.0 and 0.85.1. It supports both direct\nthinking `Markdown` children and the `MouseRegion` wrappers introduced in 0.85,\nand preserves the native `isStreaming` argument for Markdown transformers.\nShutdown restores native content and mouse handlers on existing components.\nIf the public component API is missing, the extension disables itself and reports\na warning. If Pi changes only the\ninternal child layout, an affected message safely falls back to complete native\nrendering instead of exposing markers or modifying source content.\n","readmeFilename":"README.md"}