@lssm/lib.identity-rbac 0.0.0-canary-20251206160926

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 (128) hide show
  1. package/README.md +99 -0
  2. package/dist/contracts/dist/capabilities/openbanking.js +1 -0
  3. package/dist/contracts/dist/client/index.js +1 -0
  4. package/dist/contracts/dist/client/react/feature-render.js +1 -0
  5. package/dist/contracts/dist/client/react/form-render.js +1 -0
  6. package/dist/contracts/dist/client/react/index.js +1 -0
  7. package/dist/contracts/dist/events.js +1 -0
  8. package/dist/contracts/dist/experiments/evaluator.js +1 -0
  9. package/dist/contracts/dist/graphql-federation/dist/index.js +1 -0
  10. package/dist/contracts/dist/index.js +1 -0
  11. package/dist/contracts/dist/install.js +1 -0
  12. package/dist/contracts/dist/integrations/contracts.js +1 -0
  13. package/dist/contracts/dist/integrations/index.js +1 -0
  14. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
  15. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
  16. package/dist/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
  17. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
  18. package/dist/contracts/dist/integrations/openbanking/models.js +1 -0
  19. package/dist/contracts/dist/integrations/openbanking/telemetry.js +1 -0
  20. package/dist/contracts/dist/integrations/providers/elevenlabs.js +1 -0
  21. package/dist/contracts/dist/integrations/providers/gcs-storage.js +1 -0
  22. package/dist/contracts/dist/integrations/providers/gmail.js +1 -0
  23. package/dist/contracts/dist/integrations/providers/google-calendar.js +1 -0
  24. package/dist/contracts/dist/integrations/providers/impls/elevenlabs-voice.js +1 -0
  25. package/dist/contracts/dist/integrations/providers/impls/gcs-storage.js +1 -0
  26. package/dist/contracts/dist/integrations/providers/impls/gmail-inbound.js +1 -0
  27. package/dist/contracts/dist/integrations/providers/impls/gmail-outbound.js +1 -0
  28. package/dist/contracts/dist/integrations/providers/impls/google-calendar.js +1 -0
  29. package/dist/contracts/dist/integrations/providers/impls/index.js +1 -0
  30. package/dist/contracts/dist/integrations/providers/impls/mistral-embedding.js +1 -0
  31. package/dist/contracts/dist/integrations/providers/impls/mistral-llm.js +1 -0
  32. package/dist/contracts/dist/integrations/providers/impls/postmark-email.js +1 -0
  33. package/dist/contracts/dist/integrations/providers/impls/powens-client.js +1 -0
  34. package/dist/contracts/dist/integrations/providers/impls/powens-openbanking.js +1 -0
  35. package/dist/contracts/dist/integrations/providers/impls/provider-factory.js +1 -0
  36. package/dist/contracts/dist/integrations/providers/impls/qdrant-vector.js +1 -0
  37. package/dist/contracts/dist/integrations/providers/impls/stripe-payments.js +1 -0
  38. package/dist/contracts/dist/integrations/providers/impls/twilio-sms.js +1 -0
  39. package/dist/contracts/dist/integrations/providers/index.js +1 -0
  40. package/dist/contracts/dist/integrations/providers/mistral.js +1 -0
  41. package/dist/contracts/dist/integrations/providers/postmark.js +1 -0
  42. package/dist/contracts/dist/integrations/providers/powens.js +1 -0
  43. package/dist/contracts/dist/integrations/providers/qdrant.js +1 -0
  44. package/dist/contracts/dist/integrations/providers/stripe.js +1 -0
  45. package/dist/contracts/dist/integrations/providers/twilio-sms.js +1 -0
  46. package/dist/contracts/dist/integrations/runtime.js +1 -0
  47. package/dist/contracts/dist/integrations/secrets/env-secret-provider.js +1 -0
  48. package/dist/contracts/dist/integrations/secrets/gcp-secret-manager.js +1 -0
  49. package/dist/contracts/dist/integrations/secrets/index.js +1 -0
  50. package/dist/contracts/dist/integrations/secrets/manager.js +1 -0
  51. package/dist/contracts/dist/integrations/secrets/provider.js +1 -0
  52. package/dist/contracts/dist/jsonschema.js +1 -0
  53. package/dist/contracts/dist/knowledge/contracts.js +1 -0
  54. package/dist/contracts/dist/knowledge/index.js +1 -0
  55. package/dist/contracts/dist/knowledge/spaces/email-threads.js +1 -0
  56. package/dist/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
  57. package/dist/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
  58. package/dist/contracts/dist/knowledge/spaces/index.js +1 -0
  59. package/dist/contracts/dist/knowledge/spaces/product-canon.js +1 -0
  60. package/dist/contracts/dist/knowledge/spaces/support-faq.js +1 -0
  61. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
  62. package/dist/contracts/dist/onboarding-base.js +1 -0
  63. package/dist/contracts/dist/ownership.js +1 -0
  64. package/dist/contracts/dist/presentations.js +1 -0
  65. package/dist/contracts/dist/presentations.v2.js +1 -0
  66. package/dist/contracts/dist/prompt.js +1 -0
  67. package/dist/contracts/dist/promptRegistry.js +1 -0
  68. package/dist/contracts/dist/regenerator/index.js +1 -0
  69. package/dist/contracts/dist/regenerator/service.js +1 -0
  70. package/dist/contracts/dist/registry.js +1 -0
  71. package/dist/contracts/dist/resources.js +1 -0
  72. package/dist/contracts/dist/schema/dist/EnumType.js +1 -0
  73. package/dist/contracts/dist/schema/dist/FieldType.js +1 -0
  74. package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
  75. package/dist/contracts/dist/schema/dist/SchemaModel.js +1 -0
  76. package/dist/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  77. package/dist/contracts/dist/schema/dist/entity/index.js +1 -0
  78. package/dist/contracts/dist/schema/dist/entity/types.js +1 -0
  79. package/dist/contracts/dist/schema/dist/index.js +1 -0
  80. package/dist/contracts/dist/server/graphql-pothos.js +1 -0
  81. package/dist/contracts/dist/server/graphql-schema-export.js +1 -0
  82. package/dist/contracts/dist/server/index.js +1 -0
  83. package/dist/contracts/dist/server/provider-mcp.js +1 -0
  84. package/dist/contracts/dist/server/rest-elysia.js +1 -0
  85. package/dist/contracts/dist/server/rest-express.js +1 -0
  86. package/dist/contracts/dist/server/rest-generic.js +1 -0
  87. package/dist/contracts/dist/server/rest-next-app.js +1 -0
  88. package/dist/contracts/dist/server/rest-next-pages.js +1 -0
  89. package/dist/contracts/dist/spec.js +1 -0
  90. package/dist/contracts/dist/telemetry/index.js +1 -0
  91. package/dist/contracts/dist/telemetry/tracker.js +1 -0
  92. package/dist/contracts/dist/tests/index.js +1 -0
  93. package/dist/contracts/dist/tests/runner.js +1 -0
  94. package/dist/contracts/dist/workflow/index.js +1 -0
  95. package/dist/contracts/dist/workflow/runner.js +1 -0
  96. package/dist/contracts/index.d.ts +4 -0
  97. package/dist/contracts/index.js +1 -0
  98. package/dist/contracts/organization.d.ts +895 -0
  99. package/dist/contracts/organization.js +1 -0
  100. package/dist/contracts/rbac.d.ts +611 -0
  101. package/dist/contracts/rbac.js +1 -0
  102. package/dist/contracts/user.d.ts +610 -0
  103. package/dist/contracts/user.js +1 -0
  104. package/dist/entities/index.d.ts +176 -0
  105. package/dist/entities/index.js +1 -0
  106. package/dist/entities/organization.d.ts +86 -0
  107. package/dist/entities/organization.js +1 -0
  108. package/dist/entities/rbac.d.ts +87 -0
  109. package/dist/entities/rbac.js +1 -0
  110. package/dist/entities/user.d.ts +87 -0
  111. package/dist/entities/user.js +1 -0
  112. package/dist/events.d.ts +689 -0
  113. package/dist/events.js +1 -0
  114. package/dist/index.d.ts +10 -0
  115. package/dist/index.js +1 -0
  116. package/dist/policies/engine.d.ts +132 -0
  117. package/dist/policies/engine.js +1 -0
  118. package/dist/policies/index.d.ts +2 -0
  119. package/dist/policies/index.js +1 -0
  120. package/dist/schema/dist/EnumType.js +1 -0
  121. package/dist/schema/dist/FieldType.js +1 -0
  122. package/dist/schema/dist/ScalarTypeEnum.js +1 -0
  123. package/dist/schema/dist/SchemaModel.js +1 -0
  124. package/dist/schema/dist/entity/defineEntity.js +1 -0
  125. package/dist/schema/dist/entity/index.js +1 -0
  126. package/dist/schema/dist/entity/types.js +1 -0
  127. package/dist/schema/dist/index.js +1 -0
  128. package/package.json +52 -0
@@ -0,0 +1,176 @@
1
+ import { AccountEntity, SessionEntity, UserEntity, VerificationEntity } from "./user.js";
2
+ import { InvitationEntity, MemberEntity, OrganizationEntity, OrganizationTypeEnum, TeamEntity, TeamMemberEntity } from "./organization.js";
3
+ import { ApiKeyEntity, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity } from "./rbac.js";
4
+ import * as _lssm_lib_schema141 from "@lssm/lib.schema";
5
+ import { ModuleSchemaContribution } from "@lssm/lib.schema";
6
+
7
+ //#region src/entities/index.d.ts
8
+ /**
9
+ * All identity-rbac entities for schema composition.
10
+ */
11
+ declare const identityRbacEntities: (_lssm_lib_schema141.EntitySpec<{
12
+ id: _lssm_lib_schema141.EntityScalarField;
13
+ email: _lssm_lib_schema141.EntityScalarField;
14
+ emailVerified: _lssm_lib_schema141.EntityScalarField;
15
+ name: _lssm_lib_schema141.EntityScalarField;
16
+ firstName: _lssm_lib_schema141.EntityScalarField;
17
+ lastName: _lssm_lib_schema141.EntityScalarField;
18
+ locale: _lssm_lib_schema141.EntityScalarField;
19
+ timezone: _lssm_lib_schema141.EntityScalarField;
20
+ imageUrl: _lssm_lib_schema141.EntityScalarField;
21
+ image: _lssm_lib_schema141.EntityScalarField;
22
+ metadata: _lssm_lib_schema141.EntityScalarField;
23
+ onboardingCompleted: _lssm_lib_schema141.EntityScalarField;
24
+ onboardingStep: _lssm_lib_schema141.EntityScalarField;
25
+ whitelistedAt: _lssm_lib_schema141.EntityScalarField;
26
+ role: _lssm_lib_schema141.EntityScalarField;
27
+ banned: _lssm_lib_schema141.EntityScalarField;
28
+ banReason: _lssm_lib_schema141.EntityScalarField;
29
+ banExpires: _lssm_lib_schema141.EntityScalarField;
30
+ phoneNumber: _lssm_lib_schema141.EntityScalarField;
31
+ phoneNumberVerified: _lssm_lib_schema141.EntityScalarField;
32
+ createdAt: _lssm_lib_schema141.EntityScalarField;
33
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
34
+ sessions: _lssm_lib_schema141.EntityRelationField;
35
+ accounts: _lssm_lib_schema141.EntityRelationField;
36
+ memberships: _lssm_lib_schema141.EntityRelationField;
37
+ invitations: _lssm_lib_schema141.EntityRelationField;
38
+ teamMemberships: _lssm_lib_schema141.EntityRelationField;
39
+ policyBindings: _lssm_lib_schema141.EntityRelationField;
40
+ apiKeys: _lssm_lib_schema141.EntityRelationField;
41
+ passkeys: _lssm_lib_schema141.EntityRelationField;
42
+ }> | _lssm_lib_schema141.EntitySpec<{
43
+ id: _lssm_lib_schema141.EntityScalarField;
44
+ userId: _lssm_lib_schema141.EntityScalarField;
45
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
46
+ token: _lssm_lib_schema141.EntityScalarField;
47
+ ipAddress: _lssm_lib_schema141.EntityScalarField;
48
+ userAgent: _lssm_lib_schema141.EntityScalarField;
49
+ impersonatedBy: _lssm_lib_schema141.EntityScalarField;
50
+ activeOrganizationId: _lssm_lib_schema141.EntityScalarField;
51
+ activeTeamId: _lssm_lib_schema141.EntityScalarField;
52
+ createdAt: _lssm_lib_schema141.EntityScalarField;
53
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
54
+ user: _lssm_lib_schema141.EntityRelationField;
55
+ }> | _lssm_lib_schema141.EntitySpec<{
56
+ id: _lssm_lib_schema141.EntityScalarField;
57
+ accountId: _lssm_lib_schema141.EntityScalarField;
58
+ providerId: _lssm_lib_schema141.EntityScalarField;
59
+ userId: _lssm_lib_schema141.EntityScalarField;
60
+ accessToken: _lssm_lib_schema141.EntityScalarField;
61
+ refreshToken: _lssm_lib_schema141.EntityScalarField;
62
+ idToken: _lssm_lib_schema141.EntityScalarField;
63
+ accessTokenExpiresAt: _lssm_lib_schema141.EntityScalarField;
64
+ refreshTokenExpiresAt: _lssm_lib_schema141.EntityScalarField;
65
+ scope: _lssm_lib_schema141.EntityScalarField;
66
+ password: _lssm_lib_schema141.EntityScalarField;
67
+ createdAt: _lssm_lib_schema141.EntityScalarField;
68
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
69
+ user: _lssm_lib_schema141.EntityRelationField;
70
+ }> | _lssm_lib_schema141.EntitySpec<{
71
+ id: _lssm_lib_schema141.EntityScalarField;
72
+ identifier: _lssm_lib_schema141.EntityScalarField;
73
+ value: _lssm_lib_schema141.EntityScalarField;
74
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
75
+ createdAt: _lssm_lib_schema141.EntityScalarField;
76
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
77
+ }> | _lssm_lib_schema141.EntitySpec<{
78
+ id: _lssm_lib_schema141.EntityScalarField;
79
+ userId: _lssm_lib_schema141.EntityScalarField;
80
+ organizationId: _lssm_lib_schema141.EntityScalarField;
81
+ role: _lssm_lib_schema141.EntityScalarField;
82
+ createdAt: _lssm_lib_schema141.EntityScalarField;
83
+ user: _lssm_lib_schema141.EntityRelationField;
84
+ organization: _lssm_lib_schema141.EntityRelationField;
85
+ }> | _lssm_lib_schema141.EntitySpec<{
86
+ id: _lssm_lib_schema141.EntityScalarField;
87
+ organizationId: _lssm_lib_schema141.EntityScalarField;
88
+ email: _lssm_lib_schema141.EntityScalarField;
89
+ role: _lssm_lib_schema141.EntityScalarField;
90
+ status: _lssm_lib_schema141.EntityScalarField;
91
+ acceptedAt: _lssm_lib_schema141.EntityScalarField;
92
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
93
+ inviterId: _lssm_lib_schema141.EntityScalarField;
94
+ teamId: _lssm_lib_schema141.EntityScalarField;
95
+ createdAt: _lssm_lib_schema141.EntityScalarField;
96
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
97
+ organization: _lssm_lib_schema141.EntityRelationField;
98
+ inviter: _lssm_lib_schema141.EntityRelationField;
99
+ team: _lssm_lib_schema141.EntityRelationField;
100
+ }> | _lssm_lib_schema141.EntitySpec<{
101
+ id: _lssm_lib_schema141.EntityScalarField;
102
+ name: _lssm_lib_schema141.EntityScalarField;
103
+ organizationId: _lssm_lib_schema141.EntityScalarField;
104
+ createdAt: _lssm_lib_schema141.EntityScalarField;
105
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
106
+ organization: _lssm_lib_schema141.EntityRelationField;
107
+ members: _lssm_lib_schema141.EntityRelationField;
108
+ invitations: _lssm_lib_schema141.EntityRelationField;
109
+ }> | _lssm_lib_schema141.EntitySpec<{
110
+ id: _lssm_lib_schema141.EntityScalarField;
111
+ teamId: _lssm_lib_schema141.EntityScalarField;
112
+ userId: _lssm_lib_schema141.EntityScalarField;
113
+ createdAt: _lssm_lib_schema141.EntityScalarField;
114
+ team: _lssm_lib_schema141.EntityRelationField;
115
+ user: _lssm_lib_schema141.EntityRelationField;
116
+ }> | _lssm_lib_schema141.EntitySpec<{
117
+ id: _lssm_lib_schema141.EntityScalarField;
118
+ name: _lssm_lib_schema141.EntityScalarField;
119
+ description: _lssm_lib_schema141.EntityScalarField;
120
+ createdAt: _lssm_lib_schema141.EntityScalarField;
121
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
122
+ }> | _lssm_lib_schema141.EntitySpec<{
123
+ id: _lssm_lib_schema141.EntityScalarField;
124
+ roleId: _lssm_lib_schema141.EntityScalarField;
125
+ targetType: _lssm_lib_schema141.EntityScalarField;
126
+ targetId: _lssm_lib_schema141.EntityScalarField;
127
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
128
+ createdAt: _lssm_lib_schema141.EntityScalarField;
129
+ userId: _lssm_lib_schema141.EntityScalarField;
130
+ organizationId: _lssm_lib_schema141.EntityScalarField;
131
+ role: _lssm_lib_schema141.EntityRelationField;
132
+ user: _lssm_lib_schema141.EntityRelationField;
133
+ organization: _lssm_lib_schema141.EntityRelationField;
134
+ }> | _lssm_lib_schema141.EntitySpec<{
135
+ id: _lssm_lib_schema141.EntityScalarField;
136
+ name: _lssm_lib_schema141.EntityScalarField;
137
+ start: _lssm_lib_schema141.EntityScalarField;
138
+ prefix: _lssm_lib_schema141.EntityScalarField;
139
+ key: _lssm_lib_schema141.EntityScalarField;
140
+ userId: _lssm_lib_schema141.EntityScalarField;
141
+ refillInterval: _lssm_lib_schema141.EntityScalarField;
142
+ refillAmount: _lssm_lib_schema141.EntityScalarField;
143
+ lastRefillAt: _lssm_lib_schema141.EntityScalarField;
144
+ remaining: _lssm_lib_schema141.EntityScalarField;
145
+ requestCount: _lssm_lib_schema141.EntityScalarField;
146
+ lastRequest: _lssm_lib_schema141.EntityScalarField;
147
+ enabled: _lssm_lib_schema141.EntityScalarField;
148
+ rateLimitEnabled: _lssm_lib_schema141.EntityScalarField;
149
+ rateLimitTimeWindow: _lssm_lib_schema141.EntityScalarField;
150
+ rateLimitMax: _lssm_lib_schema141.EntityScalarField;
151
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
152
+ permissions: _lssm_lib_schema141.EntityScalarField;
153
+ metadata: _lssm_lib_schema141.EntityScalarField;
154
+ createdAt: _lssm_lib_schema141.EntityScalarField;
155
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
156
+ user: _lssm_lib_schema141.EntityRelationField;
157
+ }> | _lssm_lib_schema141.EntitySpec<{
158
+ id: _lssm_lib_schema141.EntityScalarField;
159
+ name: _lssm_lib_schema141.EntityScalarField;
160
+ publicKey: _lssm_lib_schema141.EntityScalarField;
161
+ userId: _lssm_lib_schema141.EntityScalarField;
162
+ credentialID: _lssm_lib_schema141.EntityScalarField;
163
+ counter: _lssm_lib_schema141.EntityScalarField;
164
+ deviceType: _lssm_lib_schema141.EntityScalarField;
165
+ backedUp: _lssm_lib_schema141.EntityScalarField;
166
+ transports: _lssm_lib_schema141.EntityScalarField;
167
+ aaguid: _lssm_lib_schema141.EntityScalarField;
168
+ createdAt: _lssm_lib_schema141.EntityScalarField;
169
+ user: _lssm_lib_schema141.EntityRelationField;
170
+ }>)[];
171
+ /**
172
+ * Module schema contribution for identity-rbac.
173
+ */
174
+ declare const identityRbacSchemaContribution: ModuleSchemaContribution;
175
+ //#endregion
176
+ export { AccountEntity, ApiKeyEntity, InvitationEntity, MemberEntity, OrganizationEntity, OrganizationTypeEnum, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity, SessionEntity, TeamEntity, TeamMemberEntity, UserEntity, VerificationEntity, identityRbacEntities, identityRbacSchemaContribution };
@@ -0,0 +1 @@
1
+ import{AccountEntity as e,SessionEntity as t,UserEntity as n,VerificationEntity as r}from"./user.js";import{InvitationEntity as i,MemberEntity as a,OrganizationEntity as o,OrganizationTypeEnum as s,TeamEntity as c,TeamMemberEntity as l}from"./organization.js";import{ApiKeyEntity as u,PasskeyEntity as d,PermissionEntity as f,PolicyBindingEntity as p,RoleEntity as m}from"./rbac.js";const h=[n,t,e,r,o,a,i,c,l,m,f,p,u,d],g={moduleId:`@lssm/lib.identity-rbac`,entities:h,enums:[s]};export{e as AccountEntity,u as ApiKeyEntity,i as InvitationEntity,a as MemberEntity,o as OrganizationEntity,s as OrganizationTypeEnum,d as PasskeyEntity,f as PermissionEntity,p as PolicyBindingEntity,m as RoleEntity,t as SessionEntity,c as TeamEntity,l as TeamMemberEntity,n as UserEntity,r as VerificationEntity,h as identityRbacEntities,g as identityRbacSchemaContribution};
@@ -0,0 +1,86 @@
1
+ import * as _lssm_lib_schema417 from "@lssm/lib.schema";
2
+
3
+ //#region src/entities/organization.d.ts
4
+ /**
5
+ * Organization type enum.
6
+ */
7
+ declare const OrganizationTypeEnum: _lssm_lib_schema417.EntityEnumDef;
8
+ /**
9
+ * Organization entity - tenant/company grouping.
10
+ */
11
+ declare const OrganizationEntity: _lssm_lib_schema417.EntitySpec<{
12
+ id: _lssm_lib_schema417.EntityScalarField;
13
+ name: _lssm_lib_schema417.EntityScalarField;
14
+ slug: _lssm_lib_schema417.EntityScalarField;
15
+ logo: _lssm_lib_schema417.EntityScalarField;
16
+ description: _lssm_lib_schema417.EntityScalarField;
17
+ metadata: _lssm_lib_schema417.EntityScalarField;
18
+ type: _lssm_lib_schema417.EntityEnumField;
19
+ onboardingCompleted: _lssm_lib_schema417.EntityScalarField;
20
+ onboardingStep: _lssm_lib_schema417.EntityScalarField;
21
+ referralCode: _lssm_lib_schema417.EntityScalarField;
22
+ referredBy: _lssm_lib_schema417.EntityScalarField;
23
+ createdAt: _lssm_lib_schema417.EntityScalarField;
24
+ updatedAt: _lssm_lib_schema417.EntityScalarField;
25
+ members: _lssm_lib_schema417.EntityRelationField;
26
+ invitations: _lssm_lib_schema417.EntityRelationField;
27
+ teams: _lssm_lib_schema417.EntityRelationField;
28
+ policyBindings: _lssm_lib_schema417.EntityRelationField;
29
+ }>;
30
+ /**
31
+ * Member entity - user membership in an organization.
32
+ */
33
+ declare const MemberEntity: _lssm_lib_schema417.EntitySpec<{
34
+ id: _lssm_lib_schema417.EntityScalarField;
35
+ userId: _lssm_lib_schema417.EntityScalarField;
36
+ organizationId: _lssm_lib_schema417.EntityScalarField;
37
+ role: _lssm_lib_schema417.EntityScalarField;
38
+ createdAt: _lssm_lib_schema417.EntityScalarField;
39
+ user: _lssm_lib_schema417.EntityRelationField;
40
+ organization: _lssm_lib_schema417.EntityRelationField;
41
+ }>;
42
+ /**
43
+ * Invitation entity - pending organization invites.
44
+ */
45
+ declare const InvitationEntity: _lssm_lib_schema417.EntitySpec<{
46
+ id: _lssm_lib_schema417.EntityScalarField;
47
+ organizationId: _lssm_lib_schema417.EntityScalarField;
48
+ email: _lssm_lib_schema417.EntityScalarField;
49
+ role: _lssm_lib_schema417.EntityScalarField;
50
+ status: _lssm_lib_schema417.EntityScalarField;
51
+ acceptedAt: _lssm_lib_schema417.EntityScalarField;
52
+ expiresAt: _lssm_lib_schema417.EntityScalarField;
53
+ inviterId: _lssm_lib_schema417.EntityScalarField;
54
+ teamId: _lssm_lib_schema417.EntityScalarField;
55
+ createdAt: _lssm_lib_schema417.EntityScalarField;
56
+ updatedAt: _lssm_lib_schema417.EntityScalarField;
57
+ organization: _lssm_lib_schema417.EntityRelationField;
58
+ inviter: _lssm_lib_schema417.EntityRelationField;
59
+ team: _lssm_lib_schema417.EntityRelationField;
60
+ }>;
61
+ /**
62
+ * Team entity - team within an organization.
63
+ */
64
+ declare const TeamEntity: _lssm_lib_schema417.EntitySpec<{
65
+ id: _lssm_lib_schema417.EntityScalarField;
66
+ name: _lssm_lib_schema417.EntityScalarField;
67
+ organizationId: _lssm_lib_schema417.EntityScalarField;
68
+ createdAt: _lssm_lib_schema417.EntityScalarField;
69
+ updatedAt: _lssm_lib_schema417.EntityScalarField;
70
+ organization: _lssm_lib_schema417.EntityRelationField;
71
+ members: _lssm_lib_schema417.EntityRelationField;
72
+ invitations: _lssm_lib_schema417.EntityRelationField;
73
+ }>;
74
+ /**
75
+ * TeamMember entity - user's team membership.
76
+ */
77
+ declare const TeamMemberEntity: _lssm_lib_schema417.EntitySpec<{
78
+ id: _lssm_lib_schema417.EntityScalarField;
79
+ teamId: _lssm_lib_schema417.EntityScalarField;
80
+ userId: _lssm_lib_schema417.EntityScalarField;
81
+ createdAt: _lssm_lib_schema417.EntityScalarField;
82
+ team: _lssm_lib_schema417.EntityRelationField;
83
+ user: _lssm_lib_schema417.EntityRelationField;
84
+ }>;
85
+ //#endregion
86
+ export { InvitationEntity, MemberEntity, OrganizationEntity, OrganizationTypeEnum, TeamEntity, TeamMemberEntity };
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"../schema/dist/entity/defineEntity.js";import"../schema/dist/index.js";const i=t({name:`OrganizationType`,values:[`PLATFORM_ADMIN`,`CONTRACT_SPEC_CUSTOMER`],schema:`lssm_sigil`,description:`Type of organization in the platform.`}),a=r({name:`Organization`,description:`An organization is a tenant boundary grouping users.`,schema:`lssm_sigil`,map:`organization`,fields:{id:n.id({description:`Unique organization identifier`}),name:n.string({description:`Organization display name`}),slug:n.string({isOptional:!0,isUnique:!0,description:`URL-friendly identifier`}),logo:n.url({isOptional:!0,description:`Organization logo URL`}),description:n.string({isOptional:!0,description:`Organization description`}),metadata:n.json({isOptional:!0,description:`Arbitrary organization metadata`}),type:n.enum(`OrganizationType`,{description:`Organization type`}),onboardingCompleted:n.boolean({default:!1}),onboardingStep:n.string({isOptional:!0}),referralCode:n.string({isOptional:!0,isUnique:!0,description:`Unique referral code`}),referredBy:n.string({isOptional:!0,description:`ID of referring user`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),members:n.hasMany(`Member`),invitations:n.hasMany(`Invitation`),teams:n.hasMany(`Team`),policyBindings:n.hasMany(`PolicyBinding`)},enums:[i]}),o=r({name:`Member`,description:`Membership of a user in an organization with a role.`,schema:`lssm_sigil`,map:`member`,fields:{id:n.id(),userId:n.foreignKey(),organizationId:n.foreignKey(),role:n.string({description:`Role in organization (owner, admin, member)`}),createdAt:n.createdAt(),user:n.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`}),organization:n.belongsTo(`Organization`,[`organizationId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`userId`,`organizationId`])]}),s=r({name:`Invitation`,description:`An invitation to join an organization.`,schema:`lssm_sigil`,map:`invitation`,fields:{id:n.id(),organizationId:n.foreignKey(),email:n.email({description:`Invited email address`}),role:n.string({isOptional:!0,description:`Role to assign on acceptance`}),status:n.string({default:`"pending"`,description:`Invitation status`}),acceptedAt:n.dateTime({isOptional:!0}),expiresAt:n.dateTime({isOptional:!0}),inviterId:n.foreignKey({description:`User who sent the invitation`}),teamId:n.string({isOptional:!0}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),organization:n.belongsTo(`Organization`,[`organizationId`],[`id`],{onDelete:`Cascade`}),inviter:n.belongsTo(`User`,[`inviterId`],[`id`],{onDelete:`Cascade`}),team:n.belongsTo(`Team`,[`teamId`],[`id`],{onDelete:`Cascade`})}}),c=r({name:`Team`,description:`Team within an organization.`,schema:`lssm_sigil`,map:`team`,fields:{id:n.id(),name:n.string({description:`Team name`}),organizationId:n.foreignKey(),createdAt:n.createdAt(),updatedAt:n.updatedAt(),organization:n.belongsTo(`Organization`,[`organizationId`],[`id`],{onDelete:`Cascade`}),members:n.hasMany(`TeamMember`),invitations:n.hasMany(`Invitation`)}}),l=r({name:`TeamMember`,description:`Team membership for a user.`,schema:`lssm_sigil`,map:`team_member`,fields:{id:n.id(),teamId:n.foreignKey(),userId:n.foreignKey(),createdAt:n.createdAt(),team:n.belongsTo(`Team`,[`teamId`],[`id`],{onDelete:`Cascade`}),user:n.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`})}});export{s as InvitationEntity,o as MemberEntity,a as OrganizationEntity,i as OrganizationTypeEnum,c as TeamEntity,l as TeamMemberEntity};
@@ -0,0 +1,87 @@
1
+ import * as _lssm_lib_schema858 from "@lssm/lib.schema";
2
+
3
+ //#region src/entities/rbac.d.ts
4
+ /**
5
+ * Role entity - named set of permissions.
6
+ */
7
+ declare const RoleEntity: _lssm_lib_schema858.EntitySpec<{
8
+ id: _lssm_lib_schema858.EntityScalarField;
9
+ name: _lssm_lib_schema858.EntityScalarField;
10
+ description: _lssm_lib_schema858.EntityScalarField;
11
+ permissions: _lssm_lib_schema858.EntityScalarField;
12
+ createdAt: _lssm_lib_schema858.EntityScalarField;
13
+ updatedAt: _lssm_lib_schema858.EntityScalarField;
14
+ policyBindings: _lssm_lib_schema858.EntityRelationField;
15
+ }>;
16
+ /**
17
+ * Permission entity - atomic access right.
18
+ */
19
+ declare const PermissionEntity: _lssm_lib_schema858.EntitySpec<{
20
+ id: _lssm_lib_schema858.EntityScalarField;
21
+ name: _lssm_lib_schema858.EntityScalarField;
22
+ description: _lssm_lib_schema858.EntityScalarField;
23
+ createdAt: _lssm_lib_schema858.EntityScalarField;
24
+ updatedAt: _lssm_lib_schema858.EntityScalarField;
25
+ }>;
26
+ /**
27
+ * PolicyBinding entity - binds roles to principals.
28
+ */
29
+ declare const PolicyBindingEntity: _lssm_lib_schema858.EntitySpec<{
30
+ id: _lssm_lib_schema858.EntityScalarField;
31
+ roleId: _lssm_lib_schema858.EntityScalarField;
32
+ targetType: _lssm_lib_schema858.EntityScalarField;
33
+ targetId: _lssm_lib_schema858.EntityScalarField;
34
+ expiresAt: _lssm_lib_schema858.EntityScalarField;
35
+ createdAt: _lssm_lib_schema858.EntityScalarField;
36
+ userId: _lssm_lib_schema858.EntityScalarField;
37
+ organizationId: _lssm_lib_schema858.EntityScalarField;
38
+ role: _lssm_lib_schema858.EntityRelationField;
39
+ user: _lssm_lib_schema858.EntityRelationField;
40
+ organization: _lssm_lib_schema858.EntityRelationField;
41
+ }>;
42
+ /**
43
+ * ApiKey entity - API keys for programmatic access.
44
+ */
45
+ declare const ApiKeyEntity: _lssm_lib_schema858.EntitySpec<{
46
+ id: _lssm_lib_schema858.EntityScalarField;
47
+ name: _lssm_lib_schema858.EntityScalarField;
48
+ start: _lssm_lib_schema858.EntityScalarField;
49
+ prefix: _lssm_lib_schema858.EntityScalarField;
50
+ key: _lssm_lib_schema858.EntityScalarField;
51
+ userId: _lssm_lib_schema858.EntityScalarField;
52
+ refillInterval: _lssm_lib_schema858.EntityScalarField;
53
+ refillAmount: _lssm_lib_schema858.EntityScalarField;
54
+ lastRefillAt: _lssm_lib_schema858.EntityScalarField;
55
+ remaining: _lssm_lib_schema858.EntityScalarField;
56
+ requestCount: _lssm_lib_schema858.EntityScalarField;
57
+ lastRequest: _lssm_lib_schema858.EntityScalarField;
58
+ enabled: _lssm_lib_schema858.EntityScalarField;
59
+ rateLimitEnabled: _lssm_lib_schema858.EntityScalarField;
60
+ rateLimitTimeWindow: _lssm_lib_schema858.EntityScalarField;
61
+ rateLimitMax: _lssm_lib_schema858.EntityScalarField;
62
+ expiresAt: _lssm_lib_schema858.EntityScalarField;
63
+ permissions: _lssm_lib_schema858.EntityScalarField;
64
+ metadata: _lssm_lib_schema858.EntityScalarField;
65
+ createdAt: _lssm_lib_schema858.EntityScalarField;
66
+ updatedAt: _lssm_lib_schema858.EntityScalarField;
67
+ user: _lssm_lib_schema858.EntityRelationField;
68
+ }>;
69
+ /**
70
+ * Passkey entity - WebAuthn passkeys.
71
+ */
72
+ declare const PasskeyEntity: _lssm_lib_schema858.EntitySpec<{
73
+ id: _lssm_lib_schema858.EntityScalarField;
74
+ name: _lssm_lib_schema858.EntityScalarField;
75
+ publicKey: _lssm_lib_schema858.EntityScalarField;
76
+ userId: _lssm_lib_schema858.EntityScalarField;
77
+ credentialID: _lssm_lib_schema858.EntityScalarField;
78
+ counter: _lssm_lib_schema858.EntityScalarField;
79
+ deviceType: _lssm_lib_schema858.EntityScalarField;
80
+ backedUp: _lssm_lib_schema858.EntityScalarField;
81
+ transports: _lssm_lib_schema858.EntityScalarField;
82
+ aaguid: _lssm_lib_schema858.EntityScalarField;
83
+ createdAt: _lssm_lib_schema858.EntityScalarField;
84
+ user: _lssm_lib_schema858.EntityRelationField;
85
+ }>;
86
+ //#endregion
87
+ export { ApiKeyEntity, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity };
@@ -0,0 +1 @@
1
+ import{i as e,r as t,t as n}from"../schema/dist/entity/defineEntity.js";import"../schema/dist/index.js";const r=n({name:`Role`,description:`A role defines a named set of permissions.`,schema:`lssm_sigil`,map:`role`,fields:{id:t.id(),name:t.string({isUnique:!0,description:`Unique role name`}),description:t.string({isOptional:!0,description:`Role description`}),permissions:t.string({isArray:!0,description:`Array of permission names`}),createdAt:t.createdAt(),updatedAt:t.updatedAt(),policyBindings:t.hasMany(`PolicyBinding`)}}),i=n({name:`Permission`,description:`A permission represents an atomic access right.`,schema:`lssm_sigil`,map:`permission`,fields:{id:t.id(),name:t.string({isUnique:!0,description:`Unique permission name`}),description:t.string({isOptional:!0,description:`Permission description`}),createdAt:t.createdAt(),updatedAt:t.updatedAt()}}),a=n({name:`PolicyBinding`,description:`Binds roles to principals (users or organizations).`,schema:`lssm_sigil`,map:`policy_binding`,fields:{id:t.id(),roleId:t.foreignKey(),targetType:t.string({description:`"user" or "organization"`}),targetId:t.string({description:`ID of User or Organization`}),expiresAt:t.dateTime({isOptional:!0,description:`When binding expires`}),createdAt:t.createdAt(),userId:t.string({isOptional:!0}),organizationId:t.string({isOptional:!0}),role:t.belongsTo(`Role`,[`roleId`],[`id`],{onDelete:`Cascade`}),user:t.belongsTo(`User`,[`userId`],[`id`]),organization:t.belongsTo(`Organization`,[`organizationId`],[`id`])},indexes:[e.on([`targetType`,`targetId`])]}),o=n({name:`ApiKey`,description:`API keys for programmatic access.`,schema:`lssm_sigil`,map:`api_key`,fields:{id:t.id(),name:t.string({description:`API key name`}),start:t.string({description:`Starting characters for identification`}),prefix:t.string({description:`API key prefix`}),key:t.string({description:`Hashed API key`}),userId:t.foreignKey(),refillInterval:t.int({description:`Refill interval in ms`}),refillAmount:t.int({description:`Amount to refill`}),lastRefillAt:t.dateTime(),remaining:t.int({description:`Remaining requests`}),requestCount:t.int({description:`Total requests made`}),lastRequest:t.dateTime(),enabled:t.boolean({default:!0}),rateLimitEnabled:t.boolean({default:!0}),rateLimitTimeWindow:t.int({description:`Rate limit window in ms`}),rateLimitMax:t.int({description:`Max requests in window`}),expiresAt:t.dateTime(),permissions:t.string({isArray:!0}),metadata:t.json({isOptional:!0}),createdAt:t.createdAt(),updatedAt:t.updatedAt(),user:t.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`})}}),s=n({name:`Passkey`,description:`WebAuthn passkeys for passwordless authentication.`,schema:`lssm_sigil`,map:`passkey`,fields:{id:t.id(),name:t.string({description:`Passkey name`}),publicKey:t.string({description:`Public key`}),userId:t.foreignKey(),credentialID:t.string({description:`Credential ID`}),counter:t.int({description:`Counter`}),deviceType:t.string({description:`Device type`}),backedUp:t.boolean({description:`Whether passkey is backed up`}),transports:t.string({description:`Transports`}),aaguid:t.string({description:`Authenticator GUID`}),createdAt:t.createdAt(),user:t.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`})}});export{o as ApiKeyEntity,s as PasskeyEntity,i as PermissionEntity,a as PolicyBindingEntity,r as RoleEntity};
@@ -0,0 +1,87 @@
1
+ import * as _lssm_lib_schema475 from "@lssm/lib.schema";
2
+
3
+ //#region src/entities/user.d.ts
4
+ /**
5
+ * User entity - core user profile and authentication.
6
+ */
7
+ declare const UserEntity: _lssm_lib_schema475.EntitySpec<{
8
+ id: _lssm_lib_schema475.EntityScalarField;
9
+ email: _lssm_lib_schema475.EntityScalarField;
10
+ emailVerified: _lssm_lib_schema475.EntityScalarField;
11
+ name: _lssm_lib_schema475.EntityScalarField;
12
+ firstName: _lssm_lib_schema475.EntityScalarField;
13
+ lastName: _lssm_lib_schema475.EntityScalarField;
14
+ locale: _lssm_lib_schema475.EntityScalarField;
15
+ timezone: _lssm_lib_schema475.EntityScalarField;
16
+ imageUrl: _lssm_lib_schema475.EntityScalarField;
17
+ image: _lssm_lib_schema475.EntityScalarField;
18
+ metadata: _lssm_lib_schema475.EntityScalarField;
19
+ onboardingCompleted: _lssm_lib_schema475.EntityScalarField;
20
+ onboardingStep: _lssm_lib_schema475.EntityScalarField;
21
+ whitelistedAt: _lssm_lib_schema475.EntityScalarField;
22
+ role: _lssm_lib_schema475.EntityScalarField;
23
+ banned: _lssm_lib_schema475.EntityScalarField;
24
+ banReason: _lssm_lib_schema475.EntityScalarField;
25
+ banExpires: _lssm_lib_schema475.EntityScalarField;
26
+ phoneNumber: _lssm_lib_schema475.EntityScalarField;
27
+ phoneNumberVerified: _lssm_lib_schema475.EntityScalarField;
28
+ createdAt: _lssm_lib_schema475.EntityScalarField;
29
+ updatedAt: _lssm_lib_schema475.EntityScalarField;
30
+ sessions: _lssm_lib_schema475.EntityRelationField;
31
+ accounts: _lssm_lib_schema475.EntityRelationField;
32
+ memberships: _lssm_lib_schema475.EntityRelationField;
33
+ invitations: _lssm_lib_schema475.EntityRelationField;
34
+ teamMemberships: _lssm_lib_schema475.EntityRelationField;
35
+ policyBindings: _lssm_lib_schema475.EntityRelationField;
36
+ apiKeys: _lssm_lib_schema475.EntityRelationField;
37
+ passkeys: _lssm_lib_schema475.EntityRelationField;
38
+ }>;
39
+ /**
40
+ * Session entity - login sessions.
41
+ */
42
+ declare const SessionEntity: _lssm_lib_schema475.EntitySpec<{
43
+ id: _lssm_lib_schema475.EntityScalarField;
44
+ userId: _lssm_lib_schema475.EntityScalarField;
45
+ expiresAt: _lssm_lib_schema475.EntityScalarField;
46
+ token: _lssm_lib_schema475.EntityScalarField;
47
+ ipAddress: _lssm_lib_schema475.EntityScalarField;
48
+ userAgent: _lssm_lib_schema475.EntityScalarField;
49
+ impersonatedBy: _lssm_lib_schema475.EntityScalarField;
50
+ activeOrganizationId: _lssm_lib_schema475.EntityScalarField;
51
+ activeTeamId: _lssm_lib_schema475.EntityScalarField;
52
+ createdAt: _lssm_lib_schema475.EntityScalarField;
53
+ updatedAt: _lssm_lib_schema475.EntityScalarField;
54
+ user: _lssm_lib_schema475.EntityRelationField;
55
+ }>;
56
+ /**
57
+ * Account entity - external authentication accounts.
58
+ */
59
+ declare const AccountEntity: _lssm_lib_schema475.EntitySpec<{
60
+ id: _lssm_lib_schema475.EntityScalarField;
61
+ accountId: _lssm_lib_schema475.EntityScalarField;
62
+ providerId: _lssm_lib_schema475.EntityScalarField;
63
+ userId: _lssm_lib_schema475.EntityScalarField;
64
+ accessToken: _lssm_lib_schema475.EntityScalarField;
65
+ refreshToken: _lssm_lib_schema475.EntityScalarField;
66
+ idToken: _lssm_lib_schema475.EntityScalarField;
67
+ accessTokenExpiresAt: _lssm_lib_schema475.EntityScalarField;
68
+ refreshTokenExpiresAt: _lssm_lib_schema475.EntityScalarField;
69
+ scope: _lssm_lib_schema475.EntityScalarField;
70
+ password: _lssm_lib_schema475.EntityScalarField;
71
+ createdAt: _lssm_lib_schema475.EntityScalarField;
72
+ updatedAt: _lssm_lib_schema475.EntityScalarField;
73
+ user: _lssm_lib_schema475.EntityRelationField;
74
+ }>;
75
+ /**
76
+ * Verification entity - email/phone verification tokens.
77
+ */
78
+ declare const VerificationEntity: _lssm_lib_schema475.EntitySpec<{
79
+ id: _lssm_lib_schema475.EntityScalarField;
80
+ identifier: _lssm_lib_schema475.EntityScalarField;
81
+ value: _lssm_lib_schema475.EntityScalarField;
82
+ expiresAt: _lssm_lib_schema475.EntityScalarField;
83
+ createdAt: _lssm_lib_schema475.EntityScalarField;
84
+ updatedAt: _lssm_lib_schema475.EntityScalarField;
85
+ }>;
86
+ //#endregion
87
+ export { AccountEntity, SessionEntity, UserEntity, VerificationEntity };
@@ -0,0 +1 @@
1
+ import{i as e,r as t,t as n}from"../schema/dist/entity/defineEntity.js";import"../schema/dist/index.js";import{z as r}from"zod";const i=n({name:`User`,description:`A user of the platform. Users hold core profile information and authenticate via Account records.`,schema:`lssm_sigil`,map:`user`,fields:{id:t.id({description:`Unique user identifier`}),email:t.email({isUnique:!0,description:`User email address`}),emailVerified:t.boolean({default:!1,description:`Whether email has been verified`}),name:t.string({isOptional:!0,description:`Display name`}),firstName:t.string({isOptional:!0,description:`First name`}),lastName:t.string({isOptional:!0,description:`Last name`}),locale:t.string({isOptional:!0,description:`User locale (e.g., "en-US")`}),timezone:t.string({isOptional:!0,description:`Olson timezone (e.g., "Europe/Paris")`}),imageUrl:t.url({isOptional:!0,description:`URL of avatar or profile picture`}),image:t.string({isOptional:!0,description:`Legacy image field`}),metadata:t.json({isOptional:!0,description:`Arbitrary user metadata`}),onboardingCompleted:t.boolean({default:!1,description:`Whether onboarding is complete`}),onboardingStep:t.string({isOptional:!0,description:`Current onboarding step`}),whitelistedAt:t.dateTime({isOptional:!0,description:`When user was whitelisted`}),role:t.string({isOptional:!0,default:`"user"`,description:`User role (user, admin)`}),banned:t.boolean({default:!1,description:`Whether user is banned`}),banReason:t.string({isOptional:!0,description:`Reason for ban`}),banExpires:t.dateTime({isOptional:!0,description:`When ban expires`}),phoneNumber:t.string({isOptional:!0,isUnique:!0,description:`Phone number`}),phoneNumberVerified:t.boolean({default:!1,description:`Whether phone is verified`}),createdAt:t.createdAt(),updatedAt:t.updatedAt(),sessions:t.hasMany(`Session`),accounts:t.hasMany(`Account`),memberships:t.hasMany(`Member`),invitations:t.hasMany(`Invitation`),teamMemberships:t.hasMany(`TeamMember`),policyBindings:t.hasMany(`PolicyBinding`),apiKeys:t.hasMany(`ApiKey`),passkeys:t.hasMany(`Passkey`)}}),a=n({name:`Session`,description:`Represents a login session (e.g., web session or API token).`,schema:`lssm_sigil`,map:`session`,fields:{id:t.id(),userId:t.foreignKey(),expiresAt:t.dateTime({description:`Session expiration time`}),token:t.string({isUnique:!0,description:`Session token`}),ipAddress:t.string({isOptional:!0,description:`Client IP address`}),userAgent:t.string({isOptional:!0,description:`Client user agent`}),impersonatedBy:t.string({isOptional:!0,description:`Admin impersonating this session`}),activeOrganizationId:t.string({isOptional:!0,description:`Active org context`}),activeTeamId:t.string({isOptional:!0,description:`Active team context`}),createdAt:t.createdAt(),updatedAt:t.updatedAt(),user:t.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`})}}),o=n({name:`Account`,description:`External authentication accounts (OAuth, password, etc.).`,schema:`lssm_sigil`,map:`account`,fields:{id:t.id(),accountId:t.string({description:`Account ID from provider`}),providerId:t.string({description:`Provider identifier`}),userId:t.foreignKey(),accessToken:t.string({isOptional:!0}),refreshToken:t.string({isOptional:!0}),idToken:t.string({isOptional:!0}),accessTokenExpiresAt:t.dateTime({isOptional:!0}),refreshTokenExpiresAt:t.dateTime({isOptional:!0}),scope:t.string({isOptional:!0}),password:t.string({isOptional:!0,description:`Hashed password for password providers`}),createdAt:t.createdAt(),updatedAt:t.updatedAt(),user:t.belongsTo(`User`,[`userId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`accountId`,`providerId`])]}),s=n({name:`Verification`,description:`Verification tokens for email/phone confirmation.`,schema:`lssm_sigil`,map:`verification`,fields:{id:t.uuid(),identifier:t.string({description:`Email or phone being verified`}),value:t.string({description:`Verification code/token`}),expiresAt:t.dateTime({description:`Token expiration`}),createdAt:t.createdAt(),updatedAt:t.updatedAt()}});export{o as AccountEntity,a as SessionEntity,i as UserEntity,s as VerificationEntity};