{"_id":"@catdaemon/pi-sidebar","_rev":"3-f3f39ad5a868cedf2b6bd9ff56acb7e6","name":"@catdaemon/pi-sidebar","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@catdaemon/pi-sidebar","version":"0.1.0","keywords":["pi-package","pi","sidebar","status-card"],"license":"MIT","_id":"@catdaemon/pi-sidebar@0.1.0","maintainers":[{"name":"catdaemon","email":"carl@cdownie.co.uk"}],"homepage":"https://github.com/Catdaemon/pi-extensions/tree/main/packages/sidebar#readme","bugs":{"url":"https://github.com/Catdaemon/pi-extensions/issues"},"dist":{"shasum":"becedfafc4b88ca49104a2c6b9a0a75ac2c155b4","tarball":"https://registry.npmjs.org/@catdaemon/pi-sidebar/-/pi-sidebar-0.1.0.tgz","fileCount":6,"integrity":"sha512-+XSr6euJO4beI/QF451QIlgAYRgfgpJIuFNzWZ5YH0BgDT8rX3vO/1NTdejDZJS0teBCqQKQ1HjVX/NxsF6wdg==","signatures":[{"sig":"MEUCIEmWs6FrpXKGtZxR8e2h7UaG3C8EXk6sQREviRPBsHd0AiEAsihJy91eMJSGWijyHk0zCa884JdXRorvQ0kGfXz9P2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5787},"type":"module","exports":{".":"./index.ts"},"gitHead":"12cb2298959a66ea8ad66efce2a9e8b50fa233ce","scripts":{"test":"node --import tsx --test src/tests/*.test.ts","prepack":"npm run typecheck && npm test","typecheck":"tsc --noEmit","pack:dry-run":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"catdaemon","email":"carl@cdownie.co.uk"},"repository":{"url":"git+https://github.com/Catdaemon/pi-extensions.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"10.9.2","description":"Shared status-card sidebar helpers for Pi extensions.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-sidebar_0.1.0_1778427621548_0.6953223071271255","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@catdaemon/pi-sidebar","version":"0.1.1","keywords":["pi-package","pi","sidebar","status-card"],"license":"MIT","_id":"@catdaemon/pi-sidebar@0.1.1","maintainers":[{"name":"catdaemon","email":"carl@cdownie.co.uk"}],"homepage":"https://github.com/Catdaemon/pi-extensions/tree/main/packages/sidebar#readme","bugs":{"url":"https://github.com/Catdaemon/pi-extensions/issues"},"dist":{"shasum":"a7cecaa65edfe0448f4c1c7929b3e7b4c76f25e5","tarball":"https://registry.npmjs.org/@catdaemon/pi-sidebar/-/pi-sidebar-0.1.1.tgz","fileCount":6,"integrity":"sha512-CV0dS/0Gl9zXLj0IO3W7oCTgGvSHaVL7uUrSJPOqP0gn60ExleovJ/aFUbvaWpSrMqEkpUd+EMp0v4IcsZNpMg==","signatures":[{"sig":"MEYCIQDUC/zgRz73t5Bo6zfU3i/Skt8+fvI0VPuRGmNZQrLH7wIhAKfhD0Wc1/VUNhR2hkyhDj9SDi1a58yw2182wdGF9OTO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@catdaemon%2fpi-sidebar@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5787},"type":"module","exports":{".":"./index.ts"},"gitHead":"77ba7a501750a0b69e7f5c947644b4881c875b77","scripts":{"test":"node --import tsx --test src/tests/*.test.ts","prepack":"npm run typecheck && npm test","typecheck":"tsc --noEmit","pack:dry-run":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d0bbaf2a-950d-4384-b3ae-15212506f03d"}},"repository":{"url":"git+https://github.com/Catdaemon/pi-extensions.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"11.5.1","description":"Shared status-card sidebar helpers for Pi extensions.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-sidebar_0.1.1_1778428212372_0.2955981738284905","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@catdaemon/pi-sidebar","version":"0.1.2","description":"Shared status-card sidebar helpers for Pi extensions.","type":"module","keywords":["pi-package","pi","sidebar","status-card"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Catdaemon/pi-extensions.git","directory":"packages/sidebar"},"homepage":"https://github.com/Catdaemon/pi-extensions/tree/main/packages/sidebar#readme","bugs":{"url":"https://github.com/Catdaemon/pi-extensions/issues"},"exports":{".":"./index.ts"},"scripts":{"typecheck":"tsc --noEmit","test":"node --import tsx --test src/tests/*.test.ts","pack:dry-run":"npm pack --dry-run --ignore-scripts","prepack":"npm run typecheck && npm test"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"_id":"@catdaemon/pi-sidebar@0.1.2","gitHead":"88d2e1698608eed225afde2c5b33450b91822029","_nodeVersion":"22.22.2","_npmVersion":"11.5.1","dist":{"integrity":"sha512-Ucf6eEgfEFcMTkGbYsvjCaJUJU9X7Odq1gLwkfbef5+lAR0S8mxp7sYMeNE6eg6XFc6O5crvFOOuKxe7J1gwfg==","shasum":"bef9bbe5642286943467f6ccf241750f3b66c17c","tarball":"https://registry.npmjs.org/@catdaemon/pi-sidebar/-/pi-sidebar-0.1.2.tgz","fileCount":6,"unpackedSize":7275,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@catdaemon%2fpi-sidebar@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEjm42YOxUxR5npxSkXMipwWzzPOlvsy7vSZmt3Rz6lpAiEAwzWK+Vr1IsAAfybsfYYN9WTrT38VczYv+jel8o/mwYc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d0bbaf2a-950d-4384-b3ae-15212506f03d"}},"directories":{},"maintainers":[{"name":"catdaemon","email":"carl@cdownie.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-sidebar_0.1.2_1778453021262_0.865991151008829"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-10T15:40:21.445Z","modified":"2026-05-10T22:43:41.669Z","0.1.0":"2026-05-10T15:40:21.697Z","0.1.1":"2026-05-10T15:50:12.512Z","0.1.2":"2026-05-10T22:43:41.422Z"},"bugs":{"url":"https://github.com/Catdaemon/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/Catdaemon/pi-extensions/tree/main/packages/sidebar#readme","keywords":["pi-package","pi","sidebar","status-card"],"repository":{"type":"git","url":"git+https://github.com/Catdaemon/pi-extensions.git","directory":"packages/sidebar"},"description":"Shared status-card sidebar helpers for Pi extensions.","maintainers":[{"name":"catdaemon","email":"carl@cdownie.co.uk"}],"readme":"# pi-sidebar\n\nShared status-card sidebar helpers for Pi extensions.\n\n## Why\n\nMultiple Pi extensions may want to show compact status cards in the top-right overlay. If each extension manages its own overlay independently, cards can overlap, flicker, or fight for the same space.\n\n`pi-sidebar` provides a tiny shared registry for status-card layout. Packages that use the same global registry can stack cards consistently even when they are installed and loaded independently.\n\nThis is especially useful for:\n\n- Sharing one top-right status-card area across extensions\n- Avoiding overlay collisions between independently packaged extensions\n- Keeping sidebar visibility and card ordering consistent\n- Letting packages remain decoupled while coordinating layout\n\n## What it does\n\nThis helper package exports status-card primitives:\n\n- **Shared registry**: stores card state under the `Symbol.for('pi.agent.statusCards.state')` global key.\n- **Card lifecycle helpers**: register, unregister, and update status-card layout.\n- **Stacking layout**: computes top offsets for visible cards based on order, height, and gaps.\n- **Sidebar visibility helpers**: toggles and checks whether the shared sidebar should render.\n- **Card rendering helper**: renders a bordered status-card using Pi theme colors.\n\n## Usage\n\nThis package does not register Pi tools or slash commands directly. It is intended as a library dependency or vendored helper for other Pi packages.\n\nPackages that expose user-facing Pi behavior should document their own installation steps instead of asking users to install `pi-sidebar` directly.\n\n## Runtime dependencies\n\nThis package expects Pi's TUI/theme types at runtime through the host extension environment. It has no external service dependency.\n","readmeFilename":"README.md"}