{"_id":"@blujosi/rivetkit-solid","_rev":"17-3e362e08643cbe137ed134cd994142c5","name":"@blujosi/rivetkit-solid","dist-tags":{"latest":"2.3.13"},"versions":{"2.2.1":{"name":"@blujosi/rivetkit-solid","version":"2.2.1","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.2.1","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"e9ad5f1896489ac9620b015bf848a9a5ba71725b","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.2.1.tgz","fileCount":12,"integrity":"sha512-t/nhQ6ldbwqIvfvVMGjw3udwb5WVG/YjTlKKrIRyVU3jtLO8fSnSknlr4k54ByWh7MJpA/b4i8XrJTweVmEIpQ==","signatures":[{"sig":"MEYCIQCcrEQx60ZYmxbWEBpspxuPtbGgb32tQjdXL73WALuNZAIhANWlWR0mDQ7qEvtlq5IOncF3sRmqrfu827hcxigE3nzo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65606},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"0e45a51ec5a43ee65aa140beb16e098d76fbbbd5","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, plus a built-in SolidStart handler for serverless deployment and an SSR transport for server-loaded live queries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.2.1_1773382705357_0.47111048573724723","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@blujosi/rivetkit-solid","version":"2.2.2","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.2.2","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"31c43e454b6e523a22c13ec755a1aec0f64df5ef","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.2.2.tgz","fileCount":12,"integrity":"sha512-KsAYas2acq0oMZh3izvkuhihnPVZHkZ7SvSUvTYec9kLrXYpKyBllZZiFOKu96Tj72eyK1SjfEupch4PWoTh2w==","signatures":[{"sig":"MEUCIQCU7a6OAEiq1i+ZRxkHDJo9FaMNA+SbMFoRvuGJ6TnDBQIgSwrcGI33DDKXownbrOa7iyOTOdg0QcToYTYDu5/pl5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65638},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"0054e8eb6b722f3842de124fc79e0f0ffd6da851","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, plus a built-in SolidStart handler for serverless deployment and an SSR transport for server-loaded live queries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.2.2_1773392566504_0.21246863871575328","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@blujosi/rivetkit-solid","version":"2.2.3","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.2.3","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"adfc313a067877e9d22ecac3c33d5dcbde258dc4","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.2.3.tgz","fileCount":12,"integrity":"sha512-KDaAfom/pU/akw8C6X9CUNOfYH9NGnac8QI7hAacLXIBCOQ45S46/+RIaoXvG0k3jrREa2h9RFC8oVKkyT3aBQ==","signatures":[{"sig":"MEUCIFjYvqim3HfkV4iT3a62LGE2GvXQEXw+jt35XDnlaY9FAiEAiCspi9/SIwgTH4xaS6c48RBjhigCtQ0KdLLVk0OAc90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65803},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"0054e8eb6b722f3842de124fc79e0f0ffd6da851","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, plus a built-in SolidStart handler for serverless deployment and an SSR transport for server-loaded live queries.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.2.3_1773691050734_0.38876179859754245","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@blujosi/rivetkit-solid","version":"2.3.0","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.0","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"3a1250a447e60f13eed08704b2c94805ffcdab96","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.0.tgz","fileCount":12,"integrity":"sha512-1FABiH/+THEoS3OI1ewjyJLe9TEd73fJfY8lM3eJkYfDlHCtBkET/Ks1n0q+F62yVmgKzzCuNoj4O5udSq5k2w==","signatures":[{"sig":"MEQCICy9E19firc9kiQcWIiwMkoaygPa7LRfzx6cXY/2tYvYAiA58MGoYimhHQfE2Rd5Jo8tdLH5ZsyN83b5JibjkT/gNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73934},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"d31cbd8ce19b6e00e07dbd6ffd9f70f9650b94de","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.0_1773834753750_0.5452342183235916","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@blujosi/rivetkit-solid","version":"2.3.1","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.1","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"2f47b610f431f09d28b5d917b7ec9765d0570fc4","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.1.tgz","fileCount":12,"integrity":"sha512-euqGdGCeuODVlVuO3G2+bJz+rveTW74sn3SNl84AhA4v15vnUoFed/sFV3vpAogX/yCmEki3XXi7VN0knTLhKw==","signatures":[{"sig":"MEQCIFJRJg2l2fh2lYkOCQ3D/fyPkhekdMQ+CIS4ZSlzqXELAiALDINIlA40d/ufXLmBJH+V5NWW/f1ffuCsSc8Z5ihaSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"4078175397cd59ef1522c87b9964714b22f54748","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.1_1773987976056_0.10370084816357283","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@blujosi/rivetkit-solid","version":"2.3.2","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.2","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"9f611a52f2f9818de09636de7ed413a566ce4e9f","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.2.tgz","fileCount":12,"integrity":"sha512-VeHG3G+48f1R85yXYVByt/mxzfLJJZ70s/uNnry/JzMWvQmOw6sbs5Ema6pZ6bracmmr4ZbcA/PeHN0OtAvv7A==","signatures":[{"sig":"MEQCIF2XF/Vpy8MloM65cOf+kdaJtObs7KXLUKdXbYIdKz/rAiBEGA7O+IreCLG4uk8UBmVqsdny2yOUx84dVJEKQPqIXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"3afca5631b34ebeb1c3425e39d189900dfe5a3a0","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.2_1774001621363_0.2542838694384082","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"@blujosi/rivetkit-solid","version":"2.3.3","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.3","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"97d7968cbc5b156b318acf2421b5117d6598307a","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.3.tgz","fileCount":12,"integrity":"sha512-t3O5tuZhlYPovZ4xBzTUqwV93v/eCGDWy2F2oipS2Z7rnKxVuQbD/IeJd6mfnGCHkvUGIGepvLqvvsA9YohwhA==","signatures":[{"sig":"MEUCIQDi1J1yNKifIRVw5VCx95LPRWgajjPzsBVog+fexJzROQIgG7qiLzBvYIG8JO/4BbKUOlR1yF8oTG3ddPw7QII3hGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"3afca5631b34ebeb1c3425e39d189900dfe5a3a0","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.3_1774087341233_0.4823409736907782","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@blujosi/rivetkit-solid","version":"2.3.4","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.4","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"692295f4228caefcb341a00662e909e6ad661099","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.4.tgz","fileCount":12,"integrity":"sha512-RQZ6lL03EvFa8dF9O7c38nW7yJW9Y4ckQo6e7lXoA3P91X6tpYhnReznGHOfRTWfDrHQfzsu9DvzE5CH86RMog==","signatures":[{"sig":"MEUCIQCiYou+rcjbk+8H9ET/mL+BovQFalcfURaKpmKoMsSQ0AIgfpvWZuxIhwXds+9GBLNDxZedUG9q5KCA0YonJYnaTC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"dc8fea90b7a42535bb900bdb761585b3d32e631a","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0"},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.4_1774094298753_0.330273009184634","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@blujosi/rivetkit-solid","version":"2.3.5","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.5","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"59e391ed5810c8b572ff517151acb69535816212","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.5.tgz","fileCount":12,"integrity":"sha512-MxOYfFYQzEDxqOZQkkImKhRu3MhXowR0qqDqAYSj3NgI2b+N7In03CcsVAlzxCgbZXbVTsTPH+uNyJnXfdpa/w==","signatures":[{"sig":"MEYCIQCHBrrQPExXW7uPnKHfkfxOmYniQJheacyHmrAgjiu3VQIhAOyxDWFrK3TMj9E0qHAp1pZMpTIhUvMNQ4N57/BIefvA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83151},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"dc8fea90b7a42535bb900bdb761585b3d32e631a","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.5_1774797556253_0.000993214807368803","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"@blujosi/rivetkit-solid","version":"2.3.6","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.6","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"99be301b6dcaf82a9f06684052a1c6057e020604","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.6.tgz","fileCount":12,"integrity":"sha512-L6PGHVzosaRnYPFRm0nKRJCkM5rJygJdmyxHb2nOiyjHGPBygP4sKrA4JZEHfF0MejANDittD8GD5ouBbIoz1A==","signatures":[{"sig":"MEUCIQCcvTkQ/bm/c/VKP4mmGzgBxEqgPv626pqSdh/hj7d7wwIgJ35FXgflrScox1vpeC+XvHOjoO4edCSCDSJMG6zjyso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"dc8fea90b7a42535bb900bdb761585b3d32e631a","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.1.6"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","solid-js":"^1.9.11","typescript":"^5.9.3","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.1.3"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.6_1774823720428_0.03998528224090103","host":"s3://npm-registry-packages-npm-production"}},"2.3.7":{"name":"@blujosi/rivetkit-solid","version":"2.3.7","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.7","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"dd4646ce775ad8e9f6a8508a182a944b13c5e00a","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.7.tgz","fileCount":12,"integrity":"sha512-WXEgpzUw7fmR8sPNAvrPjLgCIgBN2NTYXhaqdu+KHMO3w0eEnDvEQwgnL3LlNBabu30X4voRR2JS1M7UZYCzyg==","signatures":[{"sig":"MEUCIGOeiJTqLzX06SGJIaPyemEiWVj7ZAIhu3gbsXvQixkCAiEA12ch6jW9QUAllDfad6WjOQFH54qdwgZnUmSHlmB+iLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"dc8fea90b7a42535bb900bdb761585b3d32e631a","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.7_1775033383684_0.904706641597723","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"@blujosi/rivetkit-solid","version":"2.3.8","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.8","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"505d98e3f1da18de52cbd93493b9de743ac87c5c","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.8.tgz","fileCount":12,"integrity":"sha512-KCFS4eNlTJrsrYrguBeEVV1SGATvoST4J7QdRmYgzB6bTiWuhbLqW0DXKZPh6yn67RpReRu0A/YpBVmpvPNBGQ==","signatures":[{"sig":"MEQCIFUMq2CoPmmO9GhFS4ZFyl5uiY0P4ADEXJ/bmVy/bnh/AiAeQz51ei+CAi6elMyAFLdyysNhggALSTAAzMMayMlgkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"a2a054bee60b1148585eb714f474609acd912f22","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.8_1775123562783_0.5786399581788688","host":"s3://npm-registry-packages-npm-production"}},"2.3.9":{"name":"@blujosi/rivetkit-solid","version":"2.3.9","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.9","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"8fbc6503e33d4aa94bb1f9443f31729c9ede8920","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.9.tgz","fileCount":12,"integrity":"sha512-dedREl9l7FKEV4Xr4AWdh2IWtazPLdUJfJns0EEuoFKQMyGo4sMXhszWB15yaCZmL4h+lzdG9iXecwp2GAss4g==","signatures":[{"sig":"MEYCIQDxb7o1xVMbYcKtdJpejTpCUVjGxBHbKQy3Y1dtVJPDKgIhALWFsyZe4iQ7OJ+5FfkrK6Mnz/7+zGYztcASLm0A/3Yz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"a2a054bee60b1148585eb714f474609acd912f22","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.9_1775124713499_0.15374607566223508","host":"s3://npm-registry-packages-npm-production"}},"2.3.10":{"name":"@blujosi/rivetkit-solid","version":"2.3.10","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.10","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"a1bdf4abb0d4db8e31636c27cb58d983fe369b85","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.10.tgz","fileCount":12,"integrity":"sha512-nZf9mwMoPoLJdABOfXOeC5Kkzr5hOrBRv5SOEXHGhSl4izhAICjgUdjPbgqt8D86qECmBJub1DJI0Y7nEMC49Q==","signatures":[{"sig":"MEYCIQCWElkpG2YCf6vIECLKPYC89pSB+NB3amo73lhgjf0xOQIhALiakvZ+3jDzI+hTOBUViD0mGuC0opYZ9mnMmDPH8Njm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"a2a054bee60b1148585eb714f474609acd912f22","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.10_1775124951229_0.7887082399245662","host":"s3://npm-registry-packages-npm-production"}},"2.3.11":{"name":"@blujosi/rivetkit-solid","version":"2.3.11","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.11","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"2c7283b56c96de1ddad7cb573cd5dfa608075ca8","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.11.tgz","fileCount":12,"integrity":"sha512-I111DYnqBPsdlFffSS0XTxMSuvst7oFQVDtXbs9o4DXArfORVtMUryVhnCxMrZyAAuKmrzBbxO1HaQmqmHlhYA==","signatures":[{"sig":"MEUCIDJkGVOycTlAgqN4t1x5pl993CmEis9HeFBvQpVvqfPdAiEA4dXHJVgGKUkQ+S/jD6t5QmX/hLo/Dga14QwQzt1oU54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"a2a054bee60b1148585eb714f474609acd912f22","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.11_1775125642365_0.15112887597191738","host":"s3://npm-registry-packages-npm-production"}},"2.3.12":{"name":"@blujosi/rivetkit-solid","version":"2.3.12","keywords":["solidjs","solid","rivetkit","rivet","actors"],"_id":"@blujosi/rivetkit-solid@2.3.12","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"dist":{"shasum":"789b6cc04211ce655a4f290a5c0d1e870a89cf9a","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.12.tgz","fileCount":12,"integrity":"sha512-9eZFIpk+RPc+9TYGce7vDZYt0b1GShuylGJKRQ9mLqqUIpFsCFYub804MGc7MIq14i/NxI2G3GV1M7CfwprRaQ==","signatures":[{"sig":"MEUCIQDY7NSiAFIwMjAbJyoTB3fDleB1S7DxTKZLeymv7avwSAIgcQ/AKwE7efcH+11IOdXKohQXiV3xxoV7FBT410XYQvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85437},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"solid":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./solid":{"solid":"./dist/solid/index.js","types":"./dist/solid/index.d.ts","default":"./dist/solid/index.js"},"./solidstart":{"solid":"./dist/solidstart/index.js","types":"./dist/solidstart/index.d.ts","default":"./dist/solidstart/index.js"}},"gitHead":"2eb665fe60a44b72f9e65a5c327d7d7dbf6a316a","scripts":{"dev":"tsup --watch","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"_npmVersion":"11.6.1","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"esm-env":"^1.2.2","rivetkit":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.12","typescript":"^6.0.2","tsup-preset-solid":"^2.2.0","esbuild-plugin-solid":"0.6.0","@rivetkit/framework-base":"^2.2.0"},"peerDependencies":{"solid-js":"^1.9.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rivetkit-solid_2.3.12_1775144506464_0.7566655424399389","host":"s3://npm-registry-packages-npm-production"}},"2.3.13":{"name":"@blujosi/rivetkit-solid","version":"2.3.13","type":"module","scripts":{"build":"tsup","dev":"tsup --watch","check-types":"tsc --noEmit"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","solid":"./dist/index.js","default":"./dist/index.js"},"./solid":{"types":"./dist/solid/index.d.ts","solid":"./dist/solid/index.js","default":"./dist/solid/index.js"},"./solidstart":{"types":"./dist/solidstart/index.d.ts","solid":"./dist/solidstart/index.js","default":"./dist/solidstart/index.js"}},"peerDependencies":{"solid-js":"^1.9.0","rivetkit":"^2.2.0","@rivetkit/cloudflare-workers":"^2.0.0"},"peerDependenciesMeta":{"@rivetkit/cloudflare-workers":{"optional":true}},"devDependencies":{"@rivetkit/framework-base":"^2.2.0","esbuild-plugin-solid":"0.6.0","solid-js":"^1.9.12","tsup":"^8.5.1","tsup-preset-solid":"^2.2.0","typescript":"^6.0.2"},"dependencies":{"esm-env":"^1.2.2"},"keywords":["solidjs","solid","rivetkit","rivet","actors"],"gitHead":"2eb665fe60a44b72f9e65a5c327d7d7dbf6a316a","_id":"@blujosi/rivetkit-solid@2.3.13","description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-xMNF5EF91vl3YgVGcZLgPXNVdzqU8Jm98VdNam/kP1bilv3jPhql+z335Uz5bbfL14hZiBh8AUZ7kEjlGERPQg==","shasum":"d64ab070ec1ff54255b8ac472c9d0803e2a2cb55","tarball":"https://registry.npmjs.org/@blujosi/rivetkit-solid/-/rivetkit-solid-2.3.13.tgz","fileCount":12,"unpackedSize":85437,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDJNT1UVBu+xrKdnv3wqdzX4DySEbHmXBkEzHET8uolwAiEAyxBeoJm5n6bKVmklKMVD9wIDHK3KkZfVuwAX7mXDcVk="}]},"_npmUser":{"name":"blujosi","email":"joshua.oguche@outlook.com"},"directories":{},"maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rivetkit-solid_2.3.13_1775485234141_0.2618866180744417"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T06:18:25.264Z","modified":"2026-04-06T14:20:34.403Z","2.2.1":"2026-03-13T06:18:25.527Z","2.2.2":"2026-03-13T09:02:46.635Z","2.2.3":"2026-03-16T19:57:30.884Z","2.3.0":"2026-03-18T11:52:33.917Z","2.3.1":"2026-03-20T06:26:16.259Z","2.3.2":"2026-03-20T10:13:41.492Z","2.3.3":"2026-03-21T10:02:21.389Z","2.3.4":"2026-03-21T11:58:18.924Z","2.3.5":"2026-03-29T15:19:16.564Z","2.3.6":"2026-03-29T22:35:20.602Z","2.3.7":"2026-04-01T08:49:43.850Z","2.3.8":"2026-04-02T09:52:42.923Z","2.3.9":"2026-04-02T10:11:53.653Z","2.3.10":"2026-04-02T10:15:51.371Z","2.3.11":"2026-04-02T10:27:22.534Z","2.3.12":"2026-04-02T15:41:46.607Z","2.3.13":"2026-04-06T14:20:34.298Z"},"keywords":["solidjs","solid","rivetkit","rivet","actors"],"description":"A SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.","maintainers":[{"name":"blujosi","email":"joshua.oguche@outlook.com"}],"readme":"# @blujosi/rivetkit-solid\n\nA SolidJS integration for [RivetKit](https://rivet.dev) that provides reactive actor connections using SolidJS signals, a Provider/Context architecture for SSR-safe client injection, and a SolidStart handler for serverless deployment.\n\n## Installation\n\n```bash\npnpm add @blujosi/rivetkit-solid rivetkit\n\n# or\n\nnpm i @blujosi/rivetkit-solid rivetkit\n```\n\n## Overview\n\n`@blujosi/rivetkit-solid` provides three main pieces:\n\n1. **SolidJS client** (`@blujosi/rivetkit-solid`) — `RivetProvider`, `useActorFromContext`, and `useActor` hook for reactive actor connections with real-time events\n2. **SolidStart handler** (`@blujosi/rivetkit-solid/solidstart`) — `createRivetKitHandler` to serve RivetKit as a SolidStart API route\n3. **SSR transport** (`@blujosi/rivetkit-solid/solidstart`) — `useRivetQuery` for server-fetched data that upgrades to live subscriptions on the client\n\n## Features\n\n- **Provider + Context** — SSR-safe client injection via `<RivetProvider>`, no module-level singletons\n- **SolidJS Signals** — Built on `createSignal`, `createEffect`, `createResource`, and getter-based reactivity\n- **Real-time Actor Connections** — Connect to RivetKit actors with automatic state sync via WebSocket\n- **SSR → Live Upgrade** — `useRivetQuery` uses `createResource` for automatic SSR serialization, then upgrades to live WebSocket on the client\n- **Event Handling** — `useEvent` with automatic cleanup via `onCleanup`\n- **Type Safety** — Full TypeScript support with registry type inference\n- **SolidStart Handler** — Run RivetKit serverless inside your SolidStart app\n\n## Package Entry Points\n\n| Import path | Purpose |\n|---|---|\n| `@blujosi/rivetkit-solid` | Client-side: `RivetProvider`, `useRivet`, `useActorFromContext`, `createClient`, `createRivetKit`, `createRivetKitWithClient`, CRUD transforms |\n| `@blujosi/rivetkit-solid/solid` | SolidJS-specific: full client exports (re-exported from main) |\n| `@blujosi/rivetkit-solid/solidstart` | Server + SSR: `createRivetKitHandler`, `useRivetQuery`, `createRivetQuery` |\n\n---\n\n## Quick Start\n\n### 1. Define Your Actors & Registry\n\n```typescript\n// backend/registry.ts\nimport { actor, setup } from \"rivetkit\";\n\nexport const counter = actor({\n  state: { count: 0, countDouble: 0 },\n  actions: {\n    increment: (c, x: number) => {\n      c.state.count += x;\n      c.broadcast(\"newCount\", c.state.count);\n      return c.state.count;\n    },\n    getCount: (c) => c.state.count,\n    getCountDouble: (c) => c.state.countDouble,\n    doubleIncrement: (c, y: number) => {\n      c.state.countDouble += y;\n      c.broadcast(\"newDoubleCount\", c.state.countDouble);\n      return c.state.countDouble;\n    },\n    reset: (c) => {\n      c.state.count = 0;\n      c.state.countDouble = 0;\n      c.broadcast(\"newCount\", c.state.count);\n      c.broadcast(\"newDoubleCount\", c.state.countDouble);\n      return c.state.count;\n    },\n  },\n});\n\nexport const registry = setup({\n  use: { counter },\n});\n\nexport type Registry = typeof registry;\n```\n\n### 2. Set Up the SolidStart Handler\n\nCreate a catch-all API route to proxy RivetKit requests through SolidStart:\n\n```typescript\n// src/routes/api/rivet/[...rest].ts\nimport { createRivetKitHandler } from \"@blujosi/rivetkit-solid/solidstart\";\nimport { registry } from \"~backend/registry\";\n\nexport const { GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS } =\n  createRivetKitHandler({\n    isDev: !!import.meta.env.DEV,\n    registry,\n    rivetSiteUrl: \"http://localhost:3000\",\n  });\n```\n\n#### Handler Options\n\n| Option | Type | Description |\n|---|---|---|\n| `registry` | `Registry` | Your RivetKit registry instance |\n| `isDev` | `boolean` | Enables auto-engine spawn and runner pool config |\n| `rivetSiteUrl` | `string` | Base URL for the site |\n| `headers` | `Record<string, string>?` | Static headers added to every request |\n| `getHeaders` | `(request: Request) => Record<string, string>?` | Dynamic per-request headers |\n| `runtime` | `\"default\" \\| \"cloudflare\"?` | Runtime to use. `\"default\"` uses the built-in registry handler; `\"cloudflare\"` delegates to `@rivetkit/cloudflare-workers`. Defaults to `\"default\"` |\n\n#### Cloudflare Workers Runtime\n\nTo deploy your SolidStart app on Cloudflare Workers, set `runtime: \"cloudflare\"` and install the Cloudflare Workers adapter:\n\n```bash\nnpm install @rivetkit/cloudflare-workers\n```\n\nThen update your handler:\n\n```typescript\n// src/routes/api/rivet/[...rest].ts\nimport { createRivetKitHandler } from \"@blujosi/rivetkit-solid/solidstart\";\nimport { registry } from \"~backend/registry\";\n\nexport const { GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS } =\n  createRivetKitHandler({\n    isDev: !!import.meta.env.DEV,\n    registry,\n    rivetSiteUrl: \"http://localhost:3000\",\n    runtime: \"cloudflare\",\n  });\n```\n\nWhen `runtime: \"cloudflare\"` is set, the handler dynamically imports `@rivetkit/cloudflare-workers` and uses its `createHandler` to process requests via Cloudflare's Durable Objects. The `@rivetkit/cloudflare-workers` package is an optional peer dependency — it only needs to be installed when using the Cloudflare runtime.\n\n### 3. Create the Client & Wrap with Provider\n\n```typescript\n// src/lib/actor.client.ts\nimport { createClient } from \"@blujosi/rivetkit-solid\";\nimport type { Client } from \"rivetkit/client\";\nimport type { Registry } from \"~backend/registry\";\n\nconst IS_BROWSER = typeof globalThis.document !== \"undefined\";\n\nconst endpoint = IS_BROWSER\n  ? `${location.origin}/api/rivet`\n  : \"http://localhost:3000/api/rivet\";\n\nexport const rivetClient: Client<Registry> = createClient<Registry>(endpoint);\n```\n\nThen wrap your app with `<RivetProvider>`:\n\n```tsx\n// src/app.tsx\nimport { Router } from \"@solidjs/router\";\nimport { FileRoutes } from \"@solidjs/start/router\";\nimport { RivetProvider } from \"@blujosi/rivetkit-solid\";\nimport { rivetClient } from \"~/lib/actor.client\";\n\nexport default function App() {\n  return (\n    <RivetProvider client={rivetClient}>\n      <Router root={(props) => <>{props.children}</>}>\n        <FileRoutes />\n      </Router>\n    </RivetProvider>\n  );\n}\n```\n\n### 4. Use Actors in Components (Client-Side)\n\nUse `useActorFromContext` — it pulls the client from the provider automatically:\n\n```tsx\n// src/routes/index.tsx\nimport { useActorFromContext } from \"@blujosi/rivetkit-solid\";\nimport { Show } from \"solid-js\";\n\nexport default function Home() {\n  const counterActor = useActorFromContext({\n    name: \"counter\",\n    key: [\"test-counter\"],\n  });\n\n  const countQuery = counterActor?.useActionQuery({\n    action: \"getCount\",\n    event: \"newCount\",\n    initialValue: 0,\n  });\n\n  const increment = async () => {\n    await counterActor?.current?.connection?.increment(1);\n  };\n  const reset = async () => {\n    await counterActor?.current?.connection?.reset();\n  };\n\n  return (\n    <Show\n      when={!countQuery?.isLoading}\n      fallback={<p>Loading...</p>}\n    >\n      <div>\n        <h1>Counter: {countQuery?.value}</h1>\n        <button onClick={increment}>Increment</button>\n        <button onClick={reset}>Reset</button>\n      </div>\n    </Show>\n  );\n}\n```\n\n### 5. SSR with Live Upgrade\n\nUse `useRivetQuery` to fetch actor collections server-side and automatically upgrade to live WebSocket subscriptions on the client. `T` is the **item** type; data is always `T[]`:\n\n```tsx\n// src/routes/todos.tsx\nimport { useRivetQuery } from \"@blujosi/rivetkit-solid/solidstart\";\nimport { useActorFromContext } from \"@blujosi/rivetkit-solid\";\nimport { Show, For } from \"solid-js\";\n\ninterface Todo { id: string; title: string; done: boolean }\n\nexport default function TodosPage() {\n  // SSR query — T is the item type, data() returns Todo[]\n  const todos = useRivetQuery<Todo>({\n    actor: \"todoList\",\n    key: [\"my-list\"],\n    action: \"getTodos\",\n    event: \"todoListUpdate\",\n  });\n\n  // Actor connection for calling mutations\n  const todoActor = useActorFromContext({\n    name: \"todoList\",\n    key: [\"my-list\"],\n  });\n\n  const addTodo = async (title: string) => {\n    await todoActor?.current?.connection?.addTodo(title);\n  };\n\n  return (\n    <div>\n      <h2>Todos</h2>\n      <Show when={!todos.isLoading()} fallback={<p>Loading...</p>}>\n        <For each={todos.data() ?? []}>\n          {(todo) => <p>{todo.title}</p>}\n        </For>\n      </Show>\n    </div>\n  );\n}\n```\n\nFor simple scalar values (counters etc.), use `useActorFromContext` + `useActionQuery` instead:\n\n```tsx\nconst counterActor = useActorFromContext({\n  name: \"counter\",\n  key: [\"test-counter\"],\n});\n\nconst count = counterActor?.useActionQuery({\n  action: \"getCount\",\n  event: \"newCount\",\n  initialValue: 0,\n});\n\n// count?.value is a number\n```\n\n**How SSR → Live works:**\n1. On the **server**, `useRivetQuery` uses `createResource` to call the action — SolidStart serializes the result automatically\n2. On the **client** (hydration), a `createEffect` waits for the resource to resolve, then creates a live WebSocket subscription\n3. `onCleanup` disconnects the WebSocket and unsubscribes events when the component unmounts\n4. The returned `RivetQueryResult<T>` exposes reactive accessors (`data()`, `isLoading()`, `error()`, `isConnected()`, `refetch()`)\n\n---\n\n## API Reference\n\n### Provider & Context (`@blujosi/rivetkit-solid`)\n\n#### `<RivetProvider client={client}>`\n\nProvides the RivetKit client to all descendant components via SolidJS context. Required for `useActorFromContext` and `useRivetQuery`.\n\n```tsx\nimport { RivetProvider } from \"@blujosi/rivetkit-solid\";\n\n<RivetProvider client={rivetClient}>\n  {/* All children can use useActorFromContext and useRivetQuery */}\n</RivetProvider>\n```\n\n| Prop | Type | Description |\n|---|---|---|\n| `client` | `Client<any>` | The RivetKit client instance |\n\n#### `useRivet<Registry>()`\n\nReturns the RivetKit context value (`{ client }`). Throws if called outside a `<RivetProvider>`.\n\n```typescript\nimport { useRivet } from \"@blujosi/rivetkit-solid\";\nconst { client } = useRivet<Registry>();\n```\n\n#### `useActorFromContext(options)`\n\nConnects to a RivetKit actor using the client from `<RivetProvider>`. Returns the same API as `useActor`.\n\n```typescript\nimport { useActorFromContext } from \"@blujosi/rivetkit-solid\";\n\nconst actor = useActorFromContext({\n  name: \"counter\",\n  key: [\"test-counter\"],\n});\n```\n\n---\n\n### Client Exports (`@blujosi/rivetkit-solid`)\n\n#### `createClient<Registry>(url)`\n\nCreates a RivetKit client connection.\n\n```typescript\nimport { createClient } from \"@blujosi/rivetkit-solid\";\nconst client = createClient<Registry>(\"http://localhost:3000/api/rivet\");\n```\n\n#### `createRivetKit<Registry>(url, opts?)`\n\nShorthand that creates both the client and the `useActor` hook.\n\n```typescript\nimport { createRivetKit } from \"@blujosi/rivetkit-solid\";\nexport const { useActor } = createRivetKit<Registry>(\"http://localhost:3000/api/rivet\");\n```\n\n#### `createRivetKitWithClient<Registry>(client, opts?)`\n\nCreates the `useActor` hook from an existing client instance.\n\n```typescript\nimport { createClient, createRivetKitWithClient } from \"@blujosi/rivetkit-solid\";\nconst client = createClient<Registry>(url);\nexport const { useActor } = createRivetKitWithClient(client);\n```\n\n---\n\n### `useActor(options)`\n\nConnects to a RivetKit actor and returns reactive state plus helper methods. Uses SolidJS signals internally for fine-grained reactivity.\n\n```typescript\nconst actor = useActor({\n  name: \"counter\",             // Actor name from your registry\n  key: [\"test-counter\"],       // Unique key for this instance\n  params: { /* ... */ },       // Optional connection parameters\n  createInRegion: \"us-east-1\", // Optional region\n  createWithInput: { /* */ },  // Optional input data\n  enabled: true,               // Optional, defaults to true\n});\n```\n\n**Returns:**\n\n| Property | Type | Description |\n|---|---|---|\n| `current.connection` | `ActorConn` | Call actions on the actor |\n| `current.handle` | `ActorHandle` | Advanced actor operations |\n| `current.isConnected` | `boolean` | Whether the actor is connected |\n| `current.isConnecting` | `boolean` | Whether a connection is in progress |\n| `current.isError` | `boolean` | Whether there's an error |\n| `current.error` | `Error \\| null` | The error object, if any |\n| `useEvent(name, handler)` | `function` | Listen for actor events |\n| `useQuery(opts)` | `object` | Reactive query with transform — see below |\n| `useActionQuery(opts)` | `object` | Re-fetch query (event = invalidation signal) — see below |\n\n---\n\n### `useEvent(eventName, handler)`\n\nRegisters an event listener with automatic cleanup via `onCleanup`.\n\n```typescript\ncounterActor?.useEvent(\"newCount\", (value: number) => {\n  console.log(\"Count updated:\", value);\n});\n```\n\n---\n\n### `useQuery(options)`\n\nCreates a reactive query that fetches an initial value by calling an actor action, then subscribes to an event to keep the value updated in real-time. The event **data** is used directly to update the value (optionally via a `transform` function).\n\n```typescript\nconst count = counterActor?.useQuery({\n  action: \"getCount\",\n  event: \"newCount\",\n  initialValue: 0,\n});\n```\n\n**Options:**\n\n| Option | Type | Description |\n|---|---|---|\n| `action` | `string` | The action name to call for the initial value |\n| `args` | `any[]?` | Optional arguments passed to the action |\n| `event` | `string` | The event name to subscribe to for real-time updates |\n| `initialValue` | `T` | The value to use before the action resolves |\n| `transform` | `(current: T, incoming: any) => T?` | Optional function to merge incoming event data with the current value |\n\n**Default transform behavior:**\n- **Plain objects** — shallow merge: `{ ...current, ...incoming }`\n- **Primitives & arrays** — full replacement\n\n**Returns:**\n\n| Property | Type | Description |\n|---|---|---|\n| `value` | `T` | The current reactive value (getter backed by signal) |\n| `isLoading` | `boolean` | `true` until the initial action resolves |\n| `error` | `Error \\| null` | Error from the action call, if any |\n\n---\n\n### `useActionQuery(options)`\n\nCreates a reactive query that fetches a value by calling an actor action, then **re-fetches** whenever a specified event fires. Unlike `useQuery`, the event data is **not used** — it's purely an invalidation signal that triggers a fresh action call.\n\n```typescript\nconst count = counterActor?.useActionQuery({\n  action: \"getCount\",\n  event: \"newCount\",\n  initialValue: 0,\n});\n```\n\n**Options:**\n\n| Option | Type | Description |\n|---|---|---|\n| `action` | `string` | The action name to call (and re-call on event) |\n| `args` | `Accessor<any[]>?` | Optional reactive accessor for arguments |\n| `event` | `string \\| string[]` | Event name(s) that trigger a re-fetch |\n| `initialValue` | `T` | The value to use before the action resolves |\n\n**Returns:**\n\n| Property | Type | Description |\n|---|---|---|\n| `value` | `T` | The current reactive value (getter backed by signal) |\n| `isLoading` | `boolean` | `true` during initial fetch and re-fetches |\n| `error` | `Error \\| null` | Error from the action call, if any |\n| `refetch` | `() => void` | Manually trigger a re-fetch |\n\n**When to use `useQuery` vs `useActionQuery`:**\n\n| | `useQuery` | `useActionQuery` |\n|---|---|---|\n| Event data used? | Yes — event payload updates the value | No — event is just an invalidation signal |\n| Re-fetches action? | No — only on initial connect | Yes — every time the event fires |\n| Best for | Simple values broadcast via events | Computed/derived values that need a fresh server call |\n\n---\n\n### CRUD Transforms (`@blujosi/rivetkit-solid`)\n\nPre-built `transform` factories for managing lists of items via create/update/delete events. Use with `useQuery`, `useActionQuery`, or `useRivetQuery`.\n\n```typescript\nimport {\n  crudTransform,\n  createTransform,\n  updateTransform,\n  deleteTransform,\n} from \"@blujosi/rivetkit-solid\";\n```\n\n#### `crudTransform<T>(opts?)`\n\nA unified transform that handles all three CRUD operations in a single function. The actor broadcasts events wrapped in a `CrudEvent<T>`:\n\n```typescript\n// In the actor:\nc.broadcast(\"taskChanged\", { type: \"created\", data: newTask });\nc.broadcast(\"taskChanged\", { type: \"updated\", data: updatedTask });\nc.broadcast(\"taskChanged\", { type: \"deleted\", data: deletedTask });\n```\n\n```tsx\n// In the component:\ninterface Task { id: string; title: string; done: boolean }\n\n// With useRivetQuery (SSR + live) — T is the item type, data() returns Task[]\nconst tasks = useRivetQuery<Task>({\n  actor: \"taskList\",\n  key: [\"my-list\"],\n  action: \"getTasks\",\n  event: \"taskChanged\",\n  transform: crudTransform<Task>({ key: \"id\" }),\n});\n\n// With useQuery (client-side) — T is the full state type\nconst tasks = actor?.useQuery({\n  action: \"getTasks\",\n  event: \"taskChanged\",\n  initialValue: [] as Task[],\n  transform: crudTransform<Task>({ key: \"id\" }),\n});\n```\n\nIf the incoming payload is **not** wrapped in `{ type, data }`, `crudTransform` falls back to an **upsert** — it updates the item if it exists, or appends it otherwise.\n\n**Options (`CrudTransformOptions<T>`):**\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `key` | `keyof T \\| (item: T) => unknown` | `\"id\"` | Property name or accessor used to uniquely identify items |\n\n**`CrudEvent<T>` shape:**\n\n| Field | Type | Description |\n|---|---|---|\n| `type` | `\"created\" \\| \"updated\" \\| \"deleted\"` | The operation type |\n| `data` | `T` | The item (or key value for deletes) |\n\n#### Individual Transforms\n\nUse these when you have **separate events** for each operation:\n\n##### `createTransform<T>(opts?)`\n\nAppends the incoming item to the list. Duplicates (same key) are ignored.\n\n```typescript\nactor?.useQuery({\n  action: \"getTasks\",\n  event: \"taskCreated\",\n  initialValue: [],\n  transform: createTransform<Task>({ key: \"id\" }),\n});\n```\n\n##### `updateTransform<T>(opts?)`\n\nReplaces the matching item in-place. If no match is found, the list is returned unchanged.\n\n```typescript\nactor?.useQuery({\n  action: \"getTasks\",\n  event: \"taskUpdated\",\n  initialValue: [],\n  transform: updateTransform<Task>({ key: \"id\" }),\n});\n```\n\n##### `deleteTransform<T>(opts?)`\n\nRemoves the matching item. Accepts either a full object or a raw key value.\n\n```typescript\nactor?.useQuery({\n  action: \"getTasks\",\n  event: \"taskDeleted\",\n  initialValue: [],\n  transform: deleteTransform<Task>({ key: \"id\" }),\n});\n\n// The actor can broadcast just the key:\nc.broadcast(\"taskDeleted\", taskId);\n// Or the full object:\nc.broadcast(\"taskDeleted\", task);\n```\n\n#### Custom Key Functions\n\nFor items keyed by something other than a single property:\n\n```typescript\nconst items = useRivetQuery<Item>({\n  actor: \"items\",\n  key: [\"all\"],\n  action: \"getItems\",\n  event: \"itemChanged\",\n  transform: crudTransform<Item>({\n    key: (item) => `${item.type}:${item.slug}`,\n  }),\n});\n```\n\n---\n\n### SolidStart Exports (`@blujosi/rivetkit-solid/solidstart`)\n\n#### `createRivetKitHandler(opts)`\n\nCreates SolidStart API route handlers for a catch-all route.\n\n```typescript\nimport { createRivetKitHandler } from \"@blujosi/rivetkit-solid/solidstart\";\nimport { registry } from \"~backend/registry\";\n\nexport const { GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS } =\n  createRivetKitHandler({\n    isDev: !!import.meta.env.DEV,\n    registry,\n    rivetSiteUrl: \"http://localhost:3000\",\n  });\n```\n\n---\n\n#### `useRivetQuery<T>(options)` *(recommended)*\n\nFetches actor collection data with SSR support and automatic live upgrade. `T` is the **item** type — `data()` returns `T[]`. Uses `createResource` for SSR serialization and `createEffect` + `onCleanup` for live WebSocket upgrade. Must be called inside a component wrapped in `<RivetProvider>`.\n\nDefaults to `crudTransform<T>()` when no `transform` is provided.\n\n```tsx\nimport { useRivetQuery } from \"@blujosi/rivetkit-solid/solidstart\";\n\nconst todos = useRivetQuery<Todo>({\n  actor: \"todoList\",\n  key: [\"my-list\"],\n  action: \"getTodos\",\n  event: \"todoListUpdate\",\n});\n\n// Access values via signal accessors\ntodos.data()         // Todo[] | undefined\ntodos.isLoading()    // boolean\ntodos.error()        // Error | undefined\ntodos.isConnected()  // boolean\ntodos.refetch()      // manually re-fetch\n```\n\n#### `createRivetQuery<T>(client, options)`\n\nSame as `useRivetQuery` but takes an explicit client — doesn't require `<RivetProvider>`.\n\n```tsx\nimport { createRivetQuery } from \"@blujosi/rivetkit-solid/solidstart\";\n\nconst todos = createRivetQuery<Todo>(myClient, {\n  actor: \"todoList\",\n  key: [\"my-list\"],\n  action: \"getTodos\",\n  event: \"todoListUpdate\",\n});\n```\n\n**Options (`RivetQueryOptions<T>`):**\n\n| Option | Type | Description |\n|---|---|---|\n| `actor` | `string` | Actor name from the registry |\n| `key` | `string \\| string[]` | Unique key for the actor instance |\n| `action` | `string` | Action name to call for the initial collection |\n| `args` | `unknown[]?` | Arguments to pass to the action |\n| `event` | `string \\| string[]` | Event name(s) to subscribe to for live updates |\n| `params` | `Record<string, string>?` | Connection params (e.g. auth tokens) |\n| `createInRegion` | `string?` | Region to create the actor in |\n| `createWithInput` | `unknown?` | Input data for actor creation |\n| `transform` | `(current: T[], incoming: CrudEvent<T>) => T[]?` | Custom transform. Default: `crudTransform<T>()` |\n\n**`RivetQueryResult<T>` — return type:**\n\n| Accessor | Type | Description |\n|---|---|---|\n| `data()` | `T[] \\| undefined` | The current collection (live data preferred over initial fetch) |\n| `isLoading()` | `boolean` | Whether the initial resource is loading |\n| `error()` | `Error \\| undefined` | Any error from fetch or WebSocket |\n| `isConnected()` | `boolean` | Whether the live WebSocket is connected |\n| `refetch()` | `void` | Manually re-fetch the action value |\n\n---\n\n## Connection Parameters\n\nYou can pass `params` when connecting to actors — both via `useActorFromContext` and `useRivetQuery`. These are `Record<string, string>` values sent with the connection handshake, typically used for authentication:\n\n```typescript\n// Client-side via useActorFromContext\nconst actor = useActorFromContext({\n  name: \"counter\",\n  key: [\"test-counter\"],\n  params: { token: \"user-auth-token\" },\n});\n\n// SSR via useRivetQuery — T is the item type\nconst todos = useRivetQuery<Todo>({\n  actor: \"todoList\",\n  key: [\"my-list\"],\n  action: \"getTodos\",\n  event: \"todoListUpdate\",\n  params: { token: \"user-auth-token\" },\n});\n```\n\nInside the actor, params are available in the `onBeforeConnect` lifecycle (for validation/rejection) and on the connection context in actions:\n\n```typescript\nexport const counter = actor({\n  state: { count: 0 },\n\n  onBeforeConnect: (c, params) => {\n    if (!params.token || !isValidToken(params.token)) {\n      throw new Error(\"Unauthorized\");\n    }\n  },\n\n  actions: {\n    getCount: (c) => {\n      const token = c.conn.params.token;\n      return c.state.count;\n    },\n  },\n});\n```\n\n---\n\n## Project Structure\n\nA typical SolidStart + RivetKit project looks like this:\n\n```\n├── backend/\n│   └── registry.ts          # Actor definitions & registry\n├── src/\n│   ├── lib/\n│   │   ├── actor.client.ts  # RivetKit client export\n│   │   └── index.ts         # Re-exports\n│   ├── routes/\n│   │   ├── index.tsx         # Client-side page (useActorFromContext)\n│   │   ├── ssr.tsx           # SSR page with useRivetQuery\n│   │   └── api/\n│   │       └── rivet/\n│   │           └── [...rest].ts  # Catch-all RivetKit handler\n│   ├── entry-client.tsx\n│   ├── entry-server.tsx\n│   └── app.tsx               # <RivetProvider> wraps the Router\n├── app.config.ts             # SolidStart config\n├── package.json\n└── tsconfig.json\n```\n\n## TypeScript Configuration\n\nEnsure your `tsconfig.json` includes Vite client types for `import.meta.env`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"target\": \"ESNext\",\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"jsx\": \"preserve\",\n    \"jsxImportSource\": \"solid-js\",\n    \"types\": [\"vite/client\"]\n  }\n}\n```\n\n## SolidStart Configuration\n\nExample `app.config.ts` with path aliases for the backend directory:\n\n```typescript\nimport { defineConfig } from \"@solidjs/start/config\";\n\nexport default defineConfig({\n  server: {\n    preset: \"node-server\",\n  },\n  vite: {\n    resolve: {\n      alias: {\n        \"~backend\": \"./backend\",\n      },\n    },\n  },\n});\n```\n","readmeFilename":"README.md"}