{"_id":"mogobase","_rev":"54-a1277ecc3bc3398210c991dfa7813baa","name":"mogobase","dist-tags":{"latest":"3.10.0"},"versions":{"1.0.0":{"name":"mogobase","version":"1.0.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"1fb7f3ffdfb260c8c1d2cef6f3f380d4a36dae71","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.0.tgz","fileCount":2,"integrity":"sha512-U+hTovyIddANb6CNoit84maMFqN9du4qhr/RmhmnpzIMFkg9/qg2Nz8eOFVlR9dU5XCJAOKY7cihMJNkyyHrFA==","signatures":[{"sig":"MEUCIQCTK2TnDW9Tl9cJ4VwvDFzgFIf5Apf0QQ8KwinubUZyQgIgYBmMKxd1WnhY7QTShQaj0a39fEWgMpqimL/8YyAnx6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1457},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"878f33d00258726eb68efca6b71e238f2c4e1d4f","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","mongodb":"^6.21.0","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.0_1769500718625_0.6871669260763662","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"mogobase","version":"1.0.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"137d63d60520a5f9278e822d7e56a3f2f5114058","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.1.tgz","fileCount":28,"integrity":"sha512-Lp/G8pguXwxIGXfZBukAA5WGAAUZb8KjRzwt/tRLbNZqBgv28Vjz3/SMkmhY1BJjP7iQvepAJPgXPzSQ/tB98Q==","signatures":[{"sig":"MEUCIQCdIOSPugddxWNZ8WVCFay5SFXhAhl5/ae12s1mv+hXtAIgGakjkaFpVV0JjSknX1T8U7vv4L4V8qXwFAGAtKUwcDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34189},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"878f33d00258726eb68efca6b71e238f2c4e1d4f","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","mongodb":"^6.21.0","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.1_1769502147133_0.6547925987065097","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"mogobase","version":"1.0.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9c2f51307e2f428028d30284fb6a2259ad552c3a","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.2.tgz","fileCount":28,"integrity":"sha512-c4Z6ZqmSTGk/x/2PcsMSZfXgdGh64NSNnsWtRcQ5uXtzDMmODItjqoQzpwaq3I41cTkqUqOA3Xy5pf0O+p60+Q==","signatures":[{"sig":"MEYCIQC/tWzd2BeGrdIqhAs4KHIIx6eO4iZYCb0snxgCOh+A6AIhANIgX4qGujhri6DYpTp3LGJ13XjVvzVNQVfoQ8Y84m9C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34210},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"3bc7868c712b78612b8c832979152af41812789c","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.2_1769509026823_0.1929462325342488","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"mogobase","version":"1.0.3","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.3","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"a3bca74079f905ebfe08f54266a67aef2c054fc3","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.3.tgz","fileCount":28,"integrity":"sha512-sCB65KKjcTfDiG70bKsWWNLA2az8KzQhPnWzchQtJie1WvombUPaQDD5sxlkjL/PYoP9XVtPz4dxleyvncMj6w==","signatures":[{"sig":"MEUCIQDm/rKcIyJdJfvxh7o+98amASYbSAi+sw4YXgHKhDk9UQIgbtxnLuU9zTgPxfxqJP/ln8yHBMnOGPAEIBApmak7oNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34367},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"2d451604de544a27e85be082dc7ce2a774347f02","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.3_1769511744469_0.7195953155805481","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"mogobase","version":"1.0.4","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.4","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"498556aab83eefed7fcf67958194931b67c4b00b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.4.tgz","fileCount":28,"integrity":"sha512-1x9aLnWTDbPE5RMFc+StWZG4e83NqWStxxnvFoFMSkP1qp+Qi5/h0SSANAvenZXW88YdE2OKKSOgrG4qB185cA==","signatures":[{"sig":"MEUCIQD0C3N2PQvHao+BOWZrkijK96m5O+sTiIGrbMIg2vZGDQIgSNQ84PlaPVM9cwYP7JvkdiV9iyXr57M00AgvFsm/RC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34499},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"a26dd39c0810246dfef24b3f5219677564fdb175","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.4_1769578505094_0.7805301274438727","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"mogobase","version":"1.0.5","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.5","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9c749758ab4f57b8d38a37023065e975d77280d1","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.5.tgz","fileCount":28,"integrity":"sha512-Igr+Boe1OrERnAH+lL7doVB4NrqiR+8dRImFrlLaVP2zxA2hL2Redl97LTQov/YTz69FYQxuWtWxGuHIhHxSZw==","signatures":[{"sig":"MEQCIHwMjt0/nrSZg84L9aZsSK0YhFsQBpG+qwoe2etvbJqLAiAu4gQk3huUtOmUFCJncSRjCxFse2GiLtmzvTv9W6w7dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34443},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"de40cfa2d721215338c7eb2c7202972276168b66","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.5_1769596453522_0.08063044917287532","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"mogobase","version":"1.0.6","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.6","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9cdfaf0bfc5595de3a21b7ce8d9a84768ae3e880","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.6.tgz","fileCount":28,"integrity":"sha512-gusSb0LETKj9/6Q42ol1uTNKm0RF2RC1HKScpkQzOe11U7fhWRLW0PF35Gu8W1ZLiL7TktU20ApPj34N5ucEmw==","signatures":[{"sig":"MEUCIE2XsqULM94s3ZRzVUjcUiPrgE1x1S28ZPmsTMEFrhd3AiEA+IW5Ac9T5CpvDx4mYxPBX4OMTtiAzCtFksGQqGwR4fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34449},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"820704e24c1b633c5db8dfca8b1dd0e229baa73c","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.6_1769680115568_0.420230636499656","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"mogobase","version":"1.0.7","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.7","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"a7072c83d564fd1c2c84575d6ac237862be3edbb","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.7.tgz","fileCount":28,"integrity":"sha512-b0IgTSw/0XKeuLYPKZmAfH+pqicYQWg3/83k5QGi21T3pamkf9ELqdHAVu6zzezmEOmpt+bVU4qloIbHX+kzOQ==","signatures":[{"sig":"MEQCIGCY4fjnGE0YB8dKaV5ETZm1n/WtBAn4A8G+Hgrg9spKAiBsk/Bmn2FKmjoB9Nn7298ft+6KAy9DYa4B4Wx/vJ2Jrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34475},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"587dbe37eb5cbbabe0b21c6cd54dd81746d466b6","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.7_1769742022956_0.1474515362793456","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"mogobase","version":"1.0.8","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.8","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"0cc608b0a9b0e390d4524f1e89f481ff5784f940","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.8.tgz","fileCount":28,"integrity":"sha512-LESDqwXRYs4D5EiRqDM1D83OtgcHCrgxrjOIuqMPHTOKCbt2Sfuelr/NH3+jKgr1vmmQeuosddtPGJ6BW1arfg==","signatures":[{"sig":"MEUCIBhY3Lju+mte4XBIkWbEm5eMQk+3wGUkDYYBKhZiOfh1AiEAjKTiCs5pySspifak9QEmgNZd12DpNfhLa/s8H9ojXII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34510},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"63c2a3f31e77fe29878616c0553d68043b775fce","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.8_1769742212758_0.4355742801478306","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"mogobase","version":"1.0.9","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.9","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"19882db6d6d0b09d38c89e8495a14e3a893da2ed","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.9.tgz","fileCount":28,"integrity":"sha512-IgUkBI0hsGmGnPxAdWS2higktUG/C1Yb39d3QQ73fpi/srqdbG8FQ011M+276T9ZbPapuPuEUuUDNUqjEZe3Lw==","signatures":[{"sig":"MEUCIEtCe7GU0jAkQ1jbaJ1AI8H8TijuXygZjyVdAFDH4NwfAiEAng028d/caSAM3hEufK6Nd7YJ5tfmNETxp+JIDHhgFTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34832},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"6f54d17798d15a86b1b3d0565884e4decec8a0fc","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.9_1769742893292_0.019357424401779344","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"mogobase","version":"1.0.10","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.0.10","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9b9133fcdb96f59f8d72b3ee69684ef75a462bad","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.0.10.tgz","fileCount":28,"integrity":"sha512-i9LDmlMU6fZTDTT6hSLKiPz1NexVa2ESTdZFhU/zluohjiMW95tzaDSAGPYAooorWIaaUWmnzaY8ZBiS8iRhcQ==","signatures":[{"sig":"MEQCIHwGKIWFb0XBA/bQ7AI+TNCSH+4/TytFmaVBPaBEWkjKAiAi3Tf3GG/ZOElMi7cQWmXtWz/Zl2sDeAB/WXkQ/fvvtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35827},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"6614c4929a3af174c7097106710d461c2fb7b1b6","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"10.9.2","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"22.14.0","dependencies":{"tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.0.10_1769773232278_0.14927973938652372","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"mogobase","version":"1.1.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.1.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"91801dd28c65db2d0283192c21beee848082c3f0","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.1.0.tgz","fileCount":39,"integrity":"sha512-H88DKXch/LlrP7uxFJiRZdbCIJEZNBvcmoHB50U9ixSRjHiUPd1bWzLnWKLn0yfOXK7LUFGxSUKpoh6cJzkv5g==","signatures":[{"sig":"MEUCIDYcNYfDvmYfq4dcVYDwDTG/XTM7W1XeH5XlMZJ+4r4fAiEAogGMj5b0RSfzZ7dPECqINPvtoKYjavBatrQlFobQ2Ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59737},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"68e2e63b3ef04e896148e93485e485f4a8a524a2","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"```txt npm install mogobase mogobase dev ```","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18"},"peerDependenciesMeta":{"next":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.1.0_1776054440073_0.3738153536288076","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"mogobase","version":"1.1.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@1.1.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"f170340eba1714899964f5ca03c1f158f784b7fa","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-1.1.1.tgz","fileCount":39,"integrity":"sha512-nOZFFR2XidjC8AbzJMKEZJQXnHjMFdElM5Rw9uyiKaNBrzzJOCPdhiU0psHNmiJWvUxYDVo/WazMzcs6HNS8Zg==","signatures":[{"sig":"MEUCIQCMOqDadUKow2Cz5GpArL/8hufWg7r+bKYPfmSesNxroQIgLG9D3tgFMJg2K0BfWvmL6j9Y5R4lrY+hlmdc2mfTE0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64581},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./package.json":"./package.json"},"gitHead":"8e2a636268d3b31978a453fa804ad1f9fb47722f","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets and Convex-style typed handlers.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":"^19.2.3","dotenv":"^17.2.3","mongodb":"6.8.2","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18"},"peerDependenciesMeta":{"next":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_1.1.1_1776055069630_0.7722043431747507","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"mogobase","version":"2.0.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.0.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"bdc64fc8beecce14ba9960f8c6cf1bb1333dc08c","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.0.0.tgz","fileCount":50,"integrity":"sha512-VDRiRfpIYVs9dAQRArMWHkWtne5yYgt2tPae4FnPxreKXN0xNosVSK/D2PCpPanLxYTErOXS+/kz6VtA6L+Puw==","signatures":[{"sig":"MEUCIQDwcc9n8Iuxu1PzMphXW3AeOYHMGf/B+xUGo64O7C32lQIgDetk0tBz7RUAKUsTeJ7vmnHL0bipF/2hA6Gye87gVhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96108},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json"},"gitHead":"2efb16568f3c760febee41085e4c0449bbf7d3c4","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets and Convex-style typed handlers.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":"^6.0.0"},"peerDependenciesMeta":{"next":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.0.0_1776157001803_0.2274258044642603","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"mogobase","version":"2.0.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.0.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"361650c3ad7e8b21e892817006e3b44ab7f04343","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.0.1.tgz","fileCount":50,"integrity":"sha512-1TWYjYUdEIbr4dvU9w47AcDGS+SDDUJTmAuj2iCg5pAeSbI2IggyL3yp5dBqG3Eu4TnOvFLLvO33uU/JBSfRIA==","signatures":[{"sig":"MEUCIChdpF46ZEFHBVmIPpePLdljqSHgim33CB0yuTlD+r7aAiEApHjv994w8uGh7GRrJ6RcVb4kXnXoy4KebeMLMTk3Wwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98759},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json"},"gitHead":"9a8169eb8a301d438d057c450f5d78547d2844d0","scripts":{"dev":"wrangler dev","build":"rm -rf lib && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0"},"peerDependenciesMeta":{"next":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.0.1_1776157902324_0.8947116505656902","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"mogobase","version":"2.1.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.1.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"fc70d4b588b81db06b0fed85b3602d59e933120b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.1.0.tgz","fileCount":58,"integrity":"sha512-FU1A+eUeRa7lh9RJ3U4OiOqo4BTdycSVPEdUtFlxpjo1xClleWLLRFK+BJN88pTYsXza+dpZhd7OM40DvBsNyg==","signatures":[{"sig":"MEQCIBmfX5PC0tHTT8H9g8Yvls43ToQRoBvfKbhlRpXlYK8CAiBCxlPbaf+/JhtepKe3jBUDV3oWAZqW/VQqbsGLWXyEHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121481},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"6bbbfbbcf075c30b071009b6d2eac20e178c32fe","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.1.0_1776223519132_0.37333652112769267","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"mogobase","version":"2.1.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.1.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9920c44846d261f81d4bb44b3c83e0f84cb5714d","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.1.1.tgz","fileCount":87,"integrity":"sha512-Zn/1cYcdpTQgzQpPZFV72tn9FOMaRRQyTw36kaV5hivlS0JMDdi76IrCH7eitaCIXQiCAj5pkCA5xiizRF5D0g==","signatures":[{"sig":"MEUCIHzWcGBKKFDzyMLcHq+6M3w/Dzk3exmYNm2drniSL2FYAiEA1f3i9Q9yysZS5ySquiwEam9hDaaGOhWKPq9HzucJ02c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176878},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"f00fd7be5f8427ec741f42691894fb3ea8a6e74f","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.1.1_1776315808624_0.5819199208580617","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"mogobase","version":"2.1.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.1.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"75a201bafa787ae644d6fa15c0750c2aa747f8c9","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.1.2.tgz","fileCount":87,"integrity":"sha512-WHKApygkSCQzIys7Y4xr9Twp8lLGnflkUG52AOm+nqYB0M4Jbx08MY6q+f6CWrFP9sD/yAkMlw2k0hZtXP4/DQ==","signatures":[{"sig":"MEUCIQDRCwzeKHIHmxhZio4St1dd3qFeMqtn+TTdeDmWjS1ccwIgGYEkgzUmhneOQMUCfxeOSJiPlKnGwEqUH0/13zVi8mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179928},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"e8b19cd0ae8e45617e8f10ab13e93512533ba33b","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.1.2_1776316177827_0.16863237491180194","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"mogobase","version":"2.2.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.2.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"194dab25264aecedc1651772cee4a18b8bbbe56e","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.2.0.tgz","fileCount":87,"integrity":"sha512-54xRHIB1jpBkVig0kwZA0r4MQRuWg4DvXAK4OJH8giw1K0qiNTuKR58pXC+EaQtFGvtHch0rakl3Xy9lYoSHhw==","signatures":[{"sig":"MEYCIQDH/+dARxYo31XBTvOExfLERKqOe5NK4gjXWqipKXnYPwIhAIh2dmUcChF7XN5wMCQgsrwhBVwYKQiZdsWLqLgD7iCt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179628},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"0df596ab5c144e33271857cde29ba758057b4f74","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.2.0_1776406848180_0.3857105499552307","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"mogobase","version":"2.2.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.2.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"270f169d144a7247bce7e155389277badb082c09","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.2.1.tgz","fileCount":87,"integrity":"sha512-FlPQ+kRFZGYxJogLuBqpaaEvFIiU8iTAbk6zQ4r8IuSMF/wSZFCoEF5yAmZIzKvxN/S0UCkduij16sgaDerosA==","signatures":[{"sig":"MEUCIFiB9RU74YJ/m9SUKNFsfh75lH99us+FXqYc4186EGVvAiEAgJOIXqpXt0gM0u6WY+iRyi0cL/ihzPDMK1ukUupDeHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179710},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"34ef9a631d0cb4d1ad3c55a50dc11c2f3c2ab3d1","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.2.1_1776408498102_0.08094108177332471","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"mogobase","version":"2.2.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.2.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"d441e2c7953855aa3ec7eb6e073dc86a0afe09c1","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.2.2.tgz","fileCount":87,"integrity":"sha512-hKkUukXxGLd1CJR22ZgfMG4dBhctXoHGqNsdzhU6oV0h8fRngi+sM3sIyitg3d4LszwPZneMOoKNx5ver+FatQ==","signatures":[{"sig":"MEUCIC0amrBE4CO7wx28bOND611ThZF8nEBya7QReW4S1BH/AiEA86zXrzUW781YvYDuotihEZE52sa5ycHItq0LTLWeavo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180546},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"8f9a66db26d68ac6a268d13fbe0af1ce54d27ed4","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.2.2_1776411248547_0.03255868345939383","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"mogobase","version":"2.3.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.3.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"dff7981b12b86ec886a5ed1fff812deaf79ff1c6","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.3.0.tgz","fileCount":89,"integrity":"sha512-rx0N5iGxkLOJjHU79RFN0CD659u1piDDyqyx5Ro7yl0IB1dVOVUyrCmLq91Z6owgv3ybux5iOmvXId/w5/IG+w==","signatures":[{"sig":"MEYCIQDk8XkQDjxoX18//rjDzqUB+QTn2sKw0WNC3hjzKAvAWgIhAMSyQIUxjdETUObpBEzFTUgcop0eQyZpwM9BhzGS0fhR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219127},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"83cb10a4818b8687000ed7d423e1a0f8556cac45","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.3.0_1776685486678_0.9478808134274885","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"mogobase","version":"2.4.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.4.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"03ca876738eb533c38af32d3c8d7c070f110186b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.4.0.tgz","fileCount":89,"integrity":"sha512-zoxCHSdin/EzyLEcKqrp7+Hl198y60R5BsCdEO5XetgUVUt7P1nOnNGaD/gJEkQnrV6LWMGx6vkvfMJeGF8gDA==","signatures":[{"sig":"MEYCIQCBh7goeXACcbjA+Kpw4JViWSMRH8PFNjf0ugTTIX/s/gIhAJ2st5SlcbHLC981efAfW6vJhk1UU2IZPyOYLjBl0BW9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222423},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"83cb10a4818b8687000ed7d423e1a0f8556cac45","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.4.0_1776743928486_0.06993932234365974","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"mogobase","version":"2.5.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.5.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"45ebe81e16290934e66747df0fa8ee6c839cf6ed","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.5.0.tgz","fileCount":87,"integrity":"sha512-/G7zYYV5zydeqTJhixi97oPz2EFbdihSqhXGVG6fcpC4fBvrQYqg7nBkH6t/9Wsn2jnJ/MhkO3KwqX7z+cM/wg==","signatures":[{"sig":"MEUCIQDS0fHI0oNBQKYn8JOCf+WXVP9mh0Q75QAmFy544VIkNQIgUPsndyFdmAgZjoEUxpRJatvfUMKBWG2KuYevbSUDO+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212627},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"db2c8cfe1d1f69874fac8bf979d9bc811f05d3d7","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.5.0_1776758640694_0.5375419730215649","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"mogobase","version":"2.5.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.5.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"c77a2a4a651888fdd8f80d575dd2e352b779a116","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.5.1.tgz","fileCount":87,"integrity":"sha512-skChwJT/Oc8Q6EFNEwjxmRNXXwRUsAY0ciFKcVgl6NriBv65n6W2+JmseMquOOJjSJYkmMucXnl7PrX6jG8yXw==","signatures":[{"sig":"MEUCIQCayEIettUmvRmDLsyHO2lLPeyJi2PyW5GFMSV8PFMcCAIgLX8xQgCvh0QgeUbe2htCMNUHYgORdFDbAZzf+pQ4CpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214683},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"fd0a67d9b495bbe69d59c9a12ebd1096910c7f40","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","rxdb":"^17.1.0","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.5.1_1776776300626_0.8308068856564725","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"mogobase","version":"2.6.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.6.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"65b49bdd1d52fdc7d853aca9b05bcb1fc29ea0a4","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.6.0.tgz","fileCount":87,"integrity":"sha512-dQd+GqLhIwVOi+Pp8L4JmKq9AKPzovmW1FUnRhnV2rrhzBvwIENU12ams7NDruZf6+eJTPK2YllI3bB/+wSyqQ==","signatures":[{"sig":"MEQCIBKLBn2x8DKi+7xNao1H5K96ppDSPL3zxUwSeH1MlQgkAiAJzz3C1rs1WaB96vtoDUrw9mTy3A2ik4f19C60CW784A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221489},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"c8cfc7d2c91ca6bdf2afe236f6d7905ac9e36a5c","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **opt-in offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.6.0_1777262993280_0.3159835578778205","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"mogobase","version":"2.6.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.6.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"8f21f89ade2c88761e0fd72e603aed076c9548fe","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.6.1.tgz","fileCount":87,"integrity":"sha512-rFz5o4HSKVpKstgTorIXNABrGtF6MKBYGAwbaOnrgNCEytnWTPssFcR2IQ01ejenNwEl3N8CeMbbNY54585y5g==","signatures":[{"sig":"MEQCIA5eFMYvq3iGJHhOrg0cfJAYz11ZX1wNCpIHo4DGKlJRAiBQj78nFM1zupJso6lO1NNb4G5qwiCOVF8vTARzymn1xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221465},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"d887ec36c2afe619e9e7939df28eb0f8cca3b72f","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, and **opt-in offline support** via RxDB or WatermelonDB.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.6.1_1777263849322_0.0438894645793364","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"mogobase","version":"2.7.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.7.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"5ba56fe093ccb4269f5ad312bcdc5d482d565748","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.7.0.tgz","fileCount":105,"integrity":"sha512-FNYMJ7w/amGCVcnfMhtO2bqm4e5GvvUA/8jXkyF3zev7ry5uGyVu5q9FkYZJTTR2s+mKIPi0nYm9ZS3Z7NACPA==","signatures":[{"sig":"MEYCIQD2UkLhNiQ+5iRbFEswo1QSnK6vlmBIXiHfJIuD/xBfhAIhAM2nkgxun4B50CVRUqdki2BQBlhFwxZ2y3ssp9+/N6Lx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300453},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"d30ac81f530b7279f8094b81a442c48d8313cc81","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, **opt-in offline support** via RxDB or WatermelonDB, and **opt-in local-first sync** that keeps the client store and Mong","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.7.0_1777364333921_0.6455155697962678","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"mogobase","version":"2.7.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.7.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"944e00bb0d2d5715cfa609701ac76ba3b7083e87","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.7.1.tgz","fileCount":105,"integrity":"sha512-sXB7OwcWN+F9KPHe0ETtDEzd7B8+bc6X5MTB8XorQvKzkFL9r82kvQeKY5MFK3GqPjb2W+U8b06kejBJ6ts5uQ==","signatures":[{"sig":"MEYCIQCzkbObbVGRdFRucMLDJ4j3YURnVBz2hCnjF/NX8d/xiwIhALk3tOXpJTiq0RVMkesq6tJfg7RL+j+tsilaMPH2Yz1G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304576},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"3709b62abbefa5c956836b82e8cfd9c7f71e5f2f","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, **opt-in offline support** via RxDB or WatermelonDB, and **opt-in local-first sync** that keeps the client store and Mong","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.7.1_1777369683811_0.3632391393873078","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"mogobase","version":"2.7.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.7.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"86d751db0fd05d51ddd084eab39d277ae026ebee","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.7.2.tgz","fileCount":105,"integrity":"sha512-SntsHD0YqhG1anh8rL7nkvS98jUSRDpkR+SjIzYd4EYavhitmcGqRcc7p2DOxyRX9GTR/bwRWnQIdkkQbTKJVA==","signatures":[{"sig":"MEQCIHJ3rquRxuXh9oWKIbfP63QIy9rZteIPyx5b9I/InVWeAiAlSjBho2rdCIeyy4YCgaB1fi0L4Nu80z9WQC2zL4+Frw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305155},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"5080f1ebd8dcf076dc11ca5e60dd3973b80cf94e","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"_npmVersion":"11.11.0","description":"A lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, **opt-in offline support** via RxDB or WatermelonDB, and **opt-in local-first sync** that keeps the client store and Mong","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.7.2_1777372659756_0.4022901256586928","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"mogobase","version":"2.8.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@2.8.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"82c8a1e508d97306c079cdf77e51926a27f0c397","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-2.8.0.tgz","fileCount":105,"integrity":"sha512-dZ01BJaiTh85RekXxDtgQiyn64vdKvcPkSNZf0EX6/5o1d0lZEKFNLbyzGyxUfAVf5KJGAqmSwUMHUqLFiMLng==","signatures":[{"sig":"MEQCIFR0VzLUq3/CkE3aGceM+vWF7UxqKL/Y0nHkMv9/RyIxAiBdVwWwfMbmfaldxx3SuWdzbzG1KMrtGaB9MsgurRqaqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340419},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"196412908c6f4282a6d1f095c8cc49b3d7def6a3","scripts":{"dev":"wrangler dev","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_2.8.0_1777429919504_0.9652119753394788","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"mogobase","version":"3.0.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.0.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"7021532864fdcd964edff5dc6040d116b5e6c36f","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.0.0.tgz","fileCount":114,"integrity":"sha512-w5ms0WRkyUGkFO+LyfJNGJKxHadRzj48s0BCDtNJxWz4rN9LaWO/xErfw2JxBj0gQcLVgH6YPkDXEgQ+UgDEYg==","signatures":[{"sig":"MEYCIQCUTu9r1EBdCvu+D+vuEAV604wmAmCyMLR27Ip95H7eowIhALLY5GWglDuOX60lFDcC+Y+H0rnHtLg1eyWdxAjtmql6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363501},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"9ca910cc520de31e8662132597b15205894024f5","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.0.0_1777463382376_0.31099924109292854","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"mogobase","version":"3.0.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.0.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9472941d21e609357c81d065c31dda9f3df8dcb9","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.0.1.tgz","fileCount":114,"integrity":"sha512-d40YjNBRvlknViWsHJbNfzfxvjHMsOidpbo0m3rTBDbqEf1O1glCYmX8XaaqVmL3uiDHNPuoWMtyRJrv44LzZQ==","signatures":[{"sig":"MEUCIQDdjRHoMG1wVzGBDV/iJIuYTSZxRxfDSiWT/in7n2K8DgIgCehS4t6eK9Z60LALNRFVlfCRIvy9Q7z1KmtfchAlQCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368758},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"5c1273553dc8d150a72c3c991559b80ba4f9ee11","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.0.1_1777468333916_0.05971403797757113","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"mogobase","version":"3.1.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.1.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"f9df700c2b117c013bff255ed72b0a1b1758d3ed","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.1.0.tgz","fileCount":116,"integrity":"sha512-v6HKyAEUA/MmkXFssyYJRYWWJsHOJ7xhJgrgNCBrpFdo5dQkzphQAieq/W0L8DBkfTzChetYyD4OsSAvBdt1Hw==","signatures":[{"sig":"MEQCIEDYWmHnxtfJfKmvFyzr+c27ZDtLtHZxh4q02M6SJmCUAiAUWM+a8X5kpXOJEX52R42TsEtvQte+8Mv8T4DDWnvzGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377972},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"5c1273553dc8d150a72c3c991559b80ba4f9ee11","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.1.0_1777517871957_0.45396558459066383","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"mogobase","version":"3.1.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.1.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"dc230d795558c361105d2bb3b4ccd946d37e3615","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.1.1.tgz","fileCount":116,"integrity":"sha512-PFm1WRHcsY0ZC/ZG1KoGm+NQn+h+zgQ7uIyi3Y0L2mJPNmQjV8+KHHLAkCaktqwWI83bxcCsqlEZSFYGtkKwAg==","signatures":[{"sig":"MEUCIQCM3M1RCa2/LrTFHD9pCWJpI4r3rvITYyD7fJJ2724cKwIgG5BQn+U3OlHDhjph+ZNvKm+tjcsXtdck51564qTjhLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377972},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"cc8f5b0b0396fad40ff4e6afd76c7f358ac1c63e","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.1.1_1777518970575_0.3597040784291168","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"mogobase","version":"3.1.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.1.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"bcc99eea2a5d9ea2e5040f55002b19bfa90e3b4a","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.1.2.tgz","fileCount":116,"integrity":"sha512-9fASCmrhHgJ2zL3WOSAN9D9YoFyoWBqiqKFevYK9hfSAiD5WUlCw8QbOcSHp9S8pD3E7cM3B8sPfDwMVS8YrLg==","signatures":[{"sig":"MEUCICQIGe6jQD9I0gI7VYZFwYTQ/Nx4uuYvcWX3JchQ0BNkAiEAiTEJFS0Ko84O/HqimUBCs+FPH8xdH52zBHOoCp9Ju3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378501},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"cc8f5b0b0396fad40ff4e6afd76c7f358ac1c63e","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.1.2_1777519517424_0.6799240401203717","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"mogobase","version":"3.2.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.2.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"9c744722ecb60947460b1d4c883bdba4b3449c04","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.2.0.tgz","fileCount":116,"integrity":"sha512-omcJZHp3GgMTvQIe4LNIjtzBUWFWvMWIsRYuL9Ok5Cn+seVU8ojDRzOFJH/U/6eW2wNPk1BPnuGgEMPs7HMkKQ==","signatures":[{"sig":"MEUCIQC4Igfak8r4Zy6zDa5OuERnX0QdS1giZAQ5jlSCfxGcQwIgU85iY1yz/CbBC7o+V54/L274HI067bqGIwB2BPf6Oi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379263},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"49a5e5ac1acce383c6604cc95b38158d988544ad","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.2.0_1777524326506_0.590091668461163","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"mogobase","version":"3.2.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.2.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"78d3ad7bfd7d7cd97c538ca3add50a2197dc5ce9","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.2.1.tgz","fileCount":116,"integrity":"sha512-iyyyDtNze6YAFJWdldK2UezklL7+I2KATThLfHHBwmT4dIKDo2GNtrkEUnKkWrIIqV5/0uT0+Rv7JaEggAFuKQ==","signatures":[{"sig":"MEYCIQCsMJlAw+FncbjC0AOdZHZo/L0gp0abw6QvMfCDKPamuQIhAPY07vP7GkIlYqn6npHNMp2ODUY9tzrWIIU2izgd3viK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389229},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"2e3e714565f43feb069b2df90ae712b71a57fe6d","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.2.1_1777973658538_0.49768760314822047","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"mogobase","version":"3.3.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.3.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"a7ed14b3ad35cefbc651a73333ebf1142eb4451b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.3.0.tgz","fileCount":116,"integrity":"sha512-vFDonJ7sIE5BSZduPjPMIJUDf27ZuIK9+k7jmsy7mlycwfk9lix+ij6zIuby7psh8XQdZCmkQjWUy7OE5ESz/A==","signatures":[{"sig":"MEQCIF2DmK6dZCvV/Vf7Pjvx7hw2l5jVYhhB18q5Vgb3PdxFAiAS+m19wo2M8FpDaVx8tEAyzyHV2axTqnYANIvsBVMlgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401622},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"ea5d35118fab0d6d5d3ebe1e5e670bf58587bde9","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.3.0_1777978644829_0.12086837846559706","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"mogobase","version":"3.3.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.3.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"41c9b18beb9f24f7f48b40c470baa80fe96649e8","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.3.1.tgz","fileCount":116,"integrity":"sha512-/wtCib3SEPMHUtSZyV3j1iHALHEWBasN62UpBThU6N56fNhlYVMiecLZ8xcPsT/hcfRE2wx46zyf6pQnaBS2sA==","signatures":[{"sig":"MEQCIHAlgh5Xi+5N9neZDnY5lyogOpKlWF5nzkDcZQEth/p6AiBeq31DvBcIDt4f0qJzrw18yMVs0VuEQ8moR/aBwF+4Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405623},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"b1e2817fefd61e2e61de9a2405ecd4ae7c94a85c","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.3.1_1777979282282_0.12112369869746376","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"mogobase","version":"3.4.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.4.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"43b4adc3bb6ea4e4fbc6d28c6c606d7c965cda61","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.4.0.tgz","fileCount":116,"integrity":"sha512-UZ1Jl6+gOia0BSwoanL6XVkEnIUTcTIKw5H68rsnyqCtrv1qTVWiMLTv4JHHG4NuBI7mO0/ZaTVLqFKsgBfe7w==","signatures":[{"sig":"MEUCIQC5aq1OcNru0c5Ju5CmE+fWuvfGO6+aNXtWhFg2ZmjU9wIgGvegVaQtg0WPx3i1yWM4wFehNxkuea2kX3EEJaGwgIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425557},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"02cf4734bc576296c440743d9ba449af626f805a","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.4.0_1778761937711_0.9712534949457501","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"mogobase","version":"3.5.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"b0fa7803ff5dfe6c953dc9b65e4d57cd2ea5d06e","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.0.tgz","fileCount":118,"integrity":"sha512-5QTvlgHsbHqTbdTxo4T0tONwtpOItrPeeTCEi7J1hULqvmebFWmdzJcefyMy9sN+ASgA1uu89Xs17uZD8FH7Ag==","signatures":[{"sig":"MEQCIAKCaUSHjWeEuZrC6OLA3Ytwnq9JKLjFKXCUhJn+lRejAiB4Ti3SAdxPTX7dHclaThpTL0PFDGNjTkJPW01J3skNuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440638},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"4c40c982a36d7a41011a759bbf2f499a0b4e2d35","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","prepublish":"npm run build","test:watch":"vitest -c vitest.unit.config.ts","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.0_1779165222018_0.7868756325262276","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"mogobase","version":"3.5.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"569e18532da702f4ddeefec370b9c3a42c414b9e","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.1.tgz","fileCount":118,"integrity":"sha512-GEi5on50Cmb+HlxjGBnHKG2Ej7o3sYiB7o+1FLO1HOAiaS17h/4INk9aDcMKkilMZ0wetfdtQkbBL+ESr4DZUg==","signatures":[{"sig":"MEUCIQC9fIrYaAPOQuVUY/NumtO91yUmk/EtY6Od2MbrpviJoAIgFButaySyFmJKjj1lJ71CA1ORtIEZajzPIhV+5MI8TUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440932},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"e49e5283ea3a8f7654996504eedd1092af2eb9f1","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.1_1779165814948_0.756109246514129","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"mogobase","version":"3.5.2","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.2","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"f7a3d328d84b46a103e5862bd51a4a7fa8f78030","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.2.tgz","fileCount":118,"integrity":"sha512-NkU3Qp4qHudg4XIX8plGliY4oFaHVaWM/u9m3kgsRxc3pmjBCJlIa7F+Scacxo4BO0hcYm9oHjz1Ynzd8LWyvw==","signatures":[{"sig":"MEUCIQCoWbwcKJZwJFY6Nr36+Tv4x+wArUruGN9SNekwVmGl8AIgXwrArUtJN3P93yl+cgtezCOqgsRI22nOwLUFrb6XO7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442017},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"1e929a230319a76ba637d66179243b0c0f160d25","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.2_1779167781371_0.6139361565605554","host":"s3://npm-registry-packages-npm-production"}},"3.5.3":{"name":"mogobase","version":"3.5.3","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.3","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"fed69aefc2c6b4591f7ad9b852e18c3be033c24a","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.3.tgz","fileCount":118,"integrity":"sha512-64gD3Q3s4WtMgVP5SeL4ab66Suez1nRHERa6/CvM6VvLAuS3UrrrYelbv2BUZSd7QOdeNguKry/ohSLF6X7QNw==","signatures":[{"sig":"MEUCIQCezistiOG9OH1sknTrfKGvsTJiVbOQcbM/ihFYBOC0YwIgeNIjPdDtBZY9dY/R45h+Nu6G2M6pY8IbL6EVr7qgb5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":443412},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"2fb42c04634fb1747420a3f1c95f9f81f4914ec5","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.3_1779766381038_0.5426769461707341","host":"s3://npm-registry-packages-npm-production"}},"3.5.4":{"name":"mogobase","version":"3.5.4","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.4","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"30b3e5a53feb544029568e596379bd52538ac2bf","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.4.tgz","fileCount":118,"integrity":"sha512-zpETVcb3gutDl8nmstX6MdEFFpGmtiEI5NxFDLHfBl9OjvnpnXSr3aj2Sj8rVbIRB2qkRqx63IQXypUFbDnCSg==","signatures":[{"sig":"MEUCIQCFsit09lnqP2HQK9z946eksvsCJqRlCtt16Ojq7b+KHwIgCEMdb/il5EvyELJJ+tLZJ6131gxGHfzkF9H09Qj0tzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445098},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"06b20851cb7d594b225cd0b840ad11a18eda4a0f","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.4_1781061620741_0.6618587529628885","host":"s3://npm-registry-packages-npm-production"}},"3.5.5":{"name":"mogobase","version":"3.5.5","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.5","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"7e75361cc164ea04f26eabf38d31968817a7f5ce","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.5.tgz","fileCount":118,"integrity":"sha512-m+quuANb+8sqOjjIOJXQZe8iHzjmaI6XG4um2DoDOjzSGxPnaaljjKvPvI30x5Xfkl4v4j8EZPfh8XblHYiNBA==","signatures":[{"sig":"MEUCIQCfxIIA/JyzjfqeX0OhWkqPK9Tcxz/XsGWTk6kiaOlbpAIgNZxPj4JQ8THmRMpt2CXh0LcPLfh55OC4Yec/uEyCGyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445307},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"d6d12e12347b533a803da456303b90beb3e23384","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.5_1781065159688_0.34270591810496276","host":"s3://npm-registry-packages-npm-production"}},"3.5.6":{"name":"mogobase","version":"3.5.6","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.5.6","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"6d7642b4d61762dc523c69682c67208a7150cb88","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.5.6.tgz","fileCount":118,"integrity":"sha512-tg+4SEoQFMMYg5gmPP3ZZp44SK5gX+9M1doU6gGlBzD8n4SZAIasaDUnv3AeT+E2FSKH4sKEIusIIdd7BbVA4g==","signatures":[{"sig":"MEQCICx6IiOEEqy5Ok0L6aV9NF1owH1dDfKaAyqBfBPiNfQeAiB+Nogl3J6frP4bgBuyZMVcIL24FUMygA81P/4Pw0D33Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450674},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"d6d12e12347b533a803da456303b90beb3e23384","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"11.11.0","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.5.6_1781599729737_0.9532657447414854","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"mogobase","version":"3.6.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.6.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"22d652c30adbc1c9aa7e9f2171e27411aea5ea29","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.6.0.tgz","fileCount":121,"integrity":"sha512-E9H44DQrfvQTk6/7MDzP2784i8YS8n99LLt/xxScuPYJus8fw5WigJJjUs0xFY6qMH7xkfgKVEItDmoM3eLllA==","signatures":[{"sig":"MEQCICVA32/siTr3QUHnBgFYBbTM391JwPLuDhdZf9Vb87VgAiBzxlsmbm+cByA/Mf21F5ouPdV75wI9faiaOlFo57ZEMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453865},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"cb71f7e0567060542532a53fdf7f8db46da31f22","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.6.0_1786429084541_0.16932273088882654","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"mogobase","version":"3.6.1","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.6.1","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"6a8e4d5dd5f748dbe9e024d1bc1de4171829482b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.6.1.tgz","fileCount":124,"integrity":"sha512-f8EtdQCFXdH1GgRPx8psWoxUl5rUKOxvlmKI/bHmMWLtavmV2GoRJhnEZ7m+T3CTdr/vX7/9ZkfqGmMC33su8Q==","signatures":[{"sig":"MEYCIQDdBCPfvk0JDiyhPh5UF3VcI3etFCy/tslsDUNABQcq/QIhAOoRyBzUCx1iuH0Mm/wHCLUwcoXgeNFghorHk/3SGWGq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454514},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./hooks":{"types":"./types/client/hooks/index.d.ts","default":"./lib/client/hooks/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"a8044c52af94270c50d02c3d3823d5d1f24ce66a","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.6.1_1786429453441_0.15274824483349003","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"mogobase","version":"3.7.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.7.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"102ccf77053e9af15c3f73015a2a206e742bd68e","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.7.0.tgz","fileCount":124,"integrity":"sha512-h78nB3FGrjTDGH2ZcBUSRhoR+eZPtof4s4GcE+40f7CVxOXbVwYWfrzCBjiRUiwe7A3EK2cqNVkkSUfslPEjtg==","signatures":[{"sig":"MEUCIQD+wtQ/LfUhK5OInT41jzwpj4q7EDbYByWyh+bFkj52nQIgaDenuy5YnCrPQwJ/nXkZIP8ACOHztBngzP+T5C+qHfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457620},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./hooks":{"types":"./types/client/hooks/index.d.ts","default":"./lib/client/hooks/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"0d888a2f17cf876db7559ce9818feedc8843b903","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.7.0_1788239417388_0.9858273147007421","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"mogobase","version":"3.8.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.8.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"b6e745c500bd58b145e7d956c67e64b09fa5a67b","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.8.0.tgz","fileCount":124,"integrity":"sha512-x9vtHV+IKHnagXAuqDY37Ed6UzMZRYTzulxeB9sDvABIXEhaw6WTLPXBwg747OZCzv48wldN6x0UAO93LaUkhQ==","signatures":[{"sig":"MEYCIQCoAQP3zOkpMQTgoWWGFb1QKKcZfodfumHQGBKpyazKwgIhALucEvvzWjwARBRiFOoDeOJFQUoF9+P6OUzy0Njo0BlZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468285},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./hooks":{"types":"./types/client/hooks/index.d.ts","default":"./lib/client/hooks/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"67cef2276ead7c91c7ef1877277347ff2969a34b","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.8.0_1788411056551_0.44819255821832593","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"mogobase","version":"3.9.0","author":{"name":"SameSame Tech Team"},"license":"MIT","_id":"mogobase@3.9.0","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"homepage":"https://github.com/samesametech/mogobase#readme","bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"bin":{"mogobase":"lib/dev/index.js"},"dist":{"shasum":"73894af721340ed7c9c53508481f2aedeae9f9af","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.9.0.tgz","fileCount":124,"integrity":"sha512-WCRItEBG6e6qz4FMhyjzR1i+JiagC/0m+O+QaDT5ZWvDqNqQwQmewhtMJPejOhHhsL7LVDSDoXTmq/yUzYGAZg==","signatures":[{"sig":"MEUCID34ZJCQU87b8t4wCvQHExof+R4dhMHVfEU1ateEHT/hAiEAllFSfBIfMjGtEUkaz9c9obKSNY2AJ9f1yelHDP9O9wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470572},"main":"lib/index.js","type":"module","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./hooks":{"types":"./types/client/hooks/index.d.ts","default":"./lib/client/hooks/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"aac23ca1ed7916b56fa6480c1e1f25b693835533","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mogobase_3.9.0_1788495047477_0.6418162946751189","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"_id":"mogobase@3.10.0","bin":{"mogobase":"lib/dev/index.js"},"bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"dist":{"shasum":"b7b565817834b39a1e4cb2862d8030e6dd4ac5f8","tarball":"https://registry.npmjs.org/mogobase/-/mogobase-3.10.0.tgz","fileCount":124,"integrity":"sha512-d9yPS4wEC+MYGeT6Hp1I/8ADZty7xYMxGtgdu9llmefe2RcSkw6LjFDhUNS9GomxHr+z0rZ71RnpB7Gwffceug==","signatures":[{"sig":"MEYCIQCG6hmVUuv5+U+aq52XthNtGOAsD+dbgAHf9GzQ9fNSiwIhAJP1ZYI/ewZMIrALwHchxyp03flRwfgfK9s+4QBDOwxq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFc5SmG740zujKKVsF+SdiFTSGNqIJ+NvaG+vPzXXDgFAiA+SIcBVH8GattjJcm22yyDI/fCY5GMI8l3TFr6KfxZZQ=="}],"unpackedSize":472908},"main":"lib/index.js","name":"mogobase","type":"module","types":"types/index.d.ts","author":{"name":"SameSame Tech Team"},"exports":{".":{"types":"./types/index.d.ts","default":"./lib/index.js"},"./db":{"types":"./types/db/index.d.ts","default":"./lib/db/index.js"},"./hooks":{"types":"./types/client/hooks/index.d.ts","default":"./lib/client/hooks/index.js"},"./server":{"types":"./types/server/index.d.ts","default":"./lib/server/index.js"},"./runtime":{"types":"./types/runtime/index.d.ts","default":"./lib/runtime/index.js"},"./provider":{"types":"./types/client/provider.d.ts","default":"./lib/client/provider.js"},"./client-db":{"types":"./types/client/db/index.d.ts","default":"./lib/client/db/index.js"},"./sync-types":{"types":"./types/client/sync-types.d.ts","default":"./lib/client/sync-types.js"},"./server/sync":{"types":"./types/server/sync.d.ts","default":"./lib/server/sync.js"},"./package.json":"./package.json","./client-db/watermelon":{"types":"./types/client/db/watermelon/index.d.ts","default":"./lib/client/db/watermelon/index.js"}},"gitHead":"29f0cf1f03879aa5f2f81ef5ed4c1543950f837b","license":"MIT","scripts":{"dev":"wrangler dev","test":"npm run test:unit && npm run test:integration","build":"rm -rf lib types && tsc && tsc-alias && mkdir -p lib/mcp/guides && cp -R src/mcp/guides/. lib/mcp/guides/","start":"node lib/server/start.js","deploy":"wrangler deploy --minify","test:unit":"vitest run -c vitest.unit.config.ts","cf-typegen":"wrangler types --env-interface CloudflareBindings","test:watch":"vitest -c vitest.unit.config.ts","prepublishOnly":"npm run build","test:integration":"vitest run -c vitest.integration.config.ts"},"version":"3.10.0","_npmUser":{"name":"samesametech","email":"dev@samesame.tech"},"homepage":"https://github.com/samesametech/mogobase#readme","repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"_npmVersion":"10.9.8","description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","directories":{},"maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.20.0","tsx":"^4.21.0","zod":"^4.3.5","hono":"^4.11.3","react":">=18","dotenv":"^17.2.3","make-cli":"^6.0.0","dataloader":"^2.2.3","typescript":"^5.9.3","lodash.merge":"^4.6.2","@hono/node-ws":"^1.3.0","@hono/node-server":"^1.19.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"rxdb":"^17.1.0","vitest":"^1.6.1","mongodb":"^6.21.0","wrangler":"^4.4.0","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@vitest/ui":"^1.6.1","@types/node":"^25.0.3","@types/react":"^19.2.8","@nozbe/watermelondb":"^0.28.0","@types/lodash.merge":"^4.6.9","vite-tsconfig-paths":"^4.3.2","mongodb-memory-server":"^9.5.0","mongo-cursor-pagination":"^9.1.1"},"peerDependencies":{"next":">=14","rxdb":">=17.0.0","react":">=18","mongodb":">=6.0.0","@nozbe/watermelondb":">=0.28.0"},"peerDependenciesMeta":{"next":{"optional":true},"rxdb":{"optional":true},"@nozbe/watermelondb":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mogobase_3.10.0_1789466313838_0.7263695461415205"}}},"time":{"created":"2026-01-27T07:58:38.624Z","modified":"2026-09-15T09:58:34.138Z","1.0.0":"2026-01-27T07:58:38.751Z","1.0.1":"2026-01-27T08:22:27.271Z","1.0.2":"2026-01-27T10:17:06.969Z","1.0.3":"2026-01-27T11:02:24.603Z","1.0.4":"2026-01-28T05:35:05.242Z","1.0.5":"2026-01-28T10:34:13.666Z","1.0.6":"2026-01-29T09:48:35.710Z","1.0.7":"2026-01-30T03:00:23.099Z","1.0.8":"2026-01-30T03:03:32.915Z","1.0.9":"2026-01-30T03:14:53.442Z","1.0.10":"2026-01-30T11:40:32.417Z","1.1.0":"2026-04-13T04:27:20.241Z","1.1.1":"2026-04-13T04:37:49.779Z","2.0.0":"2026-04-14T08:56:41.947Z","2.0.1":"2026-04-14T09:11:42.447Z","2.1.0":"2026-04-15T03:25:19.266Z","2.1.1":"2026-04-16T05:03:28.787Z","2.1.2":"2026-04-16T05:09:38.004Z","2.2.0":"2026-04-17T06:20:48.331Z","2.2.1":"2026-04-17T06:48:18.237Z","2.2.2":"2026-04-17T07:34:08.682Z","2.3.0":"2026-04-20T11:44:46.816Z","2.4.0":"2026-04-21T03:58:48.629Z","2.5.0":"2026-04-21T08:04:00.846Z","2.5.1":"2026-04-21T12:58:20.763Z","2.6.0":"2026-04-27T04:09:53.415Z","2.6.1":"2026-04-27T04:24:09.462Z","2.7.0":"2026-04-28T08:18:54.205Z","2.7.1":"2026-04-28T09:48:03.981Z","2.7.2":"2026-04-28T10:37:39.936Z","2.8.0":"2026-04-29T02:31:59.737Z","3.0.0":"2026-04-29T11:49:42.557Z","3.0.1":"2026-04-29T13:12:14.077Z","3.1.0":"2026-04-30T02:57:52.104Z","3.1.1":"2026-04-30T03:16:10.715Z","3.1.2":"2026-04-30T03:25:17.640Z","3.2.0":"2026-04-30T04:45:26.660Z","3.2.1":"2026-05-05T09:34:18.677Z","3.3.0":"2026-05-05T10:57:25.006Z","3.3.1":"2026-05-05T11:08:02.431Z","3.4.0":"2026-05-14T12:32:17.879Z","3.5.0":"2026-05-19T04:33:42.210Z","3.5.1":"2026-05-19T04:43:35.090Z","3.5.2":"2026-05-19T05:16:21.510Z","3.5.3":"2026-05-26T03:33:01.223Z","3.5.4":"2026-06-10T03:20:20.878Z","3.5.5":"2026-06-10T04:19:19.833Z","3.5.6":"2026-06-16T08:48:49.913Z","3.6.0":"2026-08-11T06:18:04.740Z","3.6.1":"2026-08-11T06:24:13.591Z","3.7.0":"2026-09-01T05:10:17.544Z","3.8.0":"2026-09-03T04:50:56.717Z","3.9.0":"2026-09-04T04:10:47.636Z","3.10.0":"2026-09-15T09:58:33.946Z"},"bugs":{"url":"https://github.com/samesametech/mogobase/issues"},"author":{"name":"SameSame Tech Team"},"license":"MIT","homepage":"https://github.com/samesametech/mogobase#readme","repository":{"url":"git+https://github.com/samesametech/mogobase.git","type":"git"},"description":"Lightweight Next.js + MongoDB backend with typed handlers, WebSocket live queries, and opt-in offline / local-first sync.","maintainers":[{"name":"samesametech","email":"dev@samesame.tech"}],"readme":"# mogobase\n\nA lightweight backend runtime for Next.js apps backed by MongoDB, with reactive queries over WebSockets, Convex-style typed handlers, **opt-in offline support** via RxDB or WatermelonDB, and **opt-in local-first sync** that keeps the client store and MongoDB continuously replicated.\n\nSource: [github.com/samesametech/mogobase](https://github.com/samesametech/mogobase) · npm: [`mogobase`](https://www.npmjs.com/package/mogobase)\n\n- **Typed handlers** — define `query()` / `mutation()` with zod-validated args. Opt into a second validation layer at the storage boundary by setting `dbValidation: true` on `defineModel`.\n- **Reactive queries** — `useQuery` and `usePaginatedQuery` both re-run their handlers on MongoDB change stream events. For `usePaginatedQuery` the server reuses the currently-loaded window as the effective limit so scroll position is preserved across refetches, and enrichments from joined collections (watched with additional `ctx.watch` calls) stay fresh.\n- **Offline mode is opt-in** — same handlers run in the browser against RxDB/IndexedDB or WatermelonDB/LokiJS. The consumer imports the backend they want and passes it as `<MogobaseProvider clientDB={…}>`. Online-only apps install neither offline package — `rxdb` and `@nozbe/watermelondb` are both optional peer dependencies. Both backends sync writes across same-origin tabs via BroadcastChannel.\n- **Local-first sync is opt-in** — turn on `sync={true}` and the same hooks read/write through `clientDB` while a background engine continuously replicates with MongoDB over the existing `/ws` connection. Writes pushed up; server changes streamed down; offline writes queue locally and replay when the WS reconnects.\n- **Sync security is built in** — default-deny model allowlist (`sync: true` per model), `clientFields` projection (server-only fields never reach the client; clients can't write outside the allowlist), per-op `SyncPolicy` callback for allow/filter/transform with the request headers, server-owned timestamps, and a 500-row push batch cap.\n- **One server** — a custom Next.js `server.ts` serves both your app and the mogobase WS endpoint.\n- **MongoDB-native** — thin wrapper around the official driver; no ORM, no schema lock-in.\n- **MCP server** — ships a Model Context Protocol server (`mogobase mcp`) that teaches AI assistants how to scaffold and extend a mogobase project.\n\n## Install\n\n```bash\nyarn add mogobase ws\nyarn add -D @types/ws\nnpx mogobase install\n```\n\nFor offline mode, also install the backend you want — neither is needed for online-only apps:\n\n```bash\n# RxDB backend (Dexie/IndexedDB)\nyarn add rxdb\n\n# OR WatermelonDB backend (LokiJS)\nyarn add @nozbe/watermelondb\n```\n\n`mogobase install` scaffolds the following into your Next.js project:\n\n- `hooks/useQuery.ts`, `hooks/useMutation.ts`, `hooks/usePaginatedQuery.ts`, `hooks/index.ts`\n- `src/app/api/handlers/route.ts` (or `app/api/handlers/route.ts` if `src/` is absent)\n- `src/app/api/sync/route.ts` — HTTP-fallback for sync mode (harmless if you don't use sync)\n- `server.ts` at the project root\n- `mogobase/` folder for your handler files\n\nUpdate your `package.json` scripts:\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"tsx server.ts\",\n    \"build\": \"next build\",\n    \"start\": \"NODE_ENV=production tsx server.ts\"\n  }\n}\n```\n\nSet Mongo connection env vars in `.env.local`:\n\n```bash\nMONGO_URI=mongodb://localhost:27017\nMONGO_DB=myapp\n```\n\n## Usage\n\n### 1. Define handlers (isomorphic)\n\nCreate files in `./mogobase/`. Each file is auto-loaded at server boot, and re-used in the browser when offline mode is active. **Import everything from `mogobase/runtime`** — it's browser-safe and has no `mongodb` / `ws` imports.\n\n```ts\n// mogobase/tasks.ts\nimport { query, mutation, defineModel, v } from \"mogobase/runtime\"\n\ndefineModel(\n  \"tasks\",\n  v.object({\n    _id: v.string(),\n    title: v.string(),\n    done: v.boolean(),\n  })\n)\n\nquery(\"listTasks\", {\n  args: v.object({}),\n  handler: async (_args, ctx) => {\n    ctx.watch(\"tasks\") // subscribe this query to the \"tasks\" collection\n    const docs = await ctx.db.model(\"tasks\").find({}).sort({ _id: -1 }).toArray()\n    return docs.map((d) => ({ _id: String(d._id), title: d.title, done: !!d.done }))\n  },\n})\n\nmutation(\"createTask\", {\n  args: v.object({ title: v.string().min(1) }),\n  handler: async ({ title }, ctx) => {\n    const { insertedId } = await ctx.db.model(\"tasks\").insertOne({ title, done: false })\n    return { _id: String(insertedId), title, done: false }\n  },\n})\n\nmutation(\"toggleTask\", {\n  args: v.object({ id: v.string(), done: v.boolean() }),\n  handler: async ({ id, done }, ctx) => {\n    await ctx.db.model(\"tasks\").updateOne({ _id: id }, { $set: { done } })\n    return { ok: true }\n  },\n})\n```\n\nHandler `ctx` provides:\n\n- `ctx.db` — the database (MongoDB server-side, RxDB offline). `ctx.db.model(name)` returns a collection-like object with `find`, `insertOne`, `updateOne`, etc.\n- `ctx.runQuery(name, args)` / `ctx.runMutation(name, args)` — call other handlers, including `internal.*`\n- `ctx.headers` — request headers (useful for auth; online only)\n- `ctx.watch(modelName, pipeline?, options?)` — **queries only**. Subscribes the client to change-stream updates on that collection. Triggers a full handler re-run on every matching event for both `useQuery` and `usePaginatedQuery`. Pass an aggregation pipeline as the second argument for server-side pre-filtering; the third argument forwards to `collection.watch(pipeline, options)` as `ChangeStreamOptions`.\n- `ctx.useDatabase(dbName)` — **server only**. Returns a `MogobaseDB` view bound to a different database **on the same MongoDB cluster**. Carries the same model schemas, indexes, and (in mutations) autoStamp + `dbValidation` semantics as `ctx.db`. Use for multi-tenant apps where each tenant has its own database.\n- `ctx.useRawDatabase(name)` — **server only**. Returns a raw `mongodb.Db` for a connection registered via `DB.registerDatabase(name, …)`. Use for cross-cluster reads (e.g. an analytics MongoDB on a different URI). No autoStamp, no `dbValidation`, no schema awareness — it is the unwrapped driver.\n\nUse `internalQuery()` / `internalMutation()` for handlers that should only be callable from server code (stored under the `internal.` prefix).\n\n`defineModel(name, schema?, options?)` registers a model for both MongoDB (creates the collection, applies indexes) and RxDB (uses the Zod schema to derive a JSON schema). A schema is required for offline mode. Useful options:\n\n- `indexSpecs` — passed to `createIndexes`. The engine always adds `updatedAt`, `deletedAt`, `createdAt` indexes (sync depends on them) on top of yours.\n- `clientFields: string[]` — visibility allowlist. Used by `filterClientFields(model, doc)` (online flow) and the sync engine (pull projection + push allowlist). Engine fields (`_id`, `createdAt`, `updatedAt`, `deletedAt`) are always included. Omit for no restriction.\n- `sync: true` — opt the model into mogobase sync. Default-deny: pull/push/watch on a model without `sync: true` throws.\n- `dbValidation: true` — validate writes against the model's zod schema at the autoStamp layer. When set, `insertOne` / `insertMany` / `updateOne` / `updateMany` / `findOneAndUpdate` are checked before reaching MongoDB; type mismatches and missing required fields throw `[mogobase] Validation failed for <model>.<op>: <path: msg; …>`. `$set` / `$setOnInsert` payloads are validated as partials; aggregation-pipeline updates are skipped. Default `false`.\n\n### 2. Wrap your app with `MogobaseProvider`\n\n**Online-only** (no offline backend installed):\n\n```tsx\n// app/providers.tsx\n\"use client\"\nimport { MogobaseProvider } from \"mogobase/provider\"\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  return <MogobaseProvider online={true}>{children}</MogobaseProvider>\n}\n```\n\n**Online + offline** (network-aware, with a backend the consumer imports):\n\n```tsx\n// app/providers.tsx\n\"use client\"\nimport { MogobaseProvider } from \"mogobase/provider\"\nimport RxClientDB from \"mogobase/client-db\" // or \"mogobase/client-db/watermelon\"\nimport { useEffect, useState } from \"react\"\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  const [online, setOnline] = useState(true)\n  useEffect(() => {\n    const update = () => setOnline(navigator.onLine)\n    update()\n    window.addEventListener(\"online\", update)\n    window.addEventListener(\"offline\", update)\n    return () => {\n      window.removeEventListener(\"online\", update)\n      window.removeEventListener(\"offline\", update)\n    }\n  }, [])\n\n  return (\n    <MogobaseProvider online={online} clientDB={RxClientDB} handlers={() => import(\"@/mogobase\")}>\n      {children}\n    </MogobaseProvider>\n  )\n}\n```\n\n- `online={true}` — hooks talk to the server (WebSocket for queries, POST for mutations). No `clientDB` needed.\n- `online={false}` — handlers run in the browser against `clientDB`. The provider throws a clear error if `clientDB` is missing in this mode.\n- `online={true}` + `sync={true}` — local-first. Hooks read/write through `clientDB` and a background engine continuously replicates with MongoDB. See the next section.\n- `clientDB` — the singleton from `mogobase/client-db` (RxDB) or `mogobase/client-db/watermelon` (WatermelonDB). Whichever subpath you import is the only one that ends up in your bundle, and the matching peer package (`rxdb` or `@nozbe/watermelondb`) is the only one you need to install. Both backends expose the same Mongo-shaped `ctx.db.model(...)` surface, so handler code doesn't change.\n- `handlers` — async loader that imports your `./mogobase` folder so handler registrations run on the client. Required for offline and sync modes; safe to omit for online-only.\n\n#### Local-first sync mode\n\nAdd `sync={true}` (with `online={true}`) and the same hooks become local-first: every read hits `clientDB`, every write lands locally first and is then pushed to MongoDB. Server changes flow back down through the same `/ws` connection.\n\n```tsx\n// app/providers.tsx\n\"use client\"\nimport { MogobaseProvider } from \"mogobase/provider\"\nimport RxClientDB from \"mogobase/client-db\" // or \"mogobase/client-db/watermelon\"\nimport { useMemo } from \"react\"\n\nconst SYNC_OPTIONS = { batchSize: 200 }\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  const syncOptions = useMemo(() => SYNC_OPTIONS, [])\n  return (\n    <MogobaseProvider\n      online={true}\n      sync={true}\n      clientDB={RxClientDB}\n      dbName=\"my-app\"\n      handlers={() => import(\"@/mogobase\")}\n      syncOptions={syncOptions}\n    >\n      {children}\n    </MogobaseProvider>\n  )\n}\n```\n\nWhat you get:\n\n- Reads are instant (served from IndexedDB / LokiJS).\n- Writes don't wait for the network — they replay automatically when the WS reconnects.\n- Server changes from other clients land within ~3s via a `sync-stream` event that re-pulls.\n- `createdAt` / `updatedAt` / `deletedAt` are auto-injected into every model schema and auto-stamped on every write — handler authors don't have to declare or update them. Timestamps are numeric ms (`Date.now()`). Server timestamps **always override** client values; the client clock is only consulted for conflict ordering.\n- Soft-deletes propagate (`deleteOne` is rewritten to `$set: {deletedAt, updatedAt}` so the sync checkpoint can carry tombstones). Reach through to the underlying driver if you really need a hard delete.\n\n#### Securing sync (`SyncPolicy`)\n\nEvery pull / push / watch goes through a `SyncPolicy` callback you wire into both transports. Defaults are secure (default-deny). Define the policy once and import it from both places:\n\n```ts\n// mogobase/syncPolicy.ts\nimport type { SyncPolicy } from \"mogobase/server\"\nimport { getSession } from \"./auth\"\n\nexport const syncPolicy: SyncPolicy = async ({ model, headers }) => {\n  const session = await getSession({ headers })\n  if (!session) return { allow: false }\n  const userId = session.user.id\n\n  if (model === \"posts\" || model === \"categories\") {\n    return {\n      allow: true,\n      filter: { userId },\n      transform: (doc, existing) => {\n        if (existing && existing.userId !== userId) {\n          throw new Error(\"Forbidden: cross-tenant write\")\n        }\n        return { ...doc, userId }\n      },\n    }\n  }\n  return { allow: false }\n}\n```\n\n```ts\n// server.ts\nimport { attachMogobaseWebSocket } from \"mogobase/server\"\nimport { syncPolicy } from \"./mogobase/syncPolicy\"\nattachMogobaseWebSocket(server, \"/ws\", { syncPolicy })\n```\n\n```ts\n// app/api/sync/route.ts (the scaffolded HTTP fallback)\nimport { syncPolicy } from \"../../../../mogobase/syncPolicy\"\n```\n\n`filter` is merged into the pull WHERE clause and translated to a change-stream `$match` pipeline — MongoDB only sends notifications for in-scope docs. `transform(doc, existing)` runs once per pushed row; throw to reject (the server's existing doc is returned as a conflict). Combine with `clientFields` on `defineModel` so server-only fields never ship and the push payload is allowlisted.\n\nCaveats:\n\n- `_id` must be a string. Sync mode collections are incompatible with existing `ObjectId` `_id`s.\n- Memoize `syncOptions` (or define at module scope). It's in the provider's effect dep array — an inline `{}` will tear down and restart sync on every render.\n- A model needs `sync: true` on `defineModel` to be syncable. The server only auto-loads `./mogobase/*.ts`; if you split sync handlers into a separate folder, extend the `loadHandlers()` loop in `server.ts` to load it too — otherwise `sync: true` only registers on the client.\n- Don't hard-delete on a synced model with a per-tenant `filter`: change-stream delete events don't carry `fullDocument`, so the `$match` filter drops them and clients miss tombstones.\n- WatermelonDB does a full pull per cycle; for >10K records per model the initial sync is slow. RxDB doesn't have this limitation.\n- For paginated queries that must work in both modes (server-side Mongo and client-side adapter), use the runtime helpers `isServer()` + `MongoPaging` to dispatch between `mongo-cursor-pagination` (server) and the browser-safe polyfill (client). See `mogobase://guide/handlers` → \"Isomorphic handlers\".\n- See `mogobase://guide/sync` (MCP) for the wire protocol, conflict resolution defaults, and the full list of edge cases.\n\n### 3. Consume from React\n\n```tsx\n\"use client\"\nimport { useQuery, useMutation } from \"@/hooks\"\n\nexport default function Tasks() {\n  const tasks = useQuery(\"listTasks\", {})\n  const createTask = useMutation(\"createTask\")\n  const toggleTask = useMutation(\"toggleTask\")\n\n  if (!tasks) return <p>Loading…</p>\n\n  return (\n    <ul>\n      {tasks.map((t) => (\n        <li key={t._id}>\n          <input\n            type=\"checkbox\"\n            checked={t.done}\n            onChange={(e) => toggleTask({ id: t._id, done: e.target.checked })}\n          />\n          {t.title}\n        </li>\n      ))}\n      <button onClick={() => createTask({ title: \"New task\" })}>Add</button>\n    </ul>\n  )\n}\n```\n\nThe hooks branch on the provider's `online` and `sync` flags: pure-online they use WebSocket + HTTP; offline (or local-first sync) they run the same handlers against the selected backend (RxDB or WatermelonDB) and subscribe to local change events via `clientDB.observeChanges(name)`. Your component code doesn't change.\n\n### 4. Run it\n\n```bash\nyarn dev\n# > Mogobase + Next.js ready on http://localhost:3000\n```\n\n## Multi-database handlers\n\nHandlers can read and write across multiple databases — same cluster (per-tenant DBs) or different clusters (e.g. an analytics deployment on its own URI). All three patterns are server-only; offline mode and sync stay on the default database.\n\n### Per-tenant database from request headers\n\nRegister a resolver once at boot. It runs at the handler entry boundary, picks a database name from the request headers, and `ctx.db` is bound to that DB for the rest of the request — including recursive `ctx.runQuery` / `ctx.runMutation` calls (the resolver does not re-run).\n\n```ts\n// server.ts (or a module imported by it)\nimport DB from \"mogobase/db\"\n\nDB.setRequestResolver(async ({ headers }) => {\n  const tenantId = headers?.[\"x-tenant-id\"]\n  return tenantId ?? null   // null → fall back to MONGO_DB default\n})\n```\n\n```ts\n// mogobase/posts.ts — handler is unchanged; ctx.db points at the tenant's DB\nquery(\"listPosts\", {\n  args: v.object({}),\n  handler: async (_a, { db }) => db.model(\"posts\").find({}).toArray(),\n})\n```\n\nThe resolver is async and receives `{ headers }`. Return a string to bind a per-tenant view, `null` / `undefined` to keep the default database. Throws are surfaced as `DB resolver threw …`.\n\n### Collections that live in one database\n\nA change stream follows the database the query **read** (the resolved one), which is right for tenant data. A collection you keep in one database whatever the request resolves to — identity, reference tables — must be watched there instead, or the stream opens on the tenant's empty copy and the subscription answers correctly once and never re-runs. Name those collections when attaching:\n\n```ts\nattachMogobaseWebSocket(server, \"/ws\", {\n  watchDatabaseFor: (model, activeDbName) => (SHARED.includes(model) ? process.env.MONGO_DB : null),\n})\n```\n\nReturn a database name to redirect that model's stream, `null` / `undefined` to keep the default. The handler still has to read the collection from that database itself (`ctx.useDatabase(name)`); the option only decides where the watch listens.\n\n### Explicit `ctx.useDatabase` (no resolver)\n\nIf you'd rather pick the database inline (e.g. only some handlers are multi-tenant), skip `setRequestResolver` and call `ctx.useDatabase(dbName)`:\n\n```ts\nmutation(\"createPost\", {\n  args: v.object({ tenant: v.string(), title: v.string() }),\n  handler: async ({ tenant, title }, { useDatabase }) => {\n    const tenantDb = useDatabase(tenant)\n    await tenantDb.model(\"posts\").insertOne({ title })\n  },\n})\n```\n\n`ctx.useDatabase` returns a `MogobaseDB` view sharing the singleton's schemas. Indexes are applied lazily the first time a model is touched on that DB. In a mutation handler, the returned view is autoStamp-wrapped automatically, so `insertOne` / `updateOne` / `deleteOne` all stamp timestamps and `dbValidation` runs the same as on `ctx.db`.\n\n### Cross-cluster raw reads (`ctx.useRawDatabase`)\n\nFor databases on a different MongoDB cluster (different URI, different credentials), register them at boot and reach through `ctx.useRawDatabase`:\n\n```ts\n// server.ts\nimport DB from \"mogobase/db\"\n\nDB.registerDatabase(\"analytics\", {\n  uri: process.env.ANALYTICS_MONGO_URI!,\n  dbName: \"analytics\",\n})\n```\n\n```ts\nquery(\"recentEvents\", {\n  args: v.object({}),\n  handler: async (_a, { useRawDatabase }) => {\n    const analytics = await useRawDatabase(\"analytics\")\n    return analytics.collection(\"events\").find({}).sort({ ts: -1 }).limit(50).toArray()\n  },\n})\n```\n\n`ctx.useRawDatabase` returns the raw `mongodb.Db` — no autoStamp, no `dbValidation`, no model wrapper. Connections are pooled per URI and lazily opened on first use.\n\n### Caveats\n\n- All three APIs are server-only. The hooks (offline / sync) ignore them — `ctx.db` in client mode is always the local store.\n- Sync is bound to the default database; multi-tenant sync is not supported in this version.\n- Models declared with `defineModel(...)` are visible on every database view (schemas are shared); their indexes are applied per-DB on first access.\n- `ctx.useDatabase` is only for the same cluster (default `MONGO_URI`). For a different cluster, register it with `DB.registerDatabase(...)` and use `ctx.useRawDatabase`.\n\n## Configuration\n\n| Env var              | Default                     | Purpose                                      |\n| -------------------- | --------------------------- | -------------------------------------------- |\n| `MONGO_URI`          | `mongodb://localhost:27017` | MongoDB connection string                    |\n| `MONGO_DB`           | `mogobase`                  | Database name                                |\n| `MOGOBASE_PORT`      | `4000`                      | Port for the standalone `mogobase dev` server |\n| `NEXT_MOGOBASE_URL`  | *(same-origin)*             | Override client WS/HTTP base URL             |\n| `MOGOBASE_URL`       | *(same-origin)*             | SSR override for the same                    |\n\n## Scaling\n\nmogobase uses a process-level shared change-stream hub (`src/server/streamHub.ts`)\nso the number of MongoDB change streams open per Node process is bounded by\nthe number of *active models*, not the number of connected sockets. Every\nincoming change is filtered in JS against each subscriber's policy filter\nusing `runtime/filterMatcher`.\n\n`useQuery` refetches are coalesced via `refetchScheduler`: a 100ms trailing-edge\ndebounce per `(socket, query, args)` plus at-most-one-in-flight + one-queued\nbackpressure. Configure with:\n\n```ts\nattachMogobaseWebSocket(server, \"/ws\", { refetchDebounceMs: 100 })\n```\n\n### Practical capacity\n\nApproximate ceilings on a single Node process backed by a moderately sized\nMongoDB cluster (M30+):\n\n- **5K–10K concurrent WebSocket users** per Node process before event-loop\n  saturation matters more than MongoDB load.\n- **30K–50K concurrent users** behind a 4-node sticky load balancer for typical\n  per-user-data SaaS workloads.\n- **100K+** for sync-heavy / read-light workloads where the per-user filter\n  effectively shards traffic.\n\n### Known limits\n\n- **Per-process scope.** Horizontal scaling multiplies streams by node count.\n  A Redis pub/sub layer would dedupe across processes; not built-in.\n- **Filter operators.** `streamHub` evaluates `$eq`/`$ne`/`$gt`/`$gte`/`$lt`/`$lte`/`$in`/`$nin`/`$exists`/`$regex`/`$and`/`$or`/`$not` in JS. Operators outside this set (`$expr`, `$where`, `$elemMatch`, `$text`) throw at subscribe; callers can fall back to passing a `Document[]` aggregation pipeline to `ctx.watch()` for legacy per-socket pipeline filtering.\n- **Hot shared queries.** A query subscribed by N clients still triggers N refetch handler runs per debounce window. Result caching / request collapsing is not in this version.\n\n## Package entry points\n\n| Import                 | Use from       | Purpose                                                |\n| ---------------------- | -------------- | ------------------------------------------------------ |\n| `mogobase/runtime`     | handler files  | Isomorphic `query`, `mutation`, `defineModel`, `v`, `isServer`, `isClient`, `MongoPaging` (browser-safe polyfill of `mongo-cursor-pagination`) |\n| `mogobase/provider`    | client         | `MogobaseProvider`, `useMogobase`                      |\n| `mogobase/server`      | server only    | Lower-level registration + `runQuery` / `runMutation`  |\n| `mogobase/server/sync` | server only    | `pullChanges`, `pushChanges`, `streamChanges` for the `/api/sync` HTTP fallback or custom transports |\n| `mogobase/sync-types`  | isomorphic     | Wire-protocol types: `SyncDoc`, `SyncOptions`, `SyncHandle` |\n| `mogobase/db`          | server only    | `MogobaseDB` singleton and `Id` / `buildFilters`       |\n| `mogobase/client-db`   | client only    | RxDB-backed `ClientDB` singleton — `import` and pass as `clientDB` prop. Requires `rxdb` peer dep. |\n| `mogobase/client-db/watermelon` | client only | WatermelonDB-backed `ClientDB` singleton — `import` and pass as `clientDB` prop. Requires `@nozbe/watermelondb` peer dep. |\n\nPrefer `mogobase/runtime` for anything that might run in the browser.\n\n## CLI\n\n- `mogobase install` — scaffold files into the consuming project. Re-run to update; files are overwritten on conflict.\n- `mogobase dev` — standalone dev server (Hono-based), used when you don't want to run Next.js. Loads handlers from `./mogobase/*.ts`.\n- `mogobase mcp` — starts the bundled MCP server over stdio (see below).\n\n## MCP server\n\nMogobase ships a [Model Context Protocol](https://modelcontextprotocol.io) server so AI coding assistants (Claude Code, Claude Desktop, Cursor, etc.) can scaffold, inspect, and extend a mogobase project without guessing at conventions.\n\n### Register the server\n\nRun it over stdio with `npx mogobase mcp` from inside the consumer project.\n\n**Claude Code** (from the project root):\n\n```bash\nclaude mcp add mogobase -- npx -y mogobase mcp\n```\n\n**Generic MCP client** (`.mcp.json` / `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"mogobase\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mogobase\", \"mcp\"]\n    }\n  }\n}\n```\n\nThe server inherits the client's working directory, so tools that read your project (`mogobase_check_setup`, `mogobase_list_handlers`, …) operate on whichever project the MCP client is attached to.\n\n### Tools\n\n| Tool | Purpose |\n| ---- | ------- |\n| `mogobase_check_setup` | Reports what's wired up vs. missing: project type, `server.ts`, API route, provider mount, handler files, env vars, `package.json` scripts and deps. Call this first. |\n| `mogobase_install` | Runs the same scaffolding as `npx mogobase install`. Overwrites on conflict — call `mogobase_check_setup` first. |\n| `mogobase_list_handlers` | Parses `./mogobase/*.ts` and lists every `query` / `mutation` / `internalQuery` / `internalMutation` with its file and line. |\n| `mogobase_list_models` | Lists every `defineModel(...)` call across the project's handler files. |\n| `mogobase_inspect_handler` | Returns ~30 lines of source around a given handler by name (accepts `internal.*`). |\n\n### Resources\n\nGuides are served as `mogobase://guide/<slug>` (markdown). Clients can read them on demand:\n\n| URI | Description |\n| --- | ----------- |\n| `mogobase://guide/overview` | What mogobase is and the shape of a Next.js setup. |\n| `mogobase://guide/setup` | Step-by-step install and wire-up for a Next.js App Router project. |\n| `mogobase://guide/handlers` | `query`, `mutation`, `internalQuery`, `internalMutation` — args, ctx, conventions. |\n| `mogobase://guide/models` | `defineModel`, zod schemas, indexes, `ObjectId`, `DataLoader`, `buildFilters`. |\n| `mogobase://guide/hooks` | `useQuery`, `useMutation`, `usePaginatedQuery` usage and transport model. |\n| `mogobase://guide/provider` | Wrapping the app, online/offline flag, handlers loader, boot sequence. |\n| `mogobase://guide/offline-backends` | RxDB vs WatermelonDB — when to pick each, caveats, interface. |\n| `mogobase://guide/sync` | Local-first sync mode: enabling, wire protocol, `updatedAt` semantics, conflict resolution, soft-delete propagation, known limitations. |\n| `mogobase://guide/troubleshooting` | Common errors: WS not connecting, handlers not registering, offline gotchas. |\n\n### Prompts\n\n- `setup-mogobase` — seeds the assistant with the correct onboarding workflow: run `mogobase_check_setup`, read the overview + setup guides, propose changes, ask before running `mogobase_install`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}