{"_id":"@bacnh85/pi-config-panel","_rev":"11-8ede5abc55564d7938a4d3c0094c81ed","name":"@bacnh85/pi-config-panel","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.0":{"name":"@bacnh85/pi-config-panel","version":"0.1.0","keywords":["pi-package","pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.0","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"82e0fe2f60d76b0562c2cab92c8b22048de85fee","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.0.tgz","fileCount":8,"integrity":"sha512-3JGbnBICJptmK4wsqrzCXk+c++xAaJpXUrdw5xlMCZKe7/2s5BN1rl9DzSNuzb3N7FFUKQWlNfc+lttArhj1cQ==","signatures":[{"sig":"MEUCIQDONFlaLmG6IrLuqHTmESN2dM7v2CQ0sefPpey5El+BhQIgf4YcGD6ORKDH4rsAA8a/JBydt0uoJTgnkuGEJn3r5f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37395},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"f1714fc36ac7fb250878a23732b6d6705f390e2a","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.84.1"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.0_1787414468406_0.32052571782598815","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bacnh85/pi-config-panel","version":"0.1.1","keywords":["pi-package","pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.1","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"1de9c21c2cc0eb4db1e76fd5abb26ba540b03e98","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.1.tgz","fileCount":8,"integrity":"sha512-TuQmd6m2I3AzEtQs5QQTTAMcBqygpoJibofALlf9GcQrWNpJde7TNyjEiYdHpt5ftymXz7zeP30fuI0ZYunhMw==","signatures":[{"sig":"MEUCIDbwhmkXhlyXa+m4OaowHt49n9+Y+lTLiNjHlIKovHytAiEA+q0pz9P6E5q8ayftRl+DTtzlQECJmP5ScWMmQ/uNh4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46205},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"f8175b4a4c02387b5acaeec28d2cd7e9813b63d1","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.84.3"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.1_1787994319093_0.14553540931873754","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bacnh85/pi-config-panel","version":"0.1.2","keywords":["pi-package","pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.2","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"27059e8e8e136589498b09765b8a4b287e6aac19","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.2.tgz","fileCount":8,"integrity":"sha512-iV+4crTRQYrcjT2QCpUPQ0i1jp89YFkTsUdgYW3AzAmG2q2QzELypXsXa5+HGr/8pEnM9rlYU5d04OpkqiMbzw==","signatures":[{"sig":"MEYCIQCwl/zMMzK6qRtb67i6Tbx9BUwTERHT5YHnygfurgtGUgIhAKVmQGNcbzx9n33Il58kAbtVE8pfrHrBLzSIR2XlbGre","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48446},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"d3d82a501704b09103956285243eb3b95cc1632d","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.84.3"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.2_1787997253300_0.5832691910082124","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bacnh85/pi-config-panel","version":"0.1.3","keywords":["pi-package","pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.3","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"41dd08881f2613a77479164e9f2a3bcbd00a833f","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.3.tgz","fileCount":8,"integrity":"sha512-ve5YVBBu4x8CmwxfCQLJ69bpOuitaDzDjOKyY+klPWjmc6D7CTGGDamz+yiOC8gLTWuU3zwdgotsfdb0WCsgRg==","signatures":[{"sig":"MEUCICnSXAh4aHgZeWldWywF9N9hLZqLd0O02HEcKRGdUMxSAiEA0RV2lLjDPgghXSHZz6Sgre+40+3TBM+AhNwr5/ljp+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52477},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"b3f8148c68ef2193e6925e1f6701962e113f6328","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.84.3"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.3_1788000394113_0.9057233503809645","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bacnh85/pi-config-panel","version":"0.1.4","keywords":["pi-package","pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.4","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"08799cdefc2129292c79b1c683e236542aca94b6","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.4.tgz","fileCount":8,"integrity":"sha512-LMpfXNZaOEPnGHzRxPZt1I/ub47A8JUbYCgANRdmGK39I9GfAOJQV1ETbXEUMvD+gcbaF2wp7j/dAY8mzv13ZA==","signatures":[{"sig":"MEYCIQCiVjEWfTIhsfiXvtK+H5eYGPfxEoPMiUxEHrsXVXr6BgIhAPb5Ac2emHV8ffLo3WqSDeKCozP0hV3L8PmaOAhlxuBY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58776},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"033ebf18fa71b5230632dd1e66a54c29eec02ed0","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.84.3"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.4_1788012104592_0.8353422848591134","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@bacnh85/pi-config-panel","version":"0.1.5","keywords":["pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.5","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"0cbead2d2c803ef66d664402d45b222f24a7f24a","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.5.tgz","fileCount":8,"integrity":"sha512-ND9rkzQTWWLya9UE1fIT65XAX8J/8vwBD6PPsxA9zu/44+ysJWIRfOiPRGIX1SiKfIYaiQkh2Zn9lp3amt552A==","signatures":[{"sig":"MEUCIQCIM9r9DRfdESSBwdg5OD3rTzl/DBiRkDuJqsR/eVnwlwIgG4hb0Y2qRgm4w8egOAMWcm6Edk3cuDsobAe+S05NCBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBmW+Aw23162Uh1SDlAV1G1Bj+h1JOQxeXDQgtiTRrUQIgeGjF3y61WH0yjxOqHl9mRpzdRnqlmEKlfAjc4bvIXcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59044},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"cc37bd31e3d5a358150f774f0e2c2e350d319ae9","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.85.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.5_1789135021427_0.9720546943288588","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@bacnh85/pi-config-panel","version":"0.1.6","keywords":["pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.6","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"65ef8fd47802f60109b633241a2cf35302641a51","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.6.tgz","fileCount":8,"integrity":"sha512-GKl8Y975dKSJtv8FJa+y+VtEk168nCTJ0mQFNskQu92ZJmm56+/4mDVFSqFmWtw4R98huDqxGE6W9A+9WW4f6g==","signatures":[{"sig":"MEYCIQDIpKxieXnapSCgiNdjZxdtSsb9Xv76Fn0A6FPfS8U/JgIhAOFDeUw7x8s5jOSpk/pJLDQDc5xh/jNRMWJ8SjME0glT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCFBLDnYySGNkQknCW0wAVELYS/I+VkqPibZI3cSZMt/AIgYUpaCHyBxhQwvxy4RINRbbLkWsNiTll8ZDbCG9XAeas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59196},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"fc25702c6bed994da1dd5071c5ec8071bfd28393","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.85.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.6_1789204323583_0.8201775694412776","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@bacnh85/pi-config-panel","version":"0.1.7","keywords":["pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.7","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"a0d4b62531849fb44f3992c5cbaccad8c57cd3d2","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.7.tgz","fileCount":7,"integrity":"sha512-rdEvgfxLMEuj1cuKi/A6UQEfuTAM3HX2W4aEao64RFyLyPuuQk4NEQ6Kb7fDIEOwgayc0VFYPjbT/wFvZ1hGgA==","signatures":[{"sig":"MEUCIQCnC4LMBCNp8/S/bY+teuCbTVUSYiMDABfGX9zp62bPxAIgNP/ekrZPRABZVKAII8CAYE+YFwvh/CXFOY/JsLbHS24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDtzC8hjnkBtjZkkmabHxHjPZLHAdzdBQsjKaqh6ADjGAiEAyRm0oqqWhbsbOAh9rjJlmlNMPagniDO6aJe8By6yvuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38496},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"d00c3deaa5f3423b44adc2e160397b2feaf8465f","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.85.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.7_1789880996077_0.42350718112261543","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@bacnh85/pi-config-panel","version":"0.1.8","keywords":["pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.8","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"22576ebff268b85e1f8c4d0c71b20c5d5539d8ee","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.8.tgz","fileCount":7,"integrity":"sha512-zUjy/ilrijfQ/RSFWTIltoJzbTG7QtVlG+9JykraLnok++gQrGk7aH2y2jnshoxcdQT41+159FylyovnaijHDg==","signatures":[{"sig":"MEQCIHzLlZaWFe8qOUTAsfJ/YWy7jzAdunTiaGL5pnzs+fEaAiB12+mnT/4/E1lCfsSCmQ+VHdVgA0kWf4+/Fk/QlsUYXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEDX0DOPuoUGvwUYHT6j+80S9XTXk/1+yv3pYeKLmv8lAiBLlZe9SanK4wYYzo8yEOqBoWNpnfJ0GStJCpK/CgcidQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39563},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"b5330ac3d014f92dff97a2b90cd9ebdbf0de22fd","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.86.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.8_1789962649646_0.940393886942124","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@bacnh85/pi-config-panel","version":"0.1.9","keywords":["pi-extension","config","tui","panel"],"license":"MIT","_id":"@bacnh85/pi-config-panel@0.1.9","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"3e442b88765eb4900e5709e8452d88fd6519e590","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.9.tgz","fileCount":7,"integrity":"sha512-Pq5efH+ciOn3XD1Z1kn9z2hJ6tct8vgRkBXTaeTMRjfzvRg4Ck8GeuE4zD55Gq3wtXN1/EM1oBkF/dAbalEN1A==","signatures":[{"sig":"MEUCIQCyVRi7L/yj2vEbNY9BQF/VLqZUj43meUa8S7Wv7aTuPwIgLQMCcWKp/KWJUC+RgulWAFRqKQ47czXq9u0HiNiS/+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHTabC89kGxOruFeM0kJyaDGXnhrlxNP+rRNP2lpM3HkAiAir6qzLsKrlHvUWSvS9SnjNVWZy2yhrDkCgqRqIrv4Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39798},"main":"./extensions/lib/panel.ts","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"e0ab9215e2df54e5fa42f1c6cc6f616124fdea95","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.87.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-config-panel_0.1.9_1790123262203_0.43979246906458114","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"_id":"@bacnh85/pi-config-panel@0.1.10","bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"dist":{"shasum":"e71d652ac5fc036203d41b0ebe976ab1e19552f6","tarball":"https://registry.npmjs.org/@bacnh85/pi-config-panel/-/pi-config-panel-0.1.10.tgz","fileCount":7,"integrity":"sha512-gN/BykzQMA5Cb8rG/2MY0K7kL2/Ii/6uEKFGMCQOGh/U+0vRzyha8J40YU8ZW4kA0o0ipqxDJGW8kCHq/o1Gag==","signatures":[{"sig":"MEUCIQDZWhulskvtv0pdJAFOgDjZnjLxPf7cGBt4DhafTNO80AIgWLoQpz296TCmvia+enpgw3Vp75aodyvh4RBVb/dctLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICMn4sq5NEX+p8gvYh9xLNjhwxWabhSj0+PHG2/+nviHAiEAvr8v2FF7Y+BV7vxUA3VwJ8IHBwc2M7R7Rb32Vfejk6g="}],"unpackedSize":40400},"main":"./extensions/lib/panel.ts","name":"@bacnh85/pi-config-panel","type":"module","types":"./extensions/lib/panel.ts","exports":{".":"./extensions/lib/panel.ts"},"gitHead":"90930b50f5fc0a4491a748ee1692db40f7ec358a","license":"MIT","scripts":{"test":"cd extensions && mocha","check":"npm run typecheck && npm test","typecheck":"tsc --noEmit"},"version":"0.1.10","_npmUser":{"name":"bacnh85","email":"mail@bacnh.com"},"homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","keywords":["pi-extension","config","tui","panel"],"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"_npmVersion":"10.9.8","description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","directories":{},"maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","chai":"^4.5.0","mocha":"^11.8.0","typescript":"^5.9.3","@types/chai":"^4.3.20","@types/node":"^20.19.43","@types/mocha":"^10.0.10","@earendil-works/pi-tui":"^0.87.0"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-config-panel_0.1.10_1790555264953_0.43696304882518255"}}},"time":{"created":"2026-08-22T16:01:08.175Z","modified":"2026-09-28T00:27:45.204Z","0.1.0":"2026-08-22T16:01:08.539Z","0.1.1":"2026-08-29T09:05:19.242Z","0.1.2":"2026-08-29T09:54:13.456Z","0.1.3":"2026-08-29T10:46:34.261Z","0.1.4":"2026-08-29T14:01:44.736Z","0.1.5":"2026-09-11T13:57:01.500Z","0.1.6":"2026-09-12T09:12:03.683Z","0.1.7":"2026-09-20T05:09:56.164Z","0.1.8":"2026-09-21T03:50:49.731Z","0.1.9":"2026-09-23T00:27:42.302Z","0.1.10":"2026-09-28T00:27:45.042Z"},"bugs":{"url":"https://github.com/bacnh85/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/bacnh85/pi-extensions/tree/main/pi-config-panel","keywords":["pi-extension","config","tui","panel"],"repository":{"url":"git+https://github.com/bacnh85/pi-extensions.git","type":"git","directory":"pi-config-panel"},"description":"Shared interactive config-panel kernel for Pi extensions — arrow-key toggle/edit overlay panels (PanelRow/PanelGroup/PanelAction row model + ConfigPanelModel TUI shell) rendered via ctx.ui.custom.","maintainers":[{"name":"bacnh85","email":"mail@bacnh.com"}],"readme":"# pi-config-panel\n\nShared interactive config-panel kernel for [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) extensions — the arrow-key toggle/edit overlay panel behind `pi-a2a`'s `/a2a-config`, extracted as a library so every extension gets the same panel without duplicating TUI code.\n\n**Pure library** — no `pi` field in package.json, installs nothing into Pi itself. Consumer extensions declare `@bacnh85/pi-config-panel` as a dependency and Pi resolves it transitively at load time.\n\n## Usage\n\n```typescript\nimport { openConfigPanel, row, type BuildRows } from \"@bacnh85/pi-config-panel\";\n\ninterface MyCfg { baseUrl: string; port: number; enabled: boolean; }\n\nconst build: BuildRows<MyCfg> = (cfg, actions) => [\n  {\n    key: \"main\", label: \"Main\", rows: [\n      row(\"baseUrl\", \"Base URL\", \"string\", cfg.baseUrl, (v) => { cfg.baseUrl = String(v ?? \"\"); }),\n      row(\"port\", \"Port\", \"number\", cfg.port, (v) => { cfg.port = Number(v) || cfg.port; }),\n      row(\"enabled\", \"Enabled\", \"toggle\", cfg.enabled, (v) => { cfg.enabled = Boolean(v); }),\n    ],\n  },\n];\n\npi.registerCommand(\"my-config\", {\n  handler: async (_args, ctx) => {\n    const working = structuredClone(currentCfg);\n    await openConfigPanel({ ctx, cfg: working, build, title: \"My Extension\", onSave: (saved) => {\n      if (saved) persistToSettingsJson(working);\n    }});\n  },\n});\n```\n\n## API\n\n| Export | What it does |\n|---|---|\n| `openConfigPanel(opts)` | Open the panel via `ctx.ui.custom`; resolves on close. Esc saves when dirty. |\n| `ConfigPanelModel` | The TUI component (headless-testable — all kernel tests drive it without a TUI). |\n| `row(key, label, kind, value, set, opts?)` | Row factory; setter syncs both the backing config and `row.value`. `opts.mask` hides secrets (`••••`, blank submit keeps the old value). |\n| `toInt(v, fallback)` | Integer coercion keeping the fallback on garbage. |\n| `applyRows(cfg, groups)` | Re-apply every row's value (tests / \"apply\" flows). |\n| `kindValue(kind, raw)` | Coerce a raw input string to a toggle/number/string value. |\n| `filterSuggestions(options, raw, cursor?, emptyQuery?)` | Filter completion options against the cursor's segment (last segment when no cursor); empty segment → full list; case-insensitive substring. |\n| `joinCompletion(raw, itemValue, cursor?)` | Value produced by accepting a suggestion: replaces the cursor's segment (`head + \", \" + value`), preserving tail segments; no trailing comma. |\n| `makeOnAction(model, cfg, build, actions, onError)` | Action-row handler factory (rebuilds rows after add/remove actions). |\n| `PanelRow` / `PanelGroup` / `PanelAction` / `BuildRows<T>` | Row-model types. |\n\n## Rules the kernel enforces (learned the hard way)\n\n- **No nested dialogs.** The panel never calls `ctx.ui.input()/select()/confirm()` while displayed — they render *under* the overlay and fight its focus. Action rows use the built-in inline `prompt()` instead; string/number rows edit inline via an embedded `Input`.\n- **Esc = save & close** when dirty (no confirmation dialog); Esc inside an inline edit cancels the edit.\n- **Whole-group windowing** — a group header never renders without all its rows.\n- **Width-safe render** — every line is truncated to the overlay width (the TUI throws on wider lines).\n- **Secrets stay masked** — masked rows never render the raw value; an empty submit keeps the existing secret instead of wiping it.\n\n## Config placement convention (for consumer extensions)\n\n- Non-secret config (`baseUrl`, toggles, ports) → `settings.json` under the extension's key (`router.baseUrl`, `commandcode.baseUrl`, …). Never write to a repo-controlled `.pi/settings.json`.\n- Secrets / API keys → `auth.json` via Pi's built-in `/login` (`apiKey: \"$ENV_VAR\"` provider pattern). Never settings.json.\n\n## Development\n\n```bash\nnpm test        # mocha + tsx (cd extensions && mocha)\nnpm run typecheck\n```\n","readmeFilename":"README.md"}