{"_id":"@carefully-built/convex-multitenant","name":"@carefully-built/convex-multitenant","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.2":{"name":"@carefully-built/convex-multitenant","version":"0.1.2","description":"Reusable Convex multitenant guards and organization-scoped lookup helpers.","type":"module","license":"MIT","author":{"name":"Alessandro Dodi"},"sideEffects":false,"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"build":"tsdown src/index.ts --format esm --dts","prepublishOnly":"bun run typecheck && bun run build","typecheck":"tsc --noEmit"},"publishConfig":{"access":"public"},"gitHead":"b84d3f58858fed9a9e06a291cd33ea8b6f1ff157","_id":"@carefully-built/convex-multitenant@0.1.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-fNXl4QZ4uKf9jPRvOLAKxeN39PhXUjdCOGgTRDLlq2ZW2/hpXJKeOrPtGJQ7FfZNlw8RLMSY/mapWc0YleVs6A==","shasum":"29788a6cf42a6d942b3bb9750aa6c976a43591c7","tarball":"https://registry.npmjs.org/@carefully-built/convex-multitenant/-/convex-multitenant-0.1.2.tgz","fileCount":6,"unpackedSize":7391,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDCj9cZAfcwSRXzR5x0DtvRmALp/g1XdCsEHWbJ2T8wzwIhAMR1T4jocdQha5er9VL43oEhyxmL1TOCwXV6Lc4uAxHB"}]},"_npmUser":{"name":"alledodi","email":"dodialessandro3@gmail.com"},"directories":{},"maintainers":[{"name":"alledodi","email":"dodialessandro3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/convex-multitenant_0.1.2_1782064390399_0.1498778277400874"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T17:53:10.189Z","0.1.2":"2026-06-21T17:53:10.543Z","modified":"2026-06-21T17:53:10.827Z"},"maintainers":[{"name":"alledodi","email":"dodialessandro3@gmail.com"}],"description":"Reusable Convex multitenant guards and organization-scoped lookup helpers.","author":{"name":"Alessandro Dodi"},"license":"MIT","readme":"# @carefully-built/convex-multitenant\n\nReusable Convex helpers for organization-scoped SaaS apps.\n\n## What It Provides\n\n- `requireUserInOrganization`: verifies a user belongs to an organization and is not archived.\n- `findCurrentUserByWorkosId`: resolves a synced WorkOS user in the current organization, falling back to legacy WorkOS-only lookup.\n\n## Usage\n\n```ts\nimport { requireUserInOrganization } from '@carefully-built/convex-multitenant';\n\nawait requireUserInOrganization(ctx, args.currentUserId, args.organizationId);\n```\n\nThe package uses structural Convex context types so each app can keep generated Convex types local.\n","readmeFilename":"README.md","_rev":"1-13a2dabff08ce0558ce390c41fac89c8"}