@elevasis/core 0.35.1 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/auth/index.d.ts +124 -2
  2. package/dist/auth/index.js +14 -1
  3. package/dist/index.d.ts +334 -3
  4. package/dist/index.js +21 -5
  5. package/dist/knowledge/index.d.ts +81 -0
  6. package/dist/organization-model/index.d.ts +334 -3
  7. package/dist/organization-model/index.js +21 -5
  8. package/dist/test-utils/index.d.ts +97 -0
  9. package/dist/test-utils/index.js +19 -4
  10. package/package.json +1 -1
  11. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +67 -0
  12. package/src/auth/multi-tenancy/invitations/api-schemas.ts +24 -9
  13. package/src/auth/multi-tenancy/invitations/index.ts +11 -9
  14. package/src/auth/multi-tenancy/organizations/__tests__/api-schemas.test.ts +39 -3
  15. package/src/auth/multi-tenancy/organizations/api-schemas.ts +36 -8
  16. package/src/auth/multi-tenancy/organizations/index.ts +13 -11
  17. package/src/business/acquisition/build-templates.test.ts +34 -0
  18. package/src/business/acquisition/build-templates.ts +8 -1
  19. package/src/organization-model/__tests__/domains/navigation-topbar.test.ts +282 -0
  20. package/src/organization-model/__tests__/migration-helpers.test.ts +11 -11
  21. package/src/organization-model/defaults.ts +2 -1
  22. package/src/organization-model/domains/navigation.ts +176 -139
  23. package/src/organization-model/icons.ts +1 -0
  24. package/src/organization-model/migration-helpers.ts +8 -1
  25. package/src/organization-model/published.ts +6 -6
  26. package/src/organization-model/types.ts +5 -1
  27. package/src/platform/constants/versions.ts +1 -1
  28. package/src/platform/registry/__tests__/resource-registry.test.ts +2053 -2054
  29. package/src/reference/_generated/contracts.md +67 -0
  30. package/src/scaffold-registry/index.ts +4 -4
  31. package/src/supabase/database.types.ts +15 -0
  32. package/src/test-utils/rls/RLSTestContext.ts +3 -3
@@ -349,6 +349,18 @@ declare const UpdateOrganizationSchema: z.ZodObject<{
349
349
  }, z.core.$strip>>>>;
350
350
  metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
351
351
  }, z.core.$strict>;
352
+ /**
353
+ * Update organization auth config
354
+ * PATCH /organizations/:id/config/auth
355
+ *
356
+ * Security:
357
+ * - Narrow config surface: only appOrigin is accepted
358
+ * - App origin is an origin URL, not a route URL
359
+ * - Strict mode prevents accidental writes to unrelated config keys
360
+ */
361
+ declare const UpdateOrganizationAuthConfigSchema: z.ZodObject<{
362
+ appOrigin: z.ZodString;
363
+ }, z.core.$strict>;
352
364
  /**
353
365
  * List organizations with filters
354
366
  * GET /organizations
@@ -364,6 +376,7 @@ declare const ListOrganizationsQuerySchema: z.ZodObject<{
364
376
  }, z.core.$strip>;
365
377
  type CreateOrganizationInput = z.infer<typeof CreateOrganizationSchema>;
366
378
  type UpdateOrganizationInput = z.infer<typeof UpdateOrganizationSchema>;
379
+ type UpdateOrganizationAuthConfigInput = z.infer<typeof UpdateOrganizationAuthConfigSchema>;
367
380
  type ListOrganizationsQuery = z.infer<typeof ListOrganizationsQuerySchema>;
368
381
  type OrganizationIdParam = z.infer<typeof OrganizationIdParamSchema>;
369
382
 
@@ -3876,6 +3889,17 @@ type Database = {
3876
3889
  Args: never;
3877
3890
  Returns: undefined;
3878
3891
  };
3892
+ repair_membership_role_assignments: {
3893
+ Args: never;
3894
+ Returns: {
3895
+ membership_id: string;
3896
+ organization_id: string;
3897
+ repaired: boolean;
3898
+ role_id: string;
3899
+ role_slug: string;
3900
+ user_id: string;
3901
+ }[];
3902
+ };
3879
3903
  sync_all_memberships_with_role: {
3880
3904
  Args: {
3881
3905
  p_role_id: string;
@@ -3888,6 +3912,13 @@ type Database = {
3888
3912
  };
3889
3913
  Returns: undefined;
3890
3914
  };
3915
+ update_membership_role_assignment: {
3916
+ Args: {
3917
+ p_role_slug: string;
3918
+ p_workos_membership_id: string;
3919
+ };
3920
+ Returns: string;
3921
+ };
3891
3922
  upsert_user_profile: {
3892
3923
  Args: never;
3893
3924
  Returns: {
@@ -4108,6 +4139,17 @@ declare const SendInvitationSchema: z.ZodObject<{
4108
4139
  declare const AcceptInvitationSchema: z.ZodObject<{
4109
4140
  invitation_token: z.ZodString;
4110
4141
  }, z.core.$strict>;
4142
+ /**
4143
+ * Public invitation router query
4144
+ * GET /api/invite
4145
+ *
4146
+ * Security:
4147
+ * - Token validated as present only; service layer performs WorkOS lookup
4148
+ * - Router redirects with only the token needed by tenant AuthKit login
4149
+ */
4150
+ declare const InviteRouterQuerySchema: z.ZodObject<{
4151
+ invitation_token: z.ZodString;
4152
+ }, z.core.$strict>;
4111
4153
  /**
4112
4154
  * List invitations with filters
4113
4155
  * GET /invitations
@@ -4130,6 +4172,7 @@ declare const ListInvitationsQuerySchema: z.ZodObject<{
4130
4172
  }, z.core.$strict>;
4131
4173
  type SendInvitationInput = z.infer<typeof SendInvitationSchema>;
4132
4174
  type AcceptInvitationInput = z.infer<typeof AcceptInvitationSchema>;
4175
+ type InviteRouterQuery = z.infer<typeof InviteRouterQuerySchema>;
4133
4176
  type ListInvitationsQuery = z.infer<typeof ListInvitationsQuerySchema>;
4134
4177
  type InvitationIdParam = z.infer<typeof InvitationIdParamSchema>;
4135
4178
 
@@ -4527,6 +4570,84 @@ declare const OrganizationModelSchema: z.ZodObject<{
4527
4570
  primary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
4528
4571
  bottom: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
4529
4572
  }, z.core.$strip>>;
4573
+ topbar: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4574
+ id: z.ZodString;
4575
+ label: z.ZodString;
4576
+ tooltip: z.ZodOptional<z.ZodString>;
4577
+ icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
4578
+ message: "message";
4579
+ error: "error";
4580
+ agent: "agent";
4581
+ workflow: "workflow";
4582
+ "google-sheets": "google-sheets";
4583
+ dashboard: "dashboard";
4584
+ calendar: "calendar";
4585
+ sales: "sales";
4586
+ crm: "crm";
4587
+ "lead-gen": "lead-gen";
4588
+ projects: "projects";
4589
+ clients: "clients";
4590
+ operations: "operations";
4591
+ monitoring: "monitoring";
4592
+ knowledge: "knowledge";
4593
+ settings: "settings";
4594
+ admin: "admin";
4595
+ archive: "archive";
4596
+ business: "business";
4597
+ finance: "finance";
4598
+ platform: "platform";
4599
+ seo: "seo";
4600
+ playbook: "playbook";
4601
+ strategy: "strategy";
4602
+ reference: "reference";
4603
+ integration: "integration";
4604
+ database: "database";
4605
+ user: "user";
4606
+ team: "team";
4607
+ gmail: "gmail";
4608
+ attio: "attio";
4609
+ overview: "overview";
4610
+ "command-view": "command-view";
4611
+ "command-queue": "command-queue";
4612
+ pipeline: "pipeline";
4613
+ lists: "lists";
4614
+ resources: "resources";
4615
+ approve: "approve";
4616
+ reject: "reject";
4617
+ retry: "retry";
4618
+ edit: "edit";
4619
+ view: "view";
4620
+ launch: "launch";
4621
+ "message-plus": "message-plus";
4622
+ escalate: "escalate";
4623
+ promote: "promote";
4624
+ submit: "submit";
4625
+ email: "email";
4626
+ success: "success";
4627
+ warning: "warning";
4628
+ info: "info";
4629
+ pending: "pending";
4630
+ bolt: "bolt";
4631
+ building: "building";
4632
+ briefcase: "briefcase";
4633
+ apps: "apps";
4634
+ graph: "graph";
4635
+ shield: "shield";
4636
+ users: "users";
4637
+ "chart-bar": "chart-bar";
4638
+ search: "search";
4639
+ }>, z.ZodString]>>;
4640
+ order: z.ZodOptional<z.ZodNumber>;
4641
+ enabled: z.ZodDefault<z.ZodBoolean>;
4642
+ devOnly: z.ZodOptional<z.ZodBoolean>;
4643
+ requiresAdmin: z.ZodOptional<z.ZodBoolean>;
4644
+ targets: z.ZodOptional<z.ZodDefault<z.ZodObject<{
4645
+ systems: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
4646
+ entities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
4647
+ resources: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
4648
+ actions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
4649
+ }, z.core.$strip>>>;
4650
+ }, z.core.$strip>>>;
4530
4651
  }, z.core.$strip>>;
4531
4652
  identity: z.ZodDefault<z.ZodObject<{
4532
4653
  mission: z.ZodDefault<z.ZodString>;
@@ -5195,6 +5316,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
5195
5316
  edit: "edit";
5196
5317
  view: "view";
5197
5318
  launch: "launch";
5319
+ "message-plus": "message-plus";
5198
5320
  escalate: "escalate";
5199
5321
  promote: "promote";
5200
5322
  submit: "submit";
@@ -5415,5 +5537,5 @@ interface AccessModel {
5415
5537
  declare function checkAccess(input: AccessKeyInput, ctx: AccessContext): AccessAnswer;
5416
5538
  declare function createAccessModel(organizationModel: OrganizationModel): AccessModel;
5417
5539
 
5418
- export { AcceptInvitationSchema, AccessActionSchema, AccessKeyInputSchema, AccessKeyObjectSchema, AccessKeySchema, AccessKeys, AssignMembershipRoleRequestSchema, CreateMembershipSchema, CreateOrgRoleRequestSchema, CreateOrganizationSchema, DEFAULT_ACCESS_ACTION, DIAGNOSTIC_VIEW_ACCESS_KEYS, ExternalIdParamSchema, InvitationIdParamSchema, ListInvitationsQuerySchema, ListMembershipsQuerySchema, ListOrganizationsQuerySchema, ListUsersQuerySchema, MEMBERSHIP_STATUS_COLORS, MembershipIdParamSchema, MembershipParamsSchema, MembershipRoleParamsSchema, MembershipRoleSchema, MembershipStatusSchema, MyOrgPermissionsResponseSchema, NormalizedAccessKeySchema, OrgIdParamSchema, OrgRoleParamsSchema, OrgRolesParamsSchema, OrganizationDomainSchema, OrganizationIdParamSchema, OrganizationNameSchema, PERMISSIONS, PERMISSION_CATALOG, PLATFORM_ADMIN_ACCESS_KEY, PLATFORM_ADMIN_ACCESS_KEY_SHORTHAND, SendInvitationSchema, THEME_PRESETS, ThemePresetEnum, UpdateMembershipSchema, UpdateMyProfileSchema, UpdateOrgRoleRequestSchema, UpdateOrganizationSchema, UpdateUserSchema, UserIdParamSchema, accessKeyToString, asSupabaseOrgId, asSupabaseOrgIdOrNull, asWorkOsOrgId, asWorkOsOrgIdOrNull, brandSupabaseOrgId, brandWorkOsOrgId, checkAccess, createAccessModel, deriveAccessKeyCatalog, findAccessCatalogEntry, isPermissionKey, isSupabaseOrgId, isWorkOsOrgId, listAccessKeys, normalizeAccessKey, rolePermissionForAccessKey, transformMembershipToTableRow, transformSupabaseToInvitation, transformSupabaseToMembership };
5419
- export type { AcceptInvitationInput, AcceptInvitationRequest, AcceptanceResult, AccessAction, AccessAnswer, AccessCatalogEntry, AccessCatalogEntrySource, AccessContext, AccessContextMembership, AccessContextProfile, AccessKey, AccessKeyCatalog, AccessKeyInput, AccessKeyObject, AccessModel, AccessReason, AccessRestrictedBy, AdminOrgInvitation, AssignMembershipRoleInput, CreateCredentialParams, CreateMembershipInput, CreateMembershipRequest, CreateOrgRoleInput, CreateOrganizationInput, CreateUserRequest, CredentialMetadata, DeriveAccessKeyCatalogOptions, ExternalIdParam, Invitation, InvitationIdParam, InvitationListQuery, InvitationState, InvitationSummaryResponse, InvitationWithDetails, ListInvitationsParams, ListInvitationsQuery, ListMembershipsParams, ListMembershipsQuery, ListMembershipsResponse, ListOrganizationsQuery, ListUsersParams, ListUsersQuery, ListUsersResponse, MembershipIdParam, MembershipParams, MembershipRole, MembershipRoleParams, MembershipStatus, MembershipTableRow, MembershipWithDetails, MyOrgPermissionsResponse, NormalizedAccessKey, OrgIdParam, OrgMetadata, OrgRoleParams, OrgRolesParams, Organization, OrganizationIdParam, OrganizationMembership, OrganizationSummary, PermissionDescriptor, PermissionKey, SendInvitationInput, SendInvitationRequest, SupabaseOrgId, SupabaseOrgInvitation, SupabaseOrgInvitationInsert, SupabaseOrgInvitationUpdate, SupabaseOrgMembership, SupabaseOrgMembershipInsert, SupabaseOrgMembershipUpdate, ThemePresetName, UpdateMembershipInput, UpdateMembershipRequest, UpdateMyProfileInput, UpdateOrgRoleInput, UpdateOrganizationInput, UpdateUserInput, UpdateUserRequest, User, UserConfig, UserIdParam, UserSummary, WorkOsOrgId };
5540
+ export { AcceptInvitationSchema, AccessActionSchema, AccessKeyInputSchema, AccessKeyObjectSchema, AccessKeySchema, AccessKeys, AssignMembershipRoleRequestSchema, CreateMembershipSchema, CreateOrgRoleRequestSchema, CreateOrganizationSchema, DEFAULT_ACCESS_ACTION, DIAGNOSTIC_VIEW_ACCESS_KEYS, ExternalIdParamSchema, InvitationIdParamSchema, InviteRouterQuerySchema, ListInvitationsQuerySchema, ListMembershipsQuerySchema, ListOrganizationsQuerySchema, ListUsersQuerySchema, MEMBERSHIP_STATUS_COLORS, MembershipIdParamSchema, MembershipParamsSchema, MembershipRoleParamsSchema, MembershipRoleSchema, MembershipStatusSchema, MyOrgPermissionsResponseSchema, NormalizedAccessKeySchema, OrgIdParamSchema, OrgRoleParamsSchema, OrgRolesParamsSchema, OrganizationDomainSchema, OrganizationIdParamSchema, OrganizationNameSchema, PERMISSIONS, PERMISSION_CATALOG, PLATFORM_ADMIN_ACCESS_KEY, PLATFORM_ADMIN_ACCESS_KEY_SHORTHAND, SendInvitationSchema, THEME_PRESETS, ThemePresetEnum, UpdateMembershipSchema, UpdateMyProfileSchema, UpdateOrgRoleRequestSchema, UpdateOrganizationAuthConfigSchema, UpdateOrganizationSchema, UpdateUserSchema, UserIdParamSchema, accessKeyToString, asSupabaseOrgId, asSupabaseOrgIdOrNull, asWorkOsOrgId, asWorkOsOrgIdOrNull, brandSupabaseOrgId, brandWorkOsOrgId, checkAccess, createAccessModel, deriveAccessKeyCatalog, findAccessCatalogEntry, isPermissionKey, isSupabaseOrgId, isWorkOsOrgId, listAccessKeys, normalizeAccessKey, rolePermissionForAccessKey, transformMembershipToTableRow, transformSupabaseToInvitation, transformSupabaseToMembership };
5541
+ export type { AcceptInvitationInput, AcceptInvitationRequest, AcceptanceResult, AccessAction, AccessAnswer, AccessCatalogEntry, AccessCatalogEntrySource, AccessContext, AccessContextMembership, AccessContextProfile, AccessKey, AccessKeyCatalog, AccessKeyInput, AccessKeyObject, AccessModel, AccessReason, AccessRestrictedBy, AdminOrgInvitation, AssignMembershipRoleInput, CreateCredentialParams, CreateMembershipInput, CreateMembershipRequest, CreateOrgRoleInput, CreateOrganizationInput, CreateUserRequest, CredentialMetadata, DeriveAccessKeyCatalogOptions, ExternalIdParam, Invitation, InvitationIdParam, InvitationListQuery, InvitationState, InvitationSummaryResponse, InvitationWithDetails, InviteRouterQuery, ListInvitationsParams, ListInvitationsQuery, ListMembershipsParams, ListMembershipsQuery, ListMembershipsResponse, ListOrganizationsQuery, ListUsersParams, ListUsersQuery, ListUsersResponse, MembershipIdParam, MembershipParams, MembershipRole, MembershipRoleParams, MembershipStatus, MembershipTableRow, MembershipWithDetails, MyOrgPermissionsResponse, NormalizedAccessKey, OrgIdParam, OrgMetadata, OrgRoleParams, OrgRolesParams, Organization, OrganizationIdParam, OrganizationMembership, OrganizationSummary, PermissionDescriptor, PermissionKey, SendInvitationInput, SendInvitationRequest, SupabaseOrgId, SupabaseOrgInvitation, SupabaseOrgInvitationInsert, SupabaseOrgInvitationUpdate, SupabaseOrgMembership, SupabaseOrgMembershipInsert, SupabaseOrgMembershipUpdate, ThemePresetName, UpdateMembershipInput, UpdateMembershipRequest, UpdateMyProfileInput, UpdateOrgRoleInput, UpdateOrganizationAuthConfigInput, UpdateOrganizationInput, UpdateUserInput, UpdateUserRequest, User, UserConfig, UserIdParam, UserSummary, WorkOsOrgId };
@@ -226,6 +226,16 @@ var CreateOrganizationSchema = z.object({
226
226
  var UpdateOrganizationSchema = CreateOrganizationSchema.partial().strict().refine((data) => Object.keys(data).length > 0, {
227
227
  message: "At least one field (name, domainData, or metadata) must be provided"
228
228
  });
229
+ var UpdateOrganizationAuthConfigSchema = z.object({
230
+ appOrigin: z.string().trim().url("App origin must be a valid URL").max(2048, "App origin must be at most 2048 characters").refine((value) => {
231
+ try {
232
+ const url = new URL(value);
233
+ return url.pathname === "/" && url.search === "" && url.hash === "";
234
+ } catch {
235
+ return false;
236
+ }
237
+ }, "App origin must not include a path, query string, or hash")
238
+ }).strict();
229
239
  var ListOrganizationsQuerySchema = z.object({
230
240
  limit: z.coerce.number().int().min(1).max(100).default(20),
231
241
  before: z.string().optional(),
@@ -394,6 +404,9 @@ var SendInvitationSchema = z.object({
394
404
  var AcceptInvitationSchema = z.object({
395
405
  invitation_token: z.string().min(1, "Invitation token is required")
396
406
  }).strict();
407
+ var InviteRouterQuerySchema = z.object({
408
+ invitation_token: z.string().min(1, "Invitation token is required")
409
+ }).strict();
397
410
  var ListInvitationsQuerySchema = z.object({
398
411
  organizationId: z.string().optional(),
399
412
  userId: z.string().optional(),
@@ -636,4 +649,4 @@ function createAccessModel(organizationModel) {
636
649
  };
637
650
  }
638
651
 
639
- export { AcceptInvitationSchema, AccessActionSchema, AccessKeyInputSchema, AccessKeyObjectSchema, AccessKeySchema, AccessKeys, AssignMembershipRoleRequestSchema, CreateMembershipSchema, CreateOrgRoleRequestSchema, CreateOrganizationSchema, DEFAULT_ACCESS_ACTION, DIAGNOSTIC_VIEW_ACCESS_KEYS, ExternalIdParamSchema, InvitationIdParamSchema, ListInvitationsQuerySchema, ListMembershipsQuerySchema, ListOrganizationsQuerySchema, ListUsersQuerySchema, MEMBERSHIP_STATUS_COLORS, MembershipIdParamSchema, MembershipParamsSchema, MembershipRoleParamsSchema, MembershipRoleSchema, MembershipStatusSchema, MyOrgPermissionsResponseSchema, NormalizedAccessKeySchema, OrgIdParamSchema, OrgRoleParamsSchema, OrgRolesParamsSchema, OrganizationDomainSchema, OrganizationIdParamSchema, OrganizationNameSchema, PERMISSIONS, PERMISSION_CATALOG, PLATFORM_ADMIN_ACCESS_KEY, PLATFORM_ADMIN_ACCESS_KEY_SHORTHAND, SendInvitationSchema, THEME_PRESETS, ThemePresetEnum, UpdateMembershipSchema, UpdateMyProfileSchema, UpdateOrgRoleRequestSchema, UpdateOrganizationSchema, UpdateUserSchema, UserIdParamSchema, accessKeyToString, asSupabaseOrgId, asSupabaseOrgIdOrNull, asWorkOsOrgId, asWorkOsOrgIdOrNull, brandSupabaseOrgId, brandWorkOsOrgId, checkAccess, createAccessModel, deriveAccessKeyCatalog, findAccessCatalogEntry, isPermissionKey, isSupabaseOrgId, isWorkOsOrgId, listAccessKeys, normalizeAccessKey, rolePermissionForAccessKey, transformMembershipToTableRow, transformSupabaseToInvitation, transformSupabaseToMembership };
652
+ export { AcceptInvitationSchema, AccessActionSchema, AccessKeyInputSchema, AccessKeyObjectSchema, AccessKeySchema, AccessKeys, AssignMembershipRoleRequestSchema, CreateMembershipSchema, CreateOrgRoleRequestSchema, CreateOrganizationSchema, DEFAULT_ACCESS_ACTION, DIAGNOSTIC_VIEW_ACCESS_KEYS, ExternalIdParamSchema, InvitationIdParamSchema, InviteRouterQuerySchema, ListInvitationsQuerySchema, ListMembershipsQuerySchema, ListOrganizationsQuerySchema, ListUsersQuerySchema, MEMBERSHIP_STATUS_COLORS, MembershipIdParamSchema, MembershipParamsSchema, MembershipRoleParamsSchema, MembershipRoleSchema, MembershipStatusSchema, MyOrgPermissionsResponseSchema, NormalizedAccessKeySchema, OrgIdParamSchema, OrgRoleParamsSchema, OrgRolesParamsSchema, OrganizationDomainSchema, OrganizationIdParamSchema, OrganizationNameSchema, PERMISSIONS, PERMISSION_CATALOG, PLATFORM_ADMIN_ACCESS_KEY, PLATFORM_ADMIN_ACCESS_KEY_SHORTHAND, SendInvitationSchema, THEME_PRESETS, ThemePresetEnum, UpdateMembershipSchema, UpdateMyProfileSchema, UpdateOrgRoleRequestSchema, UpdateOrganizationAuthConfigSchema, UpdateOrganizationSchema, UpdateUserSchema, UserIdParamSchema, accessKeyToString, asSupabaseOrgId, asSupabaseOrgIdOrNull, asWorkOsOrgId, asWorkOsOrgIdOrNull, brandSupabaseOrgId, brandWorkOsOrgId, checkAccess, createAccessModel, deriveAccessKeyCatalog, findAccessCatalogEntry, isPermissionKey, isSupabaseOrgId, isWorkOsOrgId, listAccessKeys, normalizeAccessKey, rolePermissionForAccessKey, transformMembershipToTableRow, transformSupabaseToInvitation, transformSupabaseToMembership };