{"_id":"@signalsandsorcery/plugin-sdk","_rev":"58-5c1c3244b38756bb08b2ba7bee55d726","name":"@signalsandsorcery/plugin-sdk","dist-tags":{"latest":"3.20.1"},"versions":{"1.0.0":{"name":"@signalsandsorcery/plugin-sdk","version":"1.0.0","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.0.0","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"c0e8c139d239e303dc86b4b26d8e31b361481754","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.0.0.tgz","fileCount":7,"integrity":"sha512-FDQcraorAcS2DU9o7njglzhzIqGX6DiZpSnXJpqUrecgBVHmMxKnoow1juiLl0mycyxNML5KR8+ZTTHVdZYKBA==","signatures":[{"sig":"MEUCID2N4JZ2IBXfZYe4oaogWsObmpKycKqTDhrNFpq18xG+AiEAjY8TuK5MPqHiUxXYbRhVv2/LcCCkzefUAz5YRzMr3SQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442557},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0b457b15d9c8013b0327cc2e3d44b883a3f235d9","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.3","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.20.0","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.0.0_1774922235673_0.6459898459236364","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@signalsandsorcery/plugin-sdk","version":"1.1.0","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.1.0","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"9c4e551288efd7498759a42f680b09c2ac138197","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.1.0.tgz","fileCount":8,"integrity":"sha512-c2cNUbcd9lkWaOZEXAulYHnyZpjww6thwLqElfu/bC/1+IK9FZBnOFYjz94Zaad44klRYPrreTkOjpM/XNaAYA==","signatures":[{"sig":"MEQCIBW6c/G+S9YJF4djxOtkjfWsQh/qcA0UxqOihCrAxpE4AiAZLSkeqS5Vu8NL2V5CclCrUAPrumXZYnt6k2E6inaw7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473830},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d763e389ea068c9bd16b461828a3bdddcec31c7e","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.3","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.20.0","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.1.0_1775315861252_0.6941343040322776","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@signalsandsorcery/plugin-sdk","version":"1.2.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.2.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"f897e53167878b1e66622b684ada2f4d92946db3","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.2.1.tgz","fileCount":8,"integrity":"sha512-/iYIJVQJApTGPTx2AOcClqAcBJruIsXYHFGub5J+94hxbTUVLngve5xdmmqb7XY967f1RI6Fki0vOtp71H9mbw==","signatures":[{"sig":"MEUCIEvtNdD2f2C2A56WDdI4Cwf0KzP2Cd3KErWIygJKWtQ5AiEAiA6L8CWAFWPH72p0jpECUP5gcd4ktYKNgqhbCN0hCLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478359},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"72562891afd43c9ec7d64f2183ae7665cd9c551b","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.2.1_1775589510538_0.8685009257669214","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@signalsandsorcery/plugin-sdk","version":"1.2.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.2.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"bce6242da9b9e83d7a0c97d22a33b8e805c92670","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.2.2.tgz","fileCount":8,"integrity":"sha512-HKu3n7HG/4GEAuhuFFuwteER9KPyKfHdWhQA1xz4zu0VKDEeQrqMrTEQJAqlWiWZ49vLrDu7Gdp0w5O+k0MCcg==","signatures":[{"sig":"MEUCIDl8ENUrrCKMv+XKsb+oy4v9vCWvKwOw4hxtGtY2kLhsAiEA6AN/rlCoyDViQ/rWkrkZ2OkC+TkfnY1xnkNceHp2ia4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":481173},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"515803cca2d9577887db6a753adf47136b74fb75","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.2.2_1775833593433_0.8728300157123128","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@signalsandsorcery/plugin-sdk","version":"1.2.3","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.2.3","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"85dc40556848696dfa263b67becd0358bde5a837","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.2.3.tgz","fileCount":8,"integrity":"sha512-mYPw0y86aOyrww19hjGMfYnHh9IHxjaH8PZ7L0a+PYNCCYy2leTzw6qCJ9WaXVvo/aUF+sUmFm6ncTD3qv1Kcw==","signatures":[{"sig":"MEUCIGxw35DRm8g+L9eyx2riekQ5/zogv1UmIpHqsBQZ8wxbAiEA0ZUlp5LAMOXrhVf5m9xBtSu2mee90tLT7bMoJGgDWgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486382},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"83916d9364abe3c0fd927c9cb8519bacbe408c8e","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.2.3_1776197285768_0.11640632947772156","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@signalsandsorcery/plugin-sdk","version":"1.3.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.3.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7912222535cb259950333bfb54b1f67195bf24f3","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.3.1.tgz","fileCount":8,"integrity":"sha512-3GGT8b2vX/ndtEUXSq3Z8BU8VEMRQIL8D4aK/dzeG74HDloRx71XXLMiavW66RoskiJenvtt2bPQdyGjZ9CuxA==","signatures":[{"sig":"MEUCIE/FwcE4wd/VtJbZ0TxRo2VbyhKjtZEzpsjR6U7SxBY2AiEAuxmxbDhLZDFwNepMC3fvts6AOvKH84kdaeWIKrc6g18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503087},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b898051445d7139a9874e6195e6f9121416c4ffe","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.3.1_1776399178112_0.7511342152619238","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@signalsandsorcery/plugin-sdk","version":"1.3.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.3.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"05bfd8026f3d286e649969aa6a53f40f216db304","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.3.2.tgz","fileCount":8,"integrity":"sha512-vt6MzoyRs4fpD0Bg/Dxs5T4Sf8L928X88zbKsNWJFjP+d5BHeWYcehibcttG5x4pbASyIQoeBR+Dw9xzQtEaBA==","signatures":[{"sig":"MEYCIQDoUVWDGbzh/TFRPCs5zb00zJQHgOvM8Bs9MfQSJKo8qwIhAPLT+WrCDV/mxi/de+RMI1AtHnCSbJ3ZUV92Jdf0pDG5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503943},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4d056a39c4df76a19a310e16f91f520f8fee0628","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.3.2_1776482866739_0.9055687620903905","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@signalsandsorcery/plugin-sdk","version":"1.3.3","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@1.3.3","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"3e1a9e038323b5d85c15c9535444183931df3fb3","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-1.3.3.tgz","fileCount":8,"integrity":"sha512-7SdKEhcYjjBWZEHXt3+/4BaVaMclWOyiIPp2IxEU3Rkahy5y6rvDKhF0TiHcTViifvF+1Pp6XF9adWpslPUtWg==","signatures":[{"sig":"MEQCIFOZ59tfpVdSRJZDnn15TSmf3YGEq+AvJFn9nps78pNYAiBFF6QPz6ANkM9iz0e8klfObfW/jBYEGTivmyPF8uaFjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506775},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2e0c6726dbdfdd4a288350ff0b88865e8ec48d88","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_1.3.3_1776740724882_0.07170516283468298","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.0.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.0.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7e6aebec9b110a790418f552e7996e9115767284","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.0.1.tgz","fileCount":8,"integrity":"sha512-HBtpq8y5kbslwvtAP3pW0cTIvNZh5IMkbhL/hSPfFcPccuUqJ/ZpqeNUToixo2Xh58lq0+sUf7Wja4u109s1UQ==","signatures":[{"sig":"MEUCIFX8Mn9Q+jjoxR6l/mBNSeY3yQGK6uYCs1zwfJuHPXTUAiEA5t5vq+yFf3S/2swtVVOvBeEYD7GfUJFGqltTgnCCLrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506145},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9bb562d585f56197a904901f26204a243f91fa34","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.0.1_1776775085645_0.6558414896056848","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.0.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.0.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"345ae203a4a9774f43396377c39fcf6e9c58ef14","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.0.2.tgz","fileCount":8,"integrity":"sha512-LUr3xtaRmD73lKmeFwnOjP2eTnZflw97iLFqJ/xg1J1l9PpniuBEkybAUNZymBz9Fn1at76RZ2FqjF2RfZn2Mg==","signatures":[{"sig":"MEUCIARyG1cdbzVme44rYYOtstUX9/MrbVR5VEGzpaQlUO2EAiEAyMpr2p9jhTUXFkpqVaaJgEBnHnq1USzg66Q882L+NqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518799},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e296002319b488a88eb0ec85dece3e645084ddd4","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.0.2_1777228154399_0.42701768498869885","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.3.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.3.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"cb9c2bb9535c363de63c2ae2c16a928fef1be03a","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.3.1.tgz","fileCount":8,"integrity":"sha512-zr3+X97LGeYMry0z0wOb4xnBczjDmDJJAoZBQ94ChIaT96ZjAPS7isfAJJmccvt1DlD0UkMIU3Qd0tJGCpbITA==","signatures":[{"sig":"MEUCIEEIFCSk0FIQmJKQUJqr9QfIcEEcPrK7c7qkxx+vPZTVAiEApvak5bcO732xGQJPMGbIJBvh3uWznGwNyJmCjkxhjZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561270},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2b38e3f207fcd2100e5308e1db1ff7f18a805979","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.3.1_1777789673542_0.9545206935468691","host":"s3://npm-registry-packages-npm-production"}},"2.24.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.24.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.24.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"0fda2d24b733bc333d6bffdb6d9f46db8be39671","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.24.1.tgz","fileCount":8,"integrity":"sha512-bfCzMsvXuBAo9TlZDCjMJyzp+Bp5eT6EWZ7ysf9i2vpqNkdF9PQyxniNZePVCMftrxiZRxwP+TzU2WKK1y3BEQ==","signatures":[{"sig":"MEUCIQDxf4sLb12bVRINe8TEphVLXi9zbMrI8r4NTkw7LXThmAIgB0h1o+1yGlThkOhpAX1fs2UVcV7wwErPqkwTG58S8Cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1504344},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"584cfdc6626d06062175f7b70b797044cb959ca3","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.24.1_1782052306181_0.22652525615748664","host":"s3://npm-registry-packages-npm-production"}},"2.25.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.25.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.25.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"97b29660b92d8418f48434b99d88b7ab5fa66b1a","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.25.1.tgz","fileCount":8,"integrity":"sha512-eDgS+SNxdOl+5Rl0Psm+vAIHENdQ7W93ECPRdvg1XEYrzHfMFdtXH9UhsAk2D2gRtBtIJ/e+MdyoVtGR8DcJcg==","signatures":[{"sig":"MEQCIFqSLFP8h3AWaS/hy2BbthTeADvrziVNmrs1qArnfu++AiAdJ+ukLWEIq72JWmW+sBmJKYZRGpcU3+4x88jPoHUEFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1516862},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d3006b0927336947eecd209441f6fe3dd6f9a496","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.22.3","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.25.1_1782052710393_0.06083706678282308","host":"s3://npm-registry-packages-npm-production"}},"2.26.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.26.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.26.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"05a8ec199b316a5c26167ab9d8dedd84ae0f9dea","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.26.1.tgz","fileCount":8,"integrity":"sha512-dRk3wFRX78jEsAFsQXRVKgtwtqLgkH/28eozsSbHMfy6MqTmeMbUcowhn1G4GjE37vxYLeOHzEDJmNvgttSf3w==","signatures":[{"sig":"MEYCIQCetddQP5UMOc39PYzecr7Bf4Lm2lYuu9oT6MfRXeeiggIhAJ8S3mUS/56FUSRaQFvjTd50pj/dLNHdfQn6jVhgIm+0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1525854},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4789dee31c1cb1d92c7aea3f54a97eeef5ed6a79","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.22.3","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.26.1_1782082319289_0.9005450260259797","host":"s3://npm-registry-packages-npm-production"}},"2.28.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.28.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.28.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7f8609824453452d4099cbde92cd3f1dc51d0bd7","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.28.1.tgz","fileCount":8,"integrity":"sha512-zkZpumUIR9JZqKVM6B+QDYH5LrJB6LRPIeeVdkFFVLxGr2kJ0b4S7fWRR8jQ6aAm2iauknPQcDr7K172rjWR8Q==","signatures":[{"sig":"MEQCIGw77bgfZasCuyEdVn656N4ysdEweui+wVlYC+JkBU3GAiBXjEoBWs3vsu6xEa6M9WLg8TAchcoTbGoC9KNcpC8E5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1666933},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1055f701ecf65f46ac5e5cfa819c07b5f7d6cf05","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.22.3","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.28.1_1782097597434_0.8107590398337063","host":"s3://npm-registry-packages-npm-production"}},"2.34.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.34.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.34.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"d23b4948347bc5ba3517739b210a781156c3b253","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.34.1.tgz","fileCount":8,"integrity":"sha512-0+xPnQj9sdwg8q3nXDX4LyLagSYNczWVtCj9BA0+objlRIgPTX7ECDmc8hsCIGqgY+a1cAZmb/drKks808Noxg==","signatures":[{"sig":"MEYCIQDk6Vzotwo37vj3e3T5oLtc4udZI0Q/tPBliGc7khd1LgIhAJhLicBL57E3lYbdfhZrlNbEOUkkbt7zSoKK/T/NrzWI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1868423},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"8f5939abeeaac38583e3e8769b1146b0ed73bac9","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.34.1_1782945140391_0.7771281599762032","host":"s3://npm-registry-packages-npm-production"}},"2.35.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"d159b68d188a1b4e75cfe5b55ad29501e07decad","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.1.tgz","fileCount":8,"integrity":"sha512-9UA2gy/VmtRWG1myXWEMuGcnb25D7958uAcM5aIKFThBHYTO64Jy+1WqdGp16cNMt1blSgi4E2LeiXEs99o5Tw==","signatures":[{"sig":"MEUCIGQRIfyvCCwjr7kFrpc0NHvEBcdakKWmomlcfUBto0HlAiEArShw3HO0VtRyqqMvs/D9uVrkZwHaMbOxoj8iYOpaJCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2457053},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6aa576a6d6ce2bb1fab52a6fe39102d296ecf59f","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.1_1783003716116_0.15410665619870167","host":"s3://npm-registry-packages-npm-production"}},"2.35.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"2786b2f51a9c7b1aa1b1d3a42f356e9949ac5942","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.2.tgz","fileCount":8,"integrity":"sha512-jNkccy7DVLTe9DizQnBnmjgEmWaX2qP4DBrtKmOAf2aHbJkvNXjqC9z+8VCwTvdLqrncTpVndC42eHg+qg4LrQ==","signatures":[{"sig":"MEYCIQC/NMc9xekwCQJ4TYLEv7k16xwNXBgbBqzERUb3C3feCwIhALli/8Ft3BYM60Ye3i7FhGD0ZQ0SVcOm+8ehxOVoRyui","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2549762},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1c6243877ee7f934c7cf9e93627203a556d8ee5f","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.2_1783059446548_0.23635803827065627","host":"s3://npm-registry-packages-npm-production"}},"2.35.3":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.3","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.3","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"feda51d6635f416ec4a3d8b5eb7c1a177f40f44f","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.3.tgz","fileCount":8,"integrity":"sha512-V/kWn/Zx9vhsnerr0Zgnr3h56qAgUIotdNlZzM12g+28gU0QUonF0nBu0ACZbKA+w+Jo85uL7FTOgz1WmstP+A==","signatures":[{"sig":"MEUCIQDm0H873MVa8/+r60Idz7qvO5sSPsT1RJeafx5QuE8KFwIgXxxKD9b3tsx4wlwLCmq8yOynD0Vn7fS13WIquLlctPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2638666},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"681b424c09b26b671ee4ec356c77a3f0606f1d45","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.3_1783184564894_0.19777479062377146","host":"s3://npm-registry-packages-npm-production"}},"2.35.4":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.4","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.4","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"bbbf1141992beb741c197afc26f08f165dc49519","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.4.tgz","fileCount":8,"integrity":"sha512-5ZKVDZUvNRDiMJj7eT1olCMJcolAkC5L0DfOI3AAsPT666GKBnuuOJwwZytRa/biNurqqvVOqA0hcCxvhfrJqg==","signatures":[{"sig":"MEUCIQCKRO3JJVR+lN3WX/IQqw9VrJ4zmhRlPUWAhr/vhiG3lAIgXpXZNGwJLT2/sg69iUm8zlUkWiC4ASRkcSZb1CFN+nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2644610},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f44573f218814f267936ccb40aaf6431fffdc4f6","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.4_1783210460546_0.5848724573900785","host":"s3://npm-registry-packages-npm-production"}},"2.35.5":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.5","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.5","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"644a420acbbc2f89b3e355b35212a65c84680121","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.5.tgz","fileCount":8,"integrity":"sha512-qi/5iC0TuxeSv38n1UPz4NvuTvW/tFBbyG4zteCTEQ0Ggn0rVluyR6MQEjgJ1TqHj5gXUnYltzzkqFNBtUUEMA==","signatures":[{"sig":"MEQCIHnnHuw98vsxrXzVFi9ulOnKUlXvzgFRU5z+i10+RCCwAiAFygw0ao3Wyo2hounP4bIADPR1kkd5l/FdakEAECVbYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2825088},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f968d1ed758dd4b951ee6a792d0a2747465d025f","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.5_1783619058480_0.2419784375298928","host":"s3://npm-registry-packages-npm-production"}},"2.35.6":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.6","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.6","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"8acefad3faab4682f7becbaf518f47013cd4c6cc","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.6.tgz","fileCount":8,"integrity":"sha512-bEmbDX58HF+6OBlq5q3mIGf3U5p8dszXYlZzPmcq10R7IN4wjHcysravK5+1KjrmWGNK/zRyWBiqHFCBjsTH4g==","signatures":[{"sig":"MEQCIHFDmzjUD/DZ5A7yZdCVeX+mwgK+M0xw7ZJVUpVUNFg5AiAf5NFPUDk4hvFgXMhXOA+OSrsyWtiQR+ciAdYj9jAjZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2983018},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4169df7bb52f5f696a8c0a32b15a28ae84939051","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.6_1783727978815_0.5500705876339358","host":"s3://npm-registry-packages-npm-production"}},"2.35.7":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.7","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.7","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"aca1ca9953acb0a020dca4b1693089dbe8c2df80","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.7.tgz","fileCount":8,"integrity":"sha512-UlzqkO8r5dsbaElaKAF/3d8Do1eBNRYxhoQiN+PZOSSccCjJY7ClXEv/bbPZhvZdr0C+EofrGHLgFhwqNsDM/Q==","signatures":[{"sig":"MEUCIFFFHeX1YRgjhyBxvR0E6GeJiccikBPadur2fORRdkXtAiEA6DXduouWdezPs4famikQDxDrKTuyhrM9ObgOjS7uPp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2988314},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0feaafdb493a03c80cdcdf1cfaf4781cc0870b39","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.7_1783810598419_0.30611263293771085","host":"s3://npm-registry-packages-npm-production"}},"2.35.8":{"name":"@signalsandsorcery/plugin-sdk","version":"2.35.8","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.35.8","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"c20bab21e8ede969291f09c3c58090a9aacfa3b2","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.35.8.tgz","fileCount":8,"integrity":"sha512-tpaJnxG0frLZmeAS5gM0FTzxcG4UaTV7SHQdOKCi1YHt2dOjAeh0fbj+luOwoeUoMIWu6yUq2zmDkqU0eqk0NQ==","signatures":[{"sig":"MEUCIE1zyRIp3vNKOiNAY9v0gn56IsSlODYOTL4RzAI2OyxBAiEAz6Hcj58rkAkpp+jtqrXedv6v0D84DyEh0dfKTUblm38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2992485},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"25a6d7852036e77d8ea3f06ac311c6b0a0aca43c","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.35.8_1784237076866_0.7781072675129275","host":"s3://npm-registry-packages-npm-production"}},"2.36.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.36.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.36.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"2bb5c29531a759f132a1b1bd3a5a721688491a73","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.36.1.tgz","fileCount":8,"integrity":"sha512-W88LHiA9EY/ltmEgjjuB1wuciqiZsMhuci8IDcWnbqzIS7MlrncK3KEuX7csrusMvKaGtzcUJ+FAjkdUF2JW6g==","signatures":[{"sig":"MEQCICEwWuyldoGCHv+n19Vds8pt72EPeiOUQABNx6dNFosBAiAI7TBiGflB8g7QrGX+FMZIdD9rx219PCAN4amq0elQOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3004895},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"50a71ab0ff3162665c75665ff0e5dc5f7b015bf3","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.36.1_1784516248602_0.1743800280790193","host":"s3://npm-registry-packages-npm-production"}},"2.36.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.36.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.36.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"b2874771e0a673d4b058a4ceafba7d19602e7e1d","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.36.2.tgz","fileCount":8,"integrity":"sha512-31VgbcO65xFtq/xTXCdd2j9GaDP+srm0xa9aFSuvp+jM+QpKt4Iqkxcoh+Cds8DO0q7oNmCvxzxDcvAO+83Edw==","signatures":[{"sig":"MEUCIFPwHQ4u+HuwVq6zT8EXFohv1knpaO+kCbcXUo2CC8egAiEAjLNu9rAdnjiA9hgnVQL5K/yhgkMnfCD2YGA1/bqTr+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3010430},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"185a461e39009f711abeb3a73ac1f99fa1cb70a8","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.36.2_1784998512334_0.8018948183533248","host":"s3://npm-registry-packages-npm-production"}},"2.38.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.38.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.38.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7b5c3385983ea6ca95f21310b24daadc8ed14f55","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.38.2.tgz","fileCount":8,"integrity":"sha512-l/0SSlqnWSrbQM9w3c+qNJKE5a8ENJCl/X2qSszmd/9baBlepaTWvvWj4wGGrTdLwJptG4CGNiOmFFl4kG19gw==","signatures":[{"sig":"MEQCIEi0WEgUJ8/KhLXu8Mp06hVBguUV+H25XmKz/B5U8t1NAiBzbA9N0jkdckq2m01ANYpaC5G8EMu1b7HwZrECgPo8AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3074628},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"dad4ef94a6591abe7a4841216fb7ddc76e1c924a","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.38.2_1785033351434_0.8962128991554943","host":"s3://npm-registry-packages-npm-production"}},"2.40.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.40.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.40.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"488154027baca300dfc4d82e25705d7a4db9ba7a","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.40.1.tgz","fileCount":8,"integrity":"sha512-Lo1H4JjJQaPNyYB3K9cjgH/VVyvhKJgDR+E+kNUHAcWgGiZrPiRnZ6K2FM4VRNZSRgk+8tI3w2qKda0Dez8Weg==","signatures":[{"sig":"MEUCIB+LDyYN54PuEMWKnSrmuMTnIc3/qslOqluBjrBDuAgxAiEA63+Vo6KA2noHcVLMmgvtCq8mYD4KRQoUQQZU5nbuvNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3214231},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a5310458365c4690922127739d48ddf9a981ea24","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.40.1_1785093447941_0.41325149402861583","host":"s3://npm-registry-packages-npm-production"}},"2.40.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.40.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.40.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"1c0b8972467f0314c5f1833e32f90330ef756b1e","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.40.2.tgz","fileCount":8,"integrity":"sha512-x093zz0fbnXqdGghZpktSq48sEx81EnGYMvPolSzRYvJlWcDnXC1gZNf6SBecT/TSS7qV8Ht+K6IbtsWj/5gxQ==","signatures":[{"sig":"MEUCIFAwX7SUNfToFDjJBBAJw0OhTSAXu+XAvWr0N/ta2VnCAiEAv0vjxj+kl7dTlEBJqd5b1yPGll+6vxD95okoschfMqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3227509},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5205faac28ea699860eaca5ba746c7b820867249","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.40.2_1785110354293_0.9590273631127499","host":"s3://npm-registry-packages-npm-production"}},"2.49.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.49.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.49.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"1dd121a9382beeec93eea6aa08a926518bd937d7","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.49.1.tgz","fileCount":8,"integrity":"sha512-36wTBSigUpXIOhafea5y4I3W89fhQ4lDxAFW2jMWYCly4i3sbC9H8C4H6cqFKG//yHYfqJXANw52MwfeNZwzkQ==","signatures":[{"sig":"MEQCIBw8+5FSt8O5a73oO8Y0aNsfVx+LPNBNClrk45qNX8stAiAZFCRTFd/35YGFiL7x7PI2fSY5l5Mq+HhWFIw/uVCNnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3284254},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3e333228791982322cf2b64ec7b14c813e3a0143","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.49.1_1785207632475_0.18076615521657002","host":"s3://npm-registry-packages-npm-production"}},"2.53.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.53.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.53.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"f41d76b03b8bf9c76e2e04dccdedeb9bfe1be7ee","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.53.1.tgz","fileCount":8,"integrity":"sha512-aOUJ4+sTl4po+8+7P5uv69/WbFRt1qsEHxr0j1CTuXxPazcYgoIX6kONGcIjmzdZhsNDkWSqA1PG37hktDiMoQ==","signatures":[{"sig":"MEYCIQC7bI7byDL3erzGGMw0Cpni17sZnxcrXD7E0vTLmmBcfgIhAMHGsbGalo+k7/4VvrYVxekVNQjCUwZEwQ2S06CU9Cib","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3488365},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"dd51c9c8e25c3f68d5acdc3d0843560bc57cfeb9","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.53.1_1785450043156_0.5989836573673486","host":"s3://npm-registry-packages-npm-production"}},"2.54.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.54.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.54.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"8ed8edc8fa2391308db236529ce85e1be89675a3","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.54.1.tgz","fileCount":8,"integrity":"sha512-rosR+enGSE3beIYqRUwl2p9G1s+EMQMKt13bEOwrnWOqhMXqvgEIyZnAYfIszqdiIr6+CYdkCx0p2Y6I4TE5zg==","signatures":[{"sig":"MEQCIFvN7/Ct5U5clELUvxDrop4AZsMqoLCVH9pixXAMNGLcAiBxflzdtqguBXcWW23F4k2wgzHl0KWt+gFqtq+NuoCe0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3569255},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1c8df20dce0b8b3ff2fac221d1b421424489ca52","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.54.1_1785537686926_0.5271658438764368","host":"s3://npm-registry-packages-npm-production"}},"2.55.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.55.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.55.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"81fe647cc6e9396e12799b3cacbb0f82d4a58d74","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.55.1.tgz","fileCount":8,"integrity":"sha512-TQIDHHu8esrQ6rBEkg3ciDeM3P0/lgs6RN29k3vlCaupM0gs4r5y4cpmfvMqbfepR55eCfQks/YpZB9cFOIhzw==","signatures":[{"sig":"MEUCIQCLnMkiuVEAFN5E7XnbnRZ/fYb8vGVsCwxB6Yu+EyeXQgIgVWufY23FERq2OWqOWrc9yqqR+frQW04IoacaRaUFmxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3571125},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e49f98eacd4fe8a860e0cf4f64df4031a13aacd0","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.55.1_1785543157285_0.8962273999657802","host":"s3://npm-registry-packages-npm-production"}},"2.57.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.57.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.57.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"5a1fdff59f96dae9d052a9df72dec4e172ba20ec","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.57.1.tgz","fileCount":8,"integrity":"sha512-V5DifDQNEJnXVrc+dLd/8pdEsMjOzuiXh51K8qRjzBfYFQSIXAfayBrk+9u2UxN1whCC3OB+b1AspzrCB+mifw==","signatures":[{"sig":"MEUCIQCGDlIJmc2fWFUyPSOcfvQbjbZWhnJt7GpcIcYnJaVQVQIgOLLj4cs640PujfszDslR90NidQGRW9D1Yo2iaqZ6DLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3579275},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1bfa80c7cf0c61f851736a74815420e4030881b2","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.57.1_1785772014526_0.693254961645992","host":"s3://npm-registry-packages-npm-production"}},"2.58.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.58.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.58.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"f162619144c5743bc6d98790d0bbd3f45cc74cf3","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.58.1.tgz","fileCount":8,"integrity":"sha512-tPXNzTdH8oAI8c/91QsC9H4PFF9cTQlZV46w9mUPCv2rkYgi3YhIoFGyUysB9jfGdOpysL8GjH3E8uhu3rhADw==","signatures":[{"sig":"MEQCIDQumNiyLyUjvrZD9WnEmzO/NUiJtPU591ANaeS5ZurKAiACMxuHBAJnrPSpIuRpa6HtSwHERrolcusuaplsLMWBRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3581627},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e5b8e0baac32111a35762b27775f1de0c2e48232","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.58.1_1785774294367_0.9893133927033531","host":"s3://npm-registry-packages-npm-production"}},"2.59.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.59.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.59.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"d06c8ac1b0931342a80071ab0c99294887f4658e","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.59.1.tgz","fileCount":8,"integrity":"sha512-o5sfjb7U3c/m39O24Z1786Kz+KvxbvmAIGXquNZCNrprMOHuII+9lZPdk8tfxecFlNTjHIiqjGGlzapKZeFSUg==","signatures":[{"sig":"MEQCID5P1FexPTRnVoudL9PQyU4/jHAmzWmov451l2HK4BvKAiAWiEQroHWn4HbZaem1qm2SzMwQT3LOp9Hn3Nz2u9Ewiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3583103},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"584e967f265544ab7a1dce07f2be46dfe7ea7c8c","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.59.1_1785776493555_0.13125355182411558","host":"s3://npm-registry-packages-npm-production"}},"2.60.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.60.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.60.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"9e194e1e583ad9da680cee180124999756d3319b","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.60.1.tgz","fileCount":8,"integrity":"sha512-KkQnSQNlymckB5hRCWq1GWX3Ie6qB+Di6IOnB9+gP8zrlu0VYxRWF4njSZCRG5+9JmGfLIW0nt6L8/Nlu1PH6A==","signatures":[{"sig":"MEUCIQDis+2L0rWIbYBnZL2cU3UuDsx9CUYigT70jEtk5GZNlQIgQ4n7pY91Vjx434y6NJsb404vSGWTzypn9wovyfvB7nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3584155},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"53c3dc6bfce87a938b639209b4757187cd4be642","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.60.1_1785779108521_0.7054103240338434","host":"s3://npm-registry-packages-npm-production"}},"2.63.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.63.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.63.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"2c89bc34c9d092eb2856a6ada1ef5265187b9c3a","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.63.1.tgz","fileCount":8,"integrity":"sha512-peoq8PPvuoR+xgcLDK/A/8R7OvgUkF9VfFiUYUuMiQvNXEYkmJgRMoU96kSXyJkgmxfFVktOmsYHJZfUh/7WOQ==","signatures":[{"sig":"MEUCIQDKyK5FSmZ/XQTFGp/ilSYjxW1RRBELlS5wxRK3NyVsCQIgEhZsSrzW/9+ZOInLoi6C5SaromHtIv7jdE6WB6DgVdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3615837},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6105fa38d05d32f3c90dbb6da71fcb50c96b75ee","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.63.1_1785960140015_0.8596949834250553","host":"s3://npm-registry-packages-npm-production"}},"2.65.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.65.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.65.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"6bceedbf66469417d846816886a61cbcd5875785","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.65.1.tgz","fileCount":8,"integrity":"sha512-p+A2RDiFzjst3AVbVU4HndbJBGq2Eb402+5koqt94fJ19179bOGpWiZmbHkH5AJ4nNVhWeKav+POpVyQBSPZRg==","signatures":[{"sig":"MEYCIQCGYv/e8dEtJ5tNvLlvbm8LXdrzTriJwDcF9Hsj7fvJ+gIhAJhCYNvg9ZQ3QrBsOJhi4CVubY6KnhDmZ1uY+IcmrIsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3650581},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"dc956ba6f75203b354c0bd61ff6f46d455ebcb54","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.65.1_1786211863820_0.47784457121857127","host":"s3://npm-registry-packages-npm-production"}},"2.67.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.67.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.67.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"ba96a6f9e498c3e1683b620d1d5109d11c9a20d0","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.67.1.tgz","fileCount":8,"integrity":"sha512-ul67MzGWPQT+KtjAXwA/V4zxJ9AcJQJ285H4EuSrkasWADMSGdGU2STK0sLe1la9OuJ8TqblYpJXRepaQ7ZJnQ==","signatures":[{"sig":"MEUCIDxrJyN0JZF6dmGegyIGwKQLqXK/4V3p+42mwXBZl3MJAiEAhc+NfXemfzZXigTloqYzhzzogakXTMt4j9KblFNN714=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3767702},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"84c72651279766221233235dcd3411f20021b6f2","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.67.1_1786319101332_0.18656855422794671","host":"s3://npm-registry-packages-npm-production"}},"2.68.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.68.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.68.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"559f9834b19ed569f7c39bc95080980bac976f54","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.68.1.tgz","fileCount":8,"integrity":"sha512-DEs0y4m8aIrhuibOPelgeMIaK05Zs4D94VgpDirrjm+6lUQMmDB+v6yhYn0JPpDHdHfUZQ5Dugw6QhX/JtTuaw==","signatures":[{"sig":"MEUCIQCagc5LWS4z6pz9Bcl/Wl7rRFv7teA+v8eZxPltoqsA7AIgNO6tO0e2hMNcFd/I2SrRAWle7rVQ1rUZXmH1Rp+M0Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3778481},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"006d3b2d4d2099af9ffdf4f04c3e4c240a1baac0","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.68.1_1786338347323_0.9781455096686107","host":"s3://npm-registry-packages-npm-production"}},"2.69.1":{"name":"@signalsandsorcery/plugin-sdk","version":"2.69.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.69.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"102e2e35258f8ec86ca9fc9569f8e1b3e2567af1","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.69.1.tgz","fileCount":8,"integrity":"sha512-fBI+g2xQOzkyOMbCr9n7w7MkPSk7RIXF9LI58L73EP26FR7cfARxGqh9dk+ATJR/swS3rfPiB/uY2ePdEjjaUA==","signatures":[{"sig":"MEYCIQDQCI4pERw0d5YxJmKxVCyCrvEp4NGzVtEZ+u85lYKCFQIhAO123+wxF6yxZLiO39wG6905VevtvITZDFS21vG6SCSy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3806195},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"cac2e76aa9ca091e25b3b10e02f0b335945d43a6","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.1","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.69.1_1786415135602_0.2890577846353093","host":"s3://npm-registry-packages-npm-production"}},"2.69.2":{"name":"@signalsandsorcery/plugin-sdk","version":"2.69.2","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.69.2","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"58f2f68c96dc71a31f62a4b7d5aef8cfce05789e","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.69.2.tgz","fileCount":8,"integrity":"sha512-FDuJsDEoTegTB14ptDnj087DMlOrkUgQ6AOyOKhcQA31T41Ku++SjQifq+2dqF96ZagaUlnwXQbDZfOVdMff6w==","signatures":[{"sig":"MEYCIQDbQw6hn5qHFGk3M0sPV2qxEvUdt+wT+0Cyf9vRNE0IvgIhAKblXH+xgwZJljBCe9zmY0Ac7/f8ZDfNwJptqKYqBML3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3806195},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7d0cbf6209549b563cc91b3b26fbabbc5e6ef4cf","scripts":{"test":"jest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.69.2_1786722280631_0.6833458725599264","host":"s3://npm-registry-packages-npm-production"}},"2.69.3":{"name":"@signalsandsorcery/plugin-sdk","version":"2.69.3","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@2.69.3","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"2e320279457ea6568092b664a3026deb2309174e","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-2.69.3.tgz","fileCount":8,"integrity":"sha512-2fkzl4dLbY2F+ns2ecVBZUTw2Dr/zKtUu0uQBSCoH+tR+bS7ackf2Hj+6xtmTIj3A6479ta5R65xAvyakqhJQw==","signatures":[{"sig":"MEQCIB1ogWTFM/uCKRCfDNLIFwQDwEVQNgGxIp1HeKcGVLMjAiA5JChfg6YyMIkm4qN3Nf92hXwxzL6kArtqOwE7bIzqoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3806559},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b3e59b9325b4d79985ebbb3d47a9924f39178bd2","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_2.69.3_1786731073045_0.9836672835581655","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.0.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.0.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"46646fca22a0ff8583f1f31a67d0d12f9e1b35f1","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.0.1.tgz","fileCount":8,"integrity":"sha512-mq7kepLj7Fjh+vqu7O5L50Z27MOJ8xbgDGLW0kHh41+TS9om4GsZ22AJI0dEJ/w7qYenk+P1tx0zQdrlZKhgcQ==","signatures":[{"sig":"MEYCIQDsFGP/E5oTjid700x3xwSbw0K46hdPES130kFNomKCWQIhAMzpV/5PMjBc6zC3hJf2USbRhtjdSPobkkoV+kO50kq8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3693211},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"34c5d1547ff6be68d8e750d089f550dfeaa22452","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.0.1_1786768717134_0.5442170168109548","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.1.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.1.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"ef7941d7e302dde2e1b6a2f78d0be9f5fccd2265","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.1.1.tgz","fileCount":8,"integrity":"sha512-SS1ZoZybhX2peQOTP6b8+WE+y6KWLaxnACSoGaS3uwh6fcr/uxfTdPmtD93EhUV/aN3j9OxUKAGWhas/Nk2F6Q==","signatures":[{"sig":"MEQCICWC88nB+/p4ZM5ivZsgg9bfLLNIk/SEi4q5NvMGcSrSAiADQsqhEyef77Pt8IjNDEESvOm0d/HmFcvx6KEeOGhKhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3722771},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c3d08c1f0d606b29adba6ed2bd6fe89aa6930ab0","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.1.1_1786834453092_0.484437046216627","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.2.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.2.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"74c9ad6f22597d0a932f43b530715df2e7fdfc7f","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.2.1.tgz","fileCount":8,"integrity":"sha512-g8h4QuIU8taxp19M1C6DlBD0fl/aq9xAiBTEWhoj2Z4Cw5vsJnVkbaBbITCur+tw/NznFQrt+0CV2GZZfLyRBg==","signatures":[{"sig":"MEYCIQC6YIJlNGXBdJqIe9y9DHKsUO5jINxnNHusTE5tYeG1rAIhAOr5UpIZvl7T2s2KoOffRtkpyEswcpYGx7wRnW/2ECy5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3737706},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7879e8f1e70dc7e827b9f33f2e6bc20f91a9385e","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.2.1_1786929280952_0.960050331699855","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.7.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.7.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"81a44acbdb3ef8172aeaac6e5066dd22445b1b78","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.7.1.tgz","fileCount":8,"integrity":"sha512-rwov0Tsm53lxpNg/4vsUObvY0m+rLbwmCX2d0hqGA1M0dxDSi+Mm3ydFUMFIv+DMxGdT91V26z1yAoz8J3L+3Q==","signatures":[{"sig":"MEUCIQC9+Q6PIv3g2NuN0YUWQc/8053zF/czMAHbAa7OjBzpxAIgUqKLzCSV1xOC4c8UfZpwbxa5wrBQuck80DM9hS4Uizw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3789657},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d47782c5e2b3d580a15b88a6edb9bb4f4a0de2ab","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.7.1_1787179557115_0.3052408184899751","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.8.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.8.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7bc92871606b6994543bcc737f2fa9cfc2c2fa9c","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.8.1.tgz","fileCount":8,"integrity":"sha512-APQTmH1zHfCgpJnI1+htq+iRBzep65Xj7yCJrVSdoGOIVkcdAiLRZPx3JXc5NFvbvEQndyHw1DBK8IaF4poSgw==","signatures":[{"sig":"MEUCIQDlwL2avUtUCYlLOG+EEsEGZLBwf4vPLtK30MhvkGmZWQIgIBGb97w5Mz0uWrtyz3MzpnE3d9SgUVDeQqmLjhr0fzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3800705},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"06c9ec4bd9f85c16be9240a833cb0b4f96c17e65","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.8.1_1787188049888_0.8960226641334776","host":"s3://npm-registry-packages-npm-production"}},"3.9.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.9.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.9.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"7fdf87fcfccf594477215522011407f0abd24066","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.9.1.tgz","fileCount":8,"integrity":"sha512-ws1nt9nsNf5nq4grEX+qgkKjrFd8+9xjYdOia9byJZulg5FkPy4jMv6EV8K0yIyFEBxmfIg2CaJLs0cHGh7d0w==","signatures":[{"sig":"MEUCIG0A5XcxjUmhwkBcBdqt99tmb6UwRvmX0ejdhRFzm499AiEAnVEqBJyfjscCr7aQBB0guYU9xjeiFGDRHS04fh8J81Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3802789},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5b12481a443be10c3fb6ffdb960f28a84a051e91","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.9.1_1787276931143_0.8747482589621745","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.10.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.10.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"8b2be881f8183783600934015ed4e426ff09fbf5","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.10.1.tgz","fileCount":8,"integrity":"sha512-qeQb47HB4faCl+VNC95jYAosLsZSbXIZwzjtpp0fbN1+ZDT6eNPSsLns42+dGvg/+0ivUitq86XWGDukl1Pt4Q==","signatures":[{"sig":"MEYCIQCgzku71hYoz5Xhh5uMziTEyDIopZO4OmlJu8opRe01NwIhAIXfby3LqvXGjVj6IReSa61AQR5TASje4mYLLsgjUcSV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3806160},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f501307d5793adb0f08165acd15f22e307fc6787","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.10.1_1787339903280_0.4021745530322305","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.11.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.11.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"e7d02c177efc60328bfe9caa9e46565983317721","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.11.1.tgz","fileCount":8,"integrity":"sha512-/6xDA0CkFpqT+IAbB5vHclFjlmGI3YTZqmLJ0Wst7KiCjJ/Ulfd9HEEpTZoQk1SUclVSVzefOBTnYCRZH89AVw==","signatures":[{"sig":"MEQCIFMd0vwj8D5QKSh4PHYqz7prCUs8GAT1FxirzwOCH1XvAiAC+h209W8jj7RIdE1ZbSWEGAnKJlVe7ne3QMLcx4ZN3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3835286},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6f6c1974c36214f000788bc110f18bc6ae390b84","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.11.1_1787528861669_0.5828626816521976","host":"s3://npm-registry-packages-npm-production"}},"3.12.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.12.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.12.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"418e4b95211fb2db86d3df4f80e41f0c66ef1e33","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.12.1.tgz","fileCount":8,"integrity":"sha512-u/aRNKhSzmumdswBCY8thlalXGBVGuIeTXkFpYzHaqqg/KBcsL/+YwLxJgEhxcx4CQER0pK5k+sY4DnmHSsm6w==","signatures":[{"sig":"MEQCIFO+f6JtwUTr9KQ9Y9CN6Od1arXWYmaH8RZVVwro8RXPAiBuj5vJJcj0dtVHnJbdTzRRJihcY0w/pmhiBJEStq809w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3837116},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3af13915b62bb338d97690c19abc1b00089e8fc5","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.12.1_1788036404858_0.8086629900890814","host":"s3://npm-registry-packages-npm-production"}},"3.13.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.13.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.13.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"65f769e8e31e62e03c1805b937df230d050dbed7","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.13.1.tgz","fileCount":8,"integrity":"sha512-xZaHmojJ6HlkXoeRapn88JBHdZRw5coAjrSKSIGThqxKIrqSDnLmt9McG4xnkIj942l9+S4eqS6SS6qhiyIuHA==","signatures":[{"sig":"MEUCIF3n9b/ifC+Qgdo7PFD6nnv+oHXG8LS8Fy+48khOFCWGAiEA53Tf+cxltuORiIaUobIfzUMjOzOfUDiVMFG/6YBgJwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3843132},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ebac6197561ae6917c9958ed28dd1781b4953878","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.13.1_1788131449422_0.6832454750303851","host":"s3://npm-registry-packages-npm-production"}},"3.15.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.15.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.15.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"a6e0806c7c33ecc38f41cd49577ff9b4ad8e39fd","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.15.1.tgz","fileCount":8,"integrity":"sha512-jRnf5k+WPA7Im/Mt5UEFl61Q3MOU3GDfv6U8hWIbrLxRCU94fV0zo42lgrdVKONxm3I6zTPhePEVBhP+n+KcEw==","signatures":[{"sig":"MEUCIQCdex+ZQ5yotZcERJAuKmc58JEZzu5A4YKCZMII39MRywIgZIsQDFVa68pyM0ZdNGt8+0nbNWCNPcB8OYO76ijllsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3862904},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d14a6a97422c2f06a9f122f91f7a97d5baf13768","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.15.1_1788411282756_0.2639831127218135","host":"s3://npm-registry-packages-npm-production"}},"3.18.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.18.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.18.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"4a4e3ccfec853b011577d2fe3c89010030683e1e","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.18.1.tgz","fileCount":8,"integrity":"sha512-LBOGVCpg0NGmibmYi6YpL+VSkBJHMzQgWga/DUo0cIcl+d9k/g59uC4X2XCCwS8Ur4TU28gH2BSJcsVDwwpjEg==","signatures":[{"sig":"MEQCIFSR29UfZcWbSYxeXoCIJrtAPqjkwwnxOzcfGkYx7j3+AiAp6m7gGqqnfNTheaas9zvjAMMbJsocTJifR6sS6c+8oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFP55YYjn8BEXa/u5lqWl2zPlEoKGbuYnI7x98/lubuMAiEA8hfc1j1NECwYXgOw7lRmDIt9un4QNlyi5fI/Df3k2sQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3921312},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"937535e268ec90e369e2d1e65834daa93537d52a","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.18.1_1790526520375_0.9752971115687836","host":"s3://npm-registry-packages-npm-production"}},"3.19.1":{"name":"@signalsandsorcery/plugin-sdk","version":"3.19.1","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"license":"MIT","_id":"@signalsandsorcery/plugin-sdk@3.19.1","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"aea23bc218c91c6c8b99b946a096c8d9be972a45","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.19.1.tgz","fileCount":8,"integrity":"sha512-d5AsqzFlgI4uGcD7FyTOHIu9p7x/2778EtEM2P0Z95IoaslmxZcPyOLLZGOtYyDzVmW5jRqmz7O525CPAvNovQ==","signatures":[{"sig":"MEQCIFYCrjA4jYnT12J9AIc8t+iFuFyX7ZGg9O1z+vCVFE0fAiAHKRJSMJc1uAeQgbryCQmtxdkhv6uQAke7mDigwzbPsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDqvWd9Bu1nvJ0e2jYGNYek2Nti/Lzn9YDHsd2bwhVIygIhANDf5wuIAkm4Rk7BPnM7sRWsqBIPCt9KMuUciK1qj1CD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3943827},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1388ffac88a6fef29b010765b209ededb857eb5f","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/plugin-sdk_3.19.1_1790526964353_0.7920497276192779","host":"s3://npm-registry-packages-npm-production"}},"3.20.1":{"_id":"@signalsandsorcery/plugin-sdk@3.20.1","bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"dist":{"shasum":"4e1662b0ee8186c512ee62ff79b763ad2f1580f5","tarball":"https://registry.npmjs.org/@signalsandsorcery/plugin-sdk/-/plugin-sdk-3.20.1.tgz","fileCount":8,"integrity":"sha512-VpJ3QWgPID9rB4Qo5KXuPSRpgVO+6W+8AmcLFHAlsnVyKhGQXs9YNndCB11iJ1RV9wo0mK3NEMniOQu4IA/VQA==","signatures":[{"sig":"MEYCIQDXd4wKUGI136rRA9VwTAKcgO42pSq6xLviMnCyVQ+fuwIhALebEHDi7nx2kseWRsr11V8jv279Uuq8r5zFSY+R25W7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKjRNc4oIRZ1TBbCERWwteFFWBTO0opGVhs56bGrnJgAIgbODv8aU2yhE6Mk94G6QBKhmeQ5aSYoWAKwOt7E+RDFs="}],"unpackedSize":4016253},"main":"./dist/index.js","name":"@signalsandsorcery/plugin-sdk","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4ccb148d0dc4739c6599db886cf968ceea68103b","license":"MIT","scripts":{"test":"jest","build":"tsup","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"version":"3.20.1","_npmUser":{"name":"shiehn","email":"stevehiehn@gmail.com"},"homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","directories":{},"maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"lucide-react":"^0.460.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.0","react":"^18.2.0","ts-jest":"^29.4.12","react-dom":"^18.2.0","typescript":"^5.3.0","@types/jest":"^29.5.14","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-sdk_3.20.1_1790650946397_0.21838551205511414"}}},"time":{"created":"2026-03-31T01:57:15.616Z","modified":"2026-09-29T03:02:26.722Z","1.0.0":"2026-03-31T01:57:15.831Z","1.1.0":"2026-04-04T15:17:41.397Z","1.2.1":"2026-04-07T19:18:30.714Z","1.2.2":"2026-04-10T15:06:33.586Z","1.2.3":"2026-04-14T20:08:05.956Z","1.3.1":"2026-04-17T04:12:58.262Z","1.3.2":"2026-04-18T03:27:46.895Z","1.3.3":"2026-04-21T03:05:25.023Z","2.0.1":"2026-04-21T12:38:05.800Z","2.0.2":"2026-04-26T18:29:14.599Z","2.3.1":"2026-05-03T06:27:53.728Z","2.24.1":"2026-06-21T14:31:46.382Z","2.25.1":"2026-06-21T14:38:30.589Z","2.26.1":"2026-06-21T22:51:59.454Z","2.28.1":"2026-06-22T03:06:37.585Z","2.34.1":"2026-07-01T22:32:20.636Z","2.35.1":"2026-07-02T14:48:36.357Z","2.35.2":"2026-07-03T06:17:26.721Z","2.35.3":"2026-07-04T17:02:45.061Z","2.35.4":"2026-07-05T00:14:20.764Z","2.35.5":"2026-07-09T17:44:18.687Z","2.35.6":"2026-07-10T23:59:39.036Z","2.35.7":"2026-07-11T22:56:38.601Z","2.35.8":"2026-07-16T21:24:37.033Z","2.36.1":"2026-07-20T02:57:28.768Z","2.36.2":"2026-07-25T16:55:12.580Z","2.38.2":"2026-07-26T02:35:51.635Z","2.40.1":"2026-07-26T19:17:28.132Z","2.40.2":"2026-07-26T23:59:14.506Z","2.49.1":"2026-07-28T03:00:32.677Z","2.53.1":"2026-07-30T22:20:43.339Z","2.54.1":"2026-07-31T22:41:27.123Z","2.55.1":"2026-08-01T00:12:37.518Z","2.57.1":"2026-08-03T15:46:54.724Z","2.58.1":"2026-08-03T16:24:54.585Z","2.59.1":"2026-08-03T17:01:33.722Z","2.60.1":"2026-08-03T17:45:08.705Z","2.63.1":"2026-08-05T20:02:20.234Z","2.65.1":"2026-08-08T17:57:43.982Z","2.67.1":"2026-08-09T23:45:01.513Z","2.68.1":"2026-08-10T05:05:47.490Z","2.69.1":"2026-08-11T02:25:35.827Z","2.69.2":"2026-08-14T15:44:40.802Z","2.69.3":"2026-08-14T18:11:13.240Z","3.0.1":"2026-08-15T04:38:37.305Z","3.1.1":"2026-08-15T22:54:13.288Z","3.2.1":"2026-08-17T01:14:41.143Z","3.7.1":"2026-08-19T22:45:57.305Z","3.8.1":"2026-08-20T01:07:30.114Z","3.9.1":"2026-08-21T01:48:51.378Z","3.10.1":"2026-08-21T19:18:23.537Z","3.11.1":"2026-08-23T23:47:41.859Z","3.12.1":"2026-08-29T20:46:45.043Z","3.13.1":"2026-08-30T23:10:49.615Z","3.15.1":"2026-09-03T04:54:42.946Z","3.18.1":"2026-09-27T16:28:40.527Z","3.19.1":"2026-09-27T16:36:04.481Z","3.20.1":"2026-09-29T03:02:26.519Z"},"bugs":{"url":"https://github.com/shiehn/sas-plugin-sdk/issues"},"license":"MIT","homepage":"https://github.com/shiehn/sas-plugin-sdk#readme","keywords":["signals-and-sorcery","plugin-sdk","music","daw"],"repository":{"url":"git+https://github.com/shiehn/sas-plugin-sdk.git","type":"git"},"description":"Plugin SDK for Signals & Sorcery — types, components, and hooks for building generator plugins","maintainers":[{"name":"shiehn","email":"stevehiehn@gmail.com"}],"readme":"# @signalsandsorcery/plugin-sdk\n\nPlugin SDK for building custom generator plugins for [Signals & Sorcery](https://signalsandsorcery.com) — an AI-powered music production workstation.\n\n<p align=\"center\">\n  <img src=\"assets/signals-and-sorcery.png\" alt=\"Signals & Sorcery\" width=\"420\" />\n</p>\n\n> Part of the **[Signals & Sorcery](https://signalsandsorcery.com)** ecosystem.\n\nPlugins extend the Loop Workstation with custom input generators that create MIDI patterns, manage audio samples, generate AI audio textures, or combine all three. Each plugin gets its own accordion section in the workstation UI and a scoped `PluginHost` API for interacting with tracks, MIDI, audio, and more.\n\n## Installation\n\n```bash\nnpm install @signalsandsorcery/plugin-sdk\n```\n\n## Documentation\n\nFull documentation is available at [signalsandsorcery.com/plugin-sdk](https://signalsandsorcery.com/plugin-sdk/):\n\n- [Getting Started](https://signalsandsorcery.com/plugin-sdk/getting-started.html) — Directory structure, manifest, installation, debugging\n- [API Reference](https://signalsandsorcery.com/plugin-sdk/api-reference.html) — Complete PluginHost API with type signatures and examples\n- [Tutorial: Euclidean Rhythm Generator](https://signalsandsorcery.com/plugin-sdk/tutorial.html) — Build a working plugin from scratch\n\n## Reference Plugins\n\nThese built-in plugins serve as reference implementations:\n\n| Plugin | Type | Description | Source |\n|--------|------|-------------|--------|\n| Synth Generator | `midi` | AI-powered MIDI generation with Surge XT presets | [sas-synth-plugin](https://github.com/shiehn/sas-synth-plugin) |\n| Loops | `sample` | Audio loop / sample library browser with time-stretching | [sas-loops-plugin](https://github.com/shiehn/sas-loops-plugin) |\n| Stems | `audio` | AI audio-from-text generation with optional stem splitting | [sas-stems-plugin](https://github.com/shiehn/sas-stems-plugin) |\n\n## What's in the SDK\n\n### Types\n\nThe core plugin contract — everything you need to implement a generator plugin:\n\n```typescript\nimport type {\n  GeneratorPlugin,    // Interface your plugin class implements\n  PluginHost,         // Scoped API surface (tracks, MIDI, audio, LLM, etc.)\n  PluginUIProps,      // Props passed to your React component\n  PluginManifest,     // plugin.json schema\n  MusicalContext,     // Key, mode, BPM, bars, chords\n  MidiClipData,       // MIDI clip payload\n  PluginMidiNote,     // Individual MIDI note\n  PluginTrackHandle,  // Track identity returned by createTrack()\n  PluginError,        // Typed error class with error codes\n} from '@signalsandsorcery/plugin-sdk';\n```\n\n### UI Components\n\nPre-built components that match the host app's visual style:\n\n| Component | Description |\n|-----------|-------------|\n| `TrackRow` | Full-featured track row with prompt input, generate/shuffle/copy buttons, mute/solo, volume/pan, FX drawer, instrument drawer, and progress overlay |\n| `VolumeSlider` | Compact horizontal volume slider (0-1) with dB tooltip |\n| `PanSlider` | Compact horizontal pan slider (-1 to +1) with double-click to center |\n| `SorceryProgressBar` | Animated progress bar with time-based pacing for long operations |\n| `InstrumentDrawer` | Searchable grid of available VST3/AU instrument plugins |\n| `DownloadPackButton` | Download/verify/extract button for a sample pack; driven through `host.startSamplePackDownload` + `host.onSamplePackProgress` (since 2.8.0) |\n| `SamplePackCTACard` | Empty-state card a generator panel renders when its sample pack is missing or stale; wraps `DownloadPackButton` (since 2.8.0) |\n\n**Waveform / audio-clip toolkit** *(since 2.10.0)* — shared by audio-oriented plugins (stems, recorder):\n\n| Export | Kind | Description |\n|--------|------|-------------|\n| `WaveformView` | component | Static waveform render of an audio file (decodes + draws peaks) |\n| `ScrollingWaveform` | component | Live scrolling waveform for input monitoring / recording |\n| `LevelMeter` | component | Peak/RMS level meter |\n| `OffsetScrubber` | component | Drag-to-offset clip start with beat tick marks + snap |\n| `computePeaks` / `drawWaveform` | util | Peak math + canvas drawing (`WaveformPeaks`) |\n| `analyzeWavPeak` | util | Peak analysis of a WAV (`PeakAnalysis`) |\n| `synthesizeCuePoints` | util | Derive cue points from a clip (`SynthesizeCuePointsOptions`) |\n\n```typescript\nimport {\n  TrackRow, VolumeSlider, PanSlider, SorceryProgressBar,\n  SamplePackCTACard, DownloadPackButton,\n} from '@signalsandsorcery/plugin-sdk';\n\n// SamplePackCTACard / DownloadPackButton take the `host` the plugin received\n// and drive the download entirely through PluginHost — a plugin never reaches\n// the app's renderer or window.electronAPI to manage its sample pack.\n<SamplePackCTACard\n  host={host}\n  pack={{ packId: 'sas-drum-pack', displayName: 'Drum Sample Library', description: 'Kicks, snares, hats', sizeBytes: 100_934_888 }}\n  status={packStatus}            // 'missing' | 'stale' | 'checking'\n  onDownloadComplete={refresh}   // re-check pack status when the download finishes\n/>\n```\n\n### Hooks\n\n```typescript\nimport { useSceneState } from '@signalsandsorcery/plugin-sdk';\n\n// Maintains separate state per scene — preserved across scene switches\nconst [prompts, setPrompts, setPromptsForScene] = useSceneState(activeSceneId, {});\n```\n\n### Constants\n\n```typescript\nimport {\n  PLUGIN_SDK_VERSION,      // current API version — see src/constants/sdk-version.ts\n  FX_CATEGORIES,           // ['eq', 'compressor', 'chorus', 'phaser', 'delay', 'reverb']\n  FX_PRESET_CONFIGS,       // Preset definitions for all 6 FX categories\n} from '@signalsandsorcery/plugin-sdk';\n```\n\n> **Instrument roles are not a static export.** `VALID_INSTRUMENT_ROLES` was\n> removed in SDK 2.0.0 — call `host.getValidRoles()` at runtime instead. The\n> canonical role list lives in the host app, so plugins always see the current set.\n\n## Quick Start\n\n### 1. Create the manifest (`plugin.json`)\n\n```json\n{\n  \"id\": \"@my-org/my-plugin\",\n  \"displayName\": \"My Plugin\",\n  \"version\": \"1.0.0\",\n  \"description\": \"A custom generator plugin\",\n  \"generatorType\": \"midi\",\n  \"main\": \"index.js\",\n  \"minHostVersion\": \"1.0.0\",\n  \"capabilities\": {\n    \"requiresLLM\": true,\n    \"requiresSurgeXT\": true\n  }\n}\n```\n\nGenerator types: `midi` | `audio` | `sample` | `hybrid`\n\n### 2. Implement the plugin class\n\n```typescript\nimport type { GeneratorPlugin, PluginHost, PluginUIProps, PluginSettingsSchema, MusicalContext } from '@signalsandsorcery/plugin-sdk';\nimport { MyPanel } from './components/Panel';\n\nexport class MyPlugin implements GeneratorPlugin {\n  readonly id = '@my-org/my-plugin';\n  readonly displayName = 'My Plugin';\n  readonly version = '1.0.0';\n  readonly description = 'A custom generator plugin';\n  readonly generatorType = 'midi' as const;\n\n  private host: PluginHost | null = null;\n\n  async activate(host: PluginHost): Promise<void> {\n    this.host = host;\n  }\n\n  async deactivate(): Promise<void> {\n    this.host = null;\n  }\n\n  getUIComponent() {\n    return MyPanel;\n  }\n\n  getSettingsSchema(): PluginSettingsSchema | null {\n    return null;\n  }\n\n  // Optional lifecycle hooks\n  async onSceneChanged(sceneId: string | null): Promise<void> { }\n  onContextChanged(context: MusicalContext): void { }\n}\n```\n\n### 3. Build the UI\n\n```tsx\nimport type { PluginUIProps } from '@signalsandsorcery/plugin-sdk';\n\nexport function MyPanel({ host, activeSceneId, isAuthenticated, isConnected }: PluginUIProps) {\n  const handleGenerate = async () => {\n    if (!activeSceneId) {\n      host.showToast('warning', 'No Scene', 'Select a scene first');\n      return;\n    }\n\n    // Create a track\n    const track = await host.createTrack({ name: 'My Track', role: 'lead', loadSynth: true });\n\n    // Get musical context\n    const context = await host.getMusicalContext();\n\n    // Write MIDI\n    await host.writeMidiClip(track.id, {\n      startTime: 0,\n      endTime: (context.bars * 4 * 60) / context.bpm,\n      tempo: context.bpm,\n      notes: [\n        { pitch: 60, startBeat: 0, durationBeats: 1, velocity: 100 },\n        { pitch: 64, startBeat: 1, durationBeats: 1, velocity: 90 },\n        { pitch: 67, startBeat: 2, durationBeats: 1, velocity: 85 },\n        { pitch: 72, startBeat: 3, durationBeats: 1, velocity: 100 },\n      ],\n    });\n\n    host.showToast('success', 'Done', 'Pattern generated');\n  };\n\n  return (\n    <div>\n      <button onClick={handleGenerate} disabled={!isConnected}>\n        Generate\n      </button>\n    </div>\n  );\n}\n```\n\n### 4. Install the plugin\n\nPlace the compiled plugin in:\n\n```\n~/.signals-and-sorcery/plugins/my-plugin/\n  plugin.json\n  index.js\n  ...\n```\n\nRestart Signals & Sorcery. The plugin appears in the workstation accordion.\n\n## PluginHost API Overview\n\nAll methods are available on the `host` object your plugin receives in `activate()` and via `PluginUIProps.host`. Methods marked with **ownership** can only modify tracks the calling plugin created.\n\n### Track Management\n| Method | Description |\n|--------|-------------|\n| `createTrack(options)` | Create a track with name, role, synth, instrument |\n| `deleteTrack(trackId)` | Delete an owned track |\n| `getPluginTracks()` | List all tracks this plugin owns in the active scene |\n| `getTrackInfo(trackId)` | Detailed track state (mute, volume, pan, plugins) |\n| `adoptSceneTracks()` | Re-claim unowned tracks matching generator type |\n| `setTrackMute/Volume/Pan/Solo/Name` | Track property setters |\n| `shufflePreset(trackId)` | Randomize Surge XT preset (keeps MIDI) |\n| `duplicateTrack(trackId)` | Clone track with MIDI + new preset |\n\n### MIDI Operations\n| Method | Description |\n|--------|-------------|\n| `writeMidiClip(trackId, clip)` | Write MIDI notes (replaces existing) |\n| `clearMidi(trackId)` | Clear all MIDI from a track |\n| `postProcessMidi(notes, options)` | Quantize, swing, scale enforcement, humanization |\n| `auditionNote(trackId, pitch, velocity, durationMs)` | Preview a single note |\n\n### Audio Operations\n| Method | Description |\n|--------|-------------|\n| `writeAudioClip(trackId, filePath, position?)` | Place audio file on track |\n| `generateAudioTexture(request)` | AI audio generation from text prompt |\n\n### Plugin/Synth Operations\n| Method | Description |\n|--------|-------------|\n| `loadSynthPlugin(trackId, pluginName)` | Load VST3/AU plugin |\n| `setPluginState/getPluginState` | Save/restore base64-encoded preset data |\n| `getTrackPlugins(trackId)` | List loaded plugins |\n| `getAvailableInstruments()` | Get scanned VST3/AU instruments |\n| `setTrackInstrument(trackId, pluginId)` | Change instrument (preserves MIDI) |\n\n### FX Operations\nSix categories in signal chain order: `eq` > `compressor` > `chorus` > `phaser` > `delay` > `reverb`\n\n| Method | Description |\n|--------|-------------|\n| `getTrackFxState(trackId)` | Get enabled/preset/dryWet per category |\n| `toggleTrackFx(trackId, category, enabled)` | Enable/disable FX category |\n| `setTrackFxPreset(trackId, category, presetIndex)` | Set FX preset (0-4) |\n| `setTrackFxDryWet(trackId, category, value)` | Set dry/wet mix (0.0-1.0) |\n\n### Scene Context\n| Method | Description |\n|--------|-------------|\n| `getGenerationContext(excludeTrackId?)` | Full context + concurrent track MIDI data |\n| `getMusicalContext()` | Key, mode, BPM, bars, genre, chords |\n| `getActiveSceneId()` | Current scene ID (synchronous) |\n| `getSceneList()` | All scenes in the project |\n\n### Sample Packs *(status methods since SDK 2.7.0; download/progress since 2.8.0)*\nVersioned sample packs (drums, instruments, the loop/sample library) install on demand under `<userData>/samples/`. A plugin checks install state to decide between its normal UI and a \"download library\" CTA, then drives the download **through the host** — never `window.electronAPI`.\n\n| Method | Description |\n|--------|-------------|\n| `getSamplePackRoot(packId)` | Absolute path to the installed pack root, or null if missing/stale |\n| `isSamplePackCurrent(packId)` | True iff the installed version matches this build's expected version |\n| `getSamplePackInstalledVersion(packId)` | Installed version string, or null if not installed |\n| `startSamplePackDownload(packId)` | Trigger download + install; resolves `{ success, error? }` |\n| `onSamplePackProgress(packId, listener)` | Subscribe to `{ status, progress }` updates; returns an unsubscribe fn |\n\n### Deck Playback *(since SDK 2.9.0)*\nThe two playback decks: `'loop-a'` (composition / cue, headphones) and `'loop-b'` (performance / main). These route through the **same host path the workstation UI uses**, so the deck mutual-exclusivity rules (the host's PlaybackRuleEngine) are enforced identically — a plugin can't bypass them. Used by playback-driven plugins (e.g. the recorder, which starts loop-a so a take has a backing loop). Available to renderer-hosted plugins.\n\n| Method | Description |\n|--------|-------------|\n| `deckPlay(deckId, contentId?, contentType?)` | Start a deck playing a scene/transition (`contentType` defaults to `'scene'`); resolves `{ success, error?, code? }` |\n| `deckStop(deckId)` | Stop a deck; resolves `{ success, error? }` |\n| `onDeckStateChanged(listener)` | Subscribe to `{ deckId, property, value }` (e.g. `property: 'playing'`); returns an unsubscribe fn |\n| `onAllDecksStopped(listener)` | Subscribe to the global \"all decks stopped\" event; returns an unsubscribe fn |\n\n### Transport & Events\n| Method | Description |\n|--------|-------------|\n| `onTrackStateChange(listener)` | Real-time mute, solo, volume, pan updates |\n| `onTransportEvent(listener)` | Play, stop, BPM change, position |\n| `onDeckBoundary(listener)` | Loop boundary events (bar, beat, loopCount) |\n| `onSceneChange(listener)` | Scene selection changes |\n| `onEngineReady(listener)` | Engine finished loading tracks |\n| `getTransportState()` | Current playback state snapshot |\n\n### LLM Access\n| Method | Description |\n|--------|-------------|\n| `generateWithLLM(request)` | Generate text/JSON (metered, requires auth) |\n| `isLLMAvailable()` | Check auth + gateway reachability |\n\n### Preset System\n| Method | Description |\n|--------|-------------|\n| `getPresetCategories(pluginName)` | Available Surge XT categories |\n| `getRandomPreset(category)` | Random preset from category |\n| `getPresetByName(category, name)` | Specific preset lookup |\n| `classifyPresetCategory(description)` | LLM-based text-to-category |\n\n### Scene Composition\n| Method | Description |\n|--------|-------------|\n| `composeScene(options)` | Bulk LLM arrangement generation |\n| `onComposeProgress(listener)` | Progress events (planning, generating, complete) |\n\n### Data Persistence\n| Method | Description |\n|--------|-------------|\n| `getSceneData/setSceneData/getAllSceneData/deleteSceneData` | Per-scene key-value storage |\n| `getProjectData/setProjectData` | Project-wide storage |\n| `settings.get/set/getAll/onChange` | Global settings (cross-project) |\n| `getDataDirectory()` | Plugin's isolated data directory path |\n\n### Plugin Presets\n| Method | Description |\n|--------|-------------|\n| `getPluginPresets(category?)` | Get saved presets for this plugin |\n| `savePluginPreset(options)` | Save a preset (name, category, data) |\n| `deletePluginPreset(id)` | Delete a preset |\n\n### File System & Network\n| Method | Description |\n|--------|-------------|\n| `showOpenDialog/showSaveDialog` | Native file dialogs (requires `fileDialog` capability) |\n| `downloadFile/importFile` | Download/copy files to plugin data directory |\n| `httpRequest(options)` | HTTP requests (requires `network` capability with `allowedHosts`) |\n\n### Secure Storage\n| Method | Description |\n|--------|-------------|\n| `storeSecret/getSecret/deleteSecret` | OS keychain encryption, per-plugin scoped |\n\n### Sample Library\n| Method | Description |\n|--------|-------------|\n| `getSamples/getSampleById` | Query sample library |\n| `importSamples(filePaths)` | Import audio files |\n| `createSampleTrack/deleteSampleTrack` | Manage sample tracks |\n| `getPluginSampleTracks()` | List owned sample tracks |\n| `timeStretchSample(sampleId, targetBpm)` | Time-stretch to target BPM |\n\n### Notifications & Progress\n| Method | Description |\n|--------|-------------|\n| `showToast(type, title, message?)` | Toast notification (info/success/warning/error) |\n| `setProgress(trackId, progress)` | Track progress bar (0-100, -1 to hide) |\n| `setStatusMessage(message)` | Accordion header status text |\n| `confirmAction(title, message)` | Confirmation dialog |\n\n## Error Codes\n\nAll errors are `PluginError` instances with a typed `code` property:\n\n| Code | Description |\n|------|-------------|\n| `NOT_OWNED` | Tried to modify a track not owned by this plugin |\n| `TRACK_NOT_FOUND` | Track ID doesn't exist in engine |\n| `TRACK_LIMIT_EXCEEDED` | Plugin has too many tracks (default: 16 per scene) |\n| `NO_ACTIVE_SCENE` | No scene is selected |\n| `ENGINE_ERROR` | Audio engine call failed |\n| `INVALID_MIDI` | Malformed MIDI data |\n| `FILE_NOT_FOUND` | Referenced file doesn't exist |\n| `INVALID_FORMAT` | Unsupported audio format |\n| `PLUGIN_NOT_FOUND` | VST/AU plugin not installed |\n| `LLM_BUDGET_EXCEEDED` | Over daily token limit |\n| `LLM_UNAVAILABLE` | LLM gateway unreachable |\n| `NOT_AUTHENTICATED` | User not logged in |\n| `TIMEOUT` | Operation timed out |\n| `CANCELLED` | User cancelled the operation |\n| `INCOMPATIBLE` | Plugin requires newer SDK version |\n| `CAPABILITY_DENIED` | Plugin lacks required capability in manifest |\n| `SECRET_NOT_FOUND` | Secret key doesn't exist |\n\n## Security Model\n\n- **Ownership scoping** — Plugins can only modify tracks they created (enforced at runtime)\n- **Capability gating** — Network and file system access require manifest declarations\n- **Secret isolation** — Each plugin's secrets are encrypted and scoped per plugin\n- **Track limits** — 16 tracks per plugin per scene (configurable)\n\n## The Signals & Sorcery Ecosystem\n\n- **[Signals & Sorcery](https://signalsandsorcery.com)** — the flagship AI music production workstation\n- **[sas-synth-plugin](https://github.com/shiehn/sas-synth-plugin)** — AI MIDI generation with Surge XT\n- **[sas-loops-plugin](https://github.com/shiehn/sas-loops-plugin)** — Audio loop / sample library browser with time-stretching\n- **[sas-stems-plugin](https://github.com/shiehn/sas-stems-plugin)** — AI audio-from-text generation with stem splitting\n- **[DeclarAgent](https://github.com/shiehn/DeclarAgent)** — Declarative agent + MCP transport for S&S\n\n<p align=\"center\">\n  <a href=\"https://signalsandsorcery.com\">signalsandsorcery.com</a>\n</p>\n\n## License\n\nMIT\n","readmeFilename":"README.md"}