@lssm/lib.identity-rbac 0.0.0-canary-20251217060804 → 0.0.0-canary-20251217062139

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 (137) hide show
  1. package/dist/contracts/dist/capabilities/openbanking.js +1 -0
  2. package/dist/contracts/dist/client/index.js +1 -0
  3. package/dist/contracts/dist/client/react/feature-render.js +1 -0
  4. package/dist/contracts/dist/client/react/form-render.js +1 -0
  5. package/dist/contracts/dist/client/react/index.js +1 -0
  6. package/dist/contracts/dist/contract-registry/index.js +1 -0
  7. package/dist/contracts/dist/contract-registry/schemas.js +1 -0
  8. package/dist/contracts/dist/docs/PUBLISHING.docblock.js +76 -0
  9. package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
  10. package/dist/contracts/dist/docs/index.js +1 -0
  11. package/dist/contracts/dist/docs/presentations.js +1 -0
  12. package/dist/contracts/dist/docs/registry.js +1 -0
  13. package/dist/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
  14. package/dist/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
  15. package/dist/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
  16. package/dist/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
  17. package/dist/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
  18. package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
  19. package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
  20. package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
  21. package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
  22. package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
  23. package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js +1 -0
  24. package/dist/contracts/dist/docs/tech/schema/README.docblock.js +262 -0
  25. package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js +1 -0
  26. package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
  27. package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
  28. package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
  29. package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js +1 -0
  30. package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
  31. package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
  32. package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
  33. package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js +41 -0
  34. package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
  35. package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js +1 -0
  36. package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js +68 -0
  37. package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js +1 -0
  38. package/dist/contracts/dist/events.js +1 -0
  39. package/dist/contracts/dist/experiments/evaluator.js +1 -0
  40. package/dist/contracts/dist/index.js +1 -0
  41. package/dist/contracts/dist/install.js +1 -0
  42. package/dist/contracts/dist/integrations/contracts.js +1 -0
  43. package/dist/contracts/dist/integrations/index.js +1 -0
  44. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
  45. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
  46. package/dist/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
  47. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
  48. package/dist/contracts/dist/integrations/openbanking/models.js +1 -0
  49. package/dist/contracts/dist/integrations/openbanking/telemetry.js +1 -0
  50. package/dist/contracts/dist/integrations/providers/elevenlabs.js +1 -0
  51. package/dist/contracts/dist/integrations/providers/gcs-storage.js +1 -0
  52. package/dist/contracts/dist/integrations/providers/gmail.js +1 -0
  53. package/dist/contracts/dist/integrations/providers/google-calendar.js +1 -0
  54. package/dist/contracts/dist/integrations/providers/index.js +1 -0
  55. package/dist/contracts/dist/integrations/providers/mistral.js +1 -0
  56. package/dist/contracts/dist/integrations/providers/postmark.js +1 -0
  57. package/dist/contracts/dist/integrations/providers/powens.js +1 -0
  58. package/dist/contracts/dist/integrations/providers/qdrant.js +1 -0
  59. package/dist/contracts/dist/integrations/providers/registry.js +1 -0
  60. package/dist/contracts/dist/integrations/providers/stripe.js +1 -0
  61. package/dist/contracts/dist/integrations/providers/twilio-sms.js +1 -0
  62. package/dist/contracts/dist/jsonschema.js +1 -0
  63. package/dist/contracts/dist/knowledge/contracts.js +1 -0
  64. package/dist/contracts/dist/knowledge/index.js +1 -0
  65. package/dist/contracts/dist/knowledge/spaces/email-threads.js +1 -0
  66. package/dist/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
  67. package/dist/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
  68. package/dist/contracts/dist/knowledge/spaces/index.js +1 -0
  69. package/dist/contracts/dist/knowledge/spaces/product-canon.js +1 -0
  70. package/dist/contracts/dist/knowledge/spaces/support-faq.js +1 -0
  71. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
  72. package/dist/contracts/dist/llm/exporters.js +1 -0
  73. package/dist/contracts/dist/llm/index.js +1 -0
  74. package/dist/contracts/dist/llm/prompts.js +1 -0
  75. package/dist/contracts/dist/onboarding-base.js +1 -0
  76. package/dist/contracts/dist/openapi.js +1 -0
  77. package/dist/contracts/dist/ownership.js +1 -0
  78. package/dist/contracts/dist/presentations.js +1 -0
  79. package/dist/contracts/dist/presentations.v2.js +1 -0
  80. package/dist/contracts/dist/prompt.js +1 -0
  81. package/dist/contracts/dist/promptRegistry.js +1 -0
  82. package/dist/contracts/dist/regenerator/index.js +1 -0
  83. package/dist/contracts/dist/regenerator/service.js +1 -0
  84. package/dist/contracts/dist/registry.js +1 -0
  85. package/dist/contracts/dist/resources.js +1 -0
  86. package/dist/contracts/dist/schema/dist/EnumType.js +1 -0
  87. package/dist/contracts/dist/schema/dist/FieldType.js +1 -0
  88. package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
  89. package/dist/contracts/dist/schema/dist/SchemaModel.js +1 -0
  90. package/dist/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  91. package/dist/contracts/dist/schema/dist/entity/index.js +1 -0
  92. package/dist/contracts/dist/schema/dist/entity/types.js +1 -0
  93. package/dist/contracts/dist/schema/dist/index.js +1 -0
  94. package/dist/contracts/dist/server/graphql-pothos.js +1 -0
  95. package/dist/contracts/dist/server/index.js +1 -0
  96. package/dist/contracts/dist/server/mcp/createMcpServer.js +1 -0
  97. package/dist/contracts/dist/server/mcp/registerPresentations.js +1 -0
  98. package/dist/contracts/dist/server/mcp/registerPrompts.js +1 -0
  99. package/dist/contracts/dist/server/mcp/registerResources.js +1 -0
  100. package/dist/contracts/dist/server/mcp/registerTools.js +1 -0
  101. package/dist/contracts/dist/server/provider-mcp.js +1 -0
  102. package/dist/contracts/dist/server/rest-elysia.js +1 -0
  103. package/dist/contracts/dist/server/rest-express.js +1 -0
  104. package/dist/contracts/dist/server/rest-generic.js +1 -0
  105. package/dist/contracts/dist/server/rest-next-app.js +1 -0
  106. package/dist/contracts/dist/server/rest-next-pages.js +1 -0
  107. package/dist/contracts/dist/spec.js +1 -0
  108. package/dist/contracts/dist/telemetry/index.js +1 -0
  109. package/dist/contracts/dist/telemetry/tracker.js +1 -0
  110. package/dist/contracts/dist/tests/index.js +1 -0
  111. package/dist/contracts/dist/tests/runner.js +1 -0
  112. package/dist/contracts/dist/workflow/index.js +1 -0
  113. package/dist/contracts/dist/workflow/runner.js +1 -0
  114. package/dist/contracts/organization.d.ts +193 -193
  115. package/dist/contracts/organization.js +1 -1
  116. package/dist/contracts/rbac.d.ts +126 -126
  117. package/dist/contracts/rbac.js +1 -1
  118. package/dist/contracts/user.d.ts +139 -139
  119. package/dist/contracts/user.js +1 -1
  120. package/dist/entities/index.d.ts +160 -160
  121. package/dist/entities/organization.d.ts +59 -59
  122. package/dist/entities/organization.js +1 -1
  123. package/dist/entities/rbac.d.ts +63 -63
  124. package/dist/entities/rbac.js +1 -1
  125. package/dist/entities/user.d.ts +67 -67
  126. package/dist/entities/user.js +1 -1
  127. package/dist/events.js +1 -1
  128. package/dist/index.d.ts +0 -1
  129. package/dist/schema/dist/EnumType.js +1 -0
  130. package/dist/schema/dist/FieldType.js +1 -0
  131. package/dist/schema/dist/ScalarTypeEnum.js +1 -0
  132. package/dist/schema/dist/SchemaModel.js +1 -0
  133. package/dist/schema/dist/entity/defineEntity.js +1 -0
  134. package/dist/schema/dist/entity/index.js +1 -0
  135. package/dist/schema/dist/entity/types.js +1 -0
  136. package/dist/schema/dist/index.js +1 -0
  137. package/package.json +5 -5
@@ -1,87 +1,87 @@
1
- import * as _lssm_lib_schema800 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema858 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/rbac.d.ts
4
4
  /**
5
5
  * Role entity - named set of permissions.
6
6
  */
7
- declare const RoleEntity: _lssm_lib_schema800.EntitySpec<{
8
- id: _lssm_lib_schema800.EntityScalarField;
9
- name: _lssm_lib_schema800.EntityScalarField;
10
- description: _lssm_lib_schema800.EntityScalarField;
11
- permissions: _lssm_lib_schema800.EntityScalarField;
12
- createdAt: _lssm_lib_schema800.EntityScalarField;
13
- updatedAt: _lssm_lib_schema800.EntityScalarField;
14
- policyBindings: _lssm_lib_schema800.EntityRelationField;
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
15
  }>;
16
16
  /**
17
17
  * Permission entity - atomic access right.
18
18
  */
19
- declare const PermissionEntity: _lssm_lib_schema800.EntitySpec<{
20
- id: _lssm_lib_schema800.EntityScalarField;
21
- name: _lssm_lib_schema800.EntityScalarField;
22
- description: _lssm_lib_schema800.EntityScalarField;
23
- createdAt: _lssm_lib_schema800.EntityScalarField;
24
- updatedAt: _lssm_lib_schema800.EntityScalarField;
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
25
  }>;
26
26
  /**
27
27
  * PolicyBinding entity - binds roles to principals.
28
28
  */
29
- declare const PolicyBindingEntity: _lssm_lib_schema800.EntitySpec<{
30
- id: _lssm_lib_schema800.EntityScalarField;
31
- roleId: _lssm_lib_schema800.EntityScalarField;
32
- targetType: _lssm_lib_schema800.EntityScalarField;
33
- targetId: _lssm_lib_schema800.EntityScalarField;
34
- expiresAt: _lssm_lib_schema800.EntityScalarField;
35
- createdAt: _lssm_lib_schema800.EntityScalarField;
36
- userId: _lssm_lib_schema800.EntityScalarField;
37
- organizationId: _lssm_lib_schema800.EntityScalarField;
38
- role: _lssm_lib_schema800.EntityRelationField;
39
- user: _lssm_lib_schema800.EntityRelationField;
40
- organization: _lssm_lib_schema800.EntityRelationField;
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
41
  }>;
42
42
  /**
43
43
  * ApiKey entity - API keys for programmatic access.
44
44
  */
45
- declare const ApiKeyEntity: _lssm_lib_schema800.EntitySpec<{
46
- id: _lssm_lib_schema800.EntityScalarField;
47
- name: _lssm_lib_schema800.EntityScalarField;
48
- start: _lssm_lib_schema800.EntityScalarField;
49
- prefix: _lssm_lib_schema800.EntityScalarField;
50
- key: _lssm_lib_schema800.EntityScalarField;
51
- userId: _lssm_lib_schema800.EntityScalarField;
52
- refillInterval: _lssm_lib_schema800.EntityScalarField;
53
- refillAmount: _lssm_lib_schema800.EntityScalarField;
54
- lastRefillAt: _lssm_lib_schema800.EntityScalarField;
55
- remaining: _lssm_lib_schema800.EntityScalarField;
56
- requestCount: _lssm_lib_schema800.EntityScalarField;
57
- lastRequest: _lssm_lib_schema800.EntityScalarField;
58
- enabled: _lssm_lib_schema800.EntityScalarField;
59
- rateLimitEnabled: _lssm_lib_schema800.EntityScalarField;
60
- rateLimitTimeWindow: _lssm_lib_schema800.EntityScalarField;
61
- rateLimitMax: _lssm_lib_schema800.EntityScalarField;
62
- expiresAt: _lssm_lib_schema800.EntityScalarField;
63
- permissions: _lssm_lib_schema800.EntityScalarField;
64
- metadata: _lssm_lib_schema800.EntityScalarField;
65
- createdAt: _lssm_lib_schema800.EntityScalarField;
66
- updatedAt: _lssm_lib_schema800.EntityScalarField;
67
- user: _lssm_lib_schema800.EntityRelationField;
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
68
  }>;
69
69
  /**
70
70
  * Passkey entity - WebAuthn passkeys.
71
71
  */
72
- declare const PasskeyEntity: _lssm_lib_schema800.EntitySpec<{
73
- id: _lssm_lib_schema800.EntityScalarField;
74
- name: _lssm_lib_schema800.EntityScalarField;
75
- publicKey: _lssm_lib_schema800.EntityScalarField;
76
- userId: _lssm_lib_schema800.EntityScalarField;
77
- credentialID: _lssm_lib_schema800.EntityScalarField;
78
- counter: _lssm_lib_schema800.EntityScalarField;
79
- deviceType: _lssm_lib_schema800.EntityScalarField;
80
- backedUp: _lssm_lib_schema800.EntityScalarField;
81
- transports: _lssm_lib_schema800.EntityScalarField;
82
- aaguid: _lssm_lib_schema800.EntityScalarField;
83
- createdAt: _lssm_lib_schema800.EntityScalarField;
84
- user: _lssm_lib_schema800.EntityRelationField;
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
85
  }>;
86
86
  //#endregion
87
87
  export { ApiKeyEntity, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity };
@@ -1 +1 @@
1
- import{defineEntity as e,field as t,index as n}from"@lssm/lib.schema";const r=e({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=e({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=e({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:[n.on([`targetType`,`targetId`])]}),o=e({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=e({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};
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};
@@ -1,87 +1,87 @@
1
- import * as _lssm_lib_schema433 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema141 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/user.d.ts
4
4
  /**
5
5
  * User entity - core user profile and authentication.
6
6
  */
7
- declare const UserEntity: _lssm_lib_schema433.EntitySpec<{
8
- id: _lssm_lib_schema433.EntityScalarField;
9
- email: _lssm_lib_schema433.EntityScalarField;
10
- emailVerified: _lssm_lib_schema433.EntityScalarField;
11
- name: _lssm_lib_schema433.EntityScalarField;
12
- firstName: _lssm_lib_schema433.EntityScalarField;
13
- lastName: _lssm_lib_schema433.EntityScalarField;
14
- locale: _lssm_lib_schema433.EntityScalarField;
15
- timezone: _lssm_lib_schema433.EntityScalarField;
16
- imageUrl: _lssm_lib_schema433.EntityScalarField;
17
- image: _lssm_lib_schema433.EntityScalarField;
18
- metadata: _lssm_lib_schema433.EntityScalarField;
19
- onboardingCompleted: _lssm_lib_schema433.EntityScalarField;
20
- onboardingStep: _lssm_lib_schema433.EntityScalarField;
21
- whitelistedAt: _lssm_lib_schema433.EntityScalarField;
22
- role: _lssm_lib_schema433.EntityScalarField;
23
- banned: _lssm_lib_schema433.EntityScalarField;
24
- banReason: _lssm_lib_schema433.EntityScalarField;
25
- banExpires: _lssm_lib_schema433.EntityScalarField;
26
- phoneNumber: _lssm_lib_schema433.EntityScalarField;
27
- phoneNumberVerified: _lssm_lib_schema433.EntityScalarField;
28
- createdAt: _lssm_lib_schema433.EntityScalarField;
29
- updatedAt: _lssm_lib_schema433.EntityScalarField;
30
- sessions: _lssm_lib_schema433.EntityRelationField;
31
- accounts: _lssm_lib_schema433.EntityRelationField;
32
- memberships: _lssm_lib_schema433.EntityRelationField;
33
- invitations: _lssm_lib_schema433.EntityRelationField;
34
- teamMemberships: _lssm_lib_schema433.EntityRelationField;
35
- policyBindings: _lssm_lib_schema433.EntityRelationField;
36
- apiKeys: _lssm_lib_schema433.EntityRelationField;
37
- passkeys: _lssm_lib_schema433.EntityRelationField;
7
+ declare const UserEntity: _lssm_lib_schema141.EntitySpec<{
8
+ id: _lssm_lib_schema141.EntityScalarField;
9
+ email: _lssm_lib_schema141.EntityScalarField;
10
+ emailVerified: _lssm_lib_schema141.EntityScalarField;
11
+ name: _lssm_lib_schema141.EntityScalarField;
12
+ firstName: _lssm_lib_schema141.EntityScalarField;
13
+ lastName: _lssm_lib_schema141.EntityScalarField;
14
+ locale: _lssm_lib_schema141.EntityScalarField;
15
+ timezone: _lssm_lib_schema141.EntityScalarField;
16
+ imageUrl: _lssm_lib_schema141.EntityScalarField;
17
+ image: _lssm_lib_schema141.EntityScalarField;
18
+ metadata: _lssm_lib_schema141.EntityScalarField;
19
+ onboardingCompleted: _lssm_lib_schema141.EntityScalarField;
20
+ onboardingStep: _lssm_lib_schema141.EntityScalarField;
21
+ whitelistedAt: _lssm_lib_schema141.EntityScalarField;
22
+ role: _lssm_lib_schema141.EntityScalarField;
23
+ banned: _lssm_lib_schema141.EntityScalarField;
24
+ banReason: _lssm_lib_schema141.EntityScalarField;
25
+ banExpires: _lssm_lib_schema141.EntityScalarField;
26
+ phoneNumber: _lssm_lib_schema141.EntityScalarField;
27
+ phoneNumberVerified: _lssm_lib_schema141.EntityScalarField;
28
+ createdAt: _lssm_lib_schema141.EntityScalarField;
29
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
30
+ sessions: _lssm_lib_schema141.EntityRelationField;
31
+ accounts: _lssm_lib_schema141.EntityRelationField;
32
+ memberships: _lssm_lib_schema141.EntityRelationField;
33
+ invitations: _lssm_lib_schema141.EntityRelationField;
34
+ teamMemberships: _lssm_lib_schema141.EntityRelationField;
35
+ policyBindings: _lssm_lib_schema141.EntityRelationField;
36
+ apiKeys: _lssm_lib_schema141.EntityRelationField;
37
+ passkeys: _lssm_lib_schema141.EntityRelationField;
38
38
  }>;
39
39
  /**
40
40
  * Session entity - login sessions.
41
41
  */
42
- declare const SessionEntity: _lssm_lib_schema433.EntitySpec<{
43
- id: _lssm_lib_schema433.EntityScalarField;
44
- userId: _lssm_lib_schema433.EntityScalarField;
45
- expiresAt: _lssm_lib_schema433.EntityScalarField;
46
- token: _lssm_lib_schema433.EntityScalarField;
47
- ipAddress: _lssm_lib_schema433.EntityScalarField;
48
- userAgent: _lssm_lib_schema433.EntityScalarField;
49
- impersonatedBy: _lssm_lib_schema433.EntityScalarField;
50
- activeOrganizationId: _lssm_lib_schema433.EntityScalarField;
51
- activeTeamId: _lssm_lib_schema433.EntityScalarField;
52
- createdAt: _lssm_lib_schema433.EntityScalarField;
53
- updatedAt: _lssm_lib_schema433.EntityScalarField;
54
- user: _lssm_lib_schema433.EntityRelationField;
42
+ declare const SessionEntity: _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
55
  }>;
56
56
  /**
57
57
  * Account entity - external authentication accounts.
58
58
  */
59
- declare const AccountEntity: _lssm_lib_schema433.EntitySpec<{
60
- id: _lssm_lib_schema433.EntityScalarField;
61
- accountId: _lssm_lib_schema433.EntityScalarField;
62
- providerId: _lssm_lib_schema433.EntityScalarField;
63
- userId: _lssm_lib_schema433.EntityScalarField;
64
- accessToken: _lssm_lib_schema433.EntityScalarField;
65
- refreshToken: _lssm_lib_schema433.EntityScalarField;
66
- idToken: _lssm_lib_schema433.EntityScalarField;
67
- accessTokenExpiresAt: _lssm_lib_schema433.EntityScalarField;
68
- refreshTokenExpiresAt: _lssm_lib_schema433.EntityScalarField;
69
- scope: _lssm_lib_schema433.EntityScalarField;
70
- password: _lssm_lib_schema433.EntityScalarField;
71
- createdAt: _lssm_lib_schema433.EntityScalarField;
72
- updatedAt: _lssm_lib_schema433.EntityScalarField;
73
- user: _lssm_lib_schema433.EntityRelationField;
59
+ declare const AccountEntity: _lssm_lib_schema141.EntitySpec<{
60
+ id: _lssm_lib_schema141.EntityScalarField;
61
+ accountId: _lssm_lib_schema141.EntityScalarField;
62
+ providerId: _lssm_lib_schema141.EntityScalarField;
63
+ userId: _lssm_lib_schema141.EntityScalarField;
64
+ accessToken: _lssm_lib_schema141.EntityScalarField;
65
+ refreshToken: _lssm_lib_schema141.EntityScalarField;
66
+ idToken: _lssm_lib_schema141.EntityScalarField;
67
+ accessTokenExpiresAt: _lssm_lib_schema141.EntityScalarField;
68
+ refreshTokenExpiresAt: _lssm_lib_schema141.EntityScalarField;
69
+ scope: _lssm_lib_schema141.EntityScalarField;
70
+ password: _lssm_lib_schema141.EntityScalarField;
71
+ createdAt: _lssm_lib_schema141.EntityScalarField;
72
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
73
+ user: _lssm_lib_schema141.EntityRelationField;
74
74
  }>;
75
75
  /**
76
76
  * Verification entity - email/phone verification tokens.
77
77
  */
78
- declare const VerificationEntity: _lssm_lib_schema433.EntitySpec<{
79
- id: _lssm_lib_schema433.EntityScalarField;
80
- identifier: _lssm_lib_schema433.EntityScalarField;
81
- value: _lssm_lib_schema433.EntityScalarField;
82
- expiresAt: _lssm_lib_schema433.EntityScalarField;
83
- createdAt: _lssm_lib_schema433.EntityScalarField;
84
- updatedAt: _lssm_lib_schema433.EntityScalarField;
78
+ declare const VerificationEntity: _lssm_lib_schema141.EntitySpec<{
79
+ id: _lssm_lib_schema141.EntityScalarField;
80
+ identifier: _lssm_lib_schema141.EntityScalarField;
81
+ value: _lssm_lib_schema141.EntityScalarField;
82
+ expiresAt: _lssm_lib_schema141.EntityScalarField;
83
+ createdAt: _lssm_lib_schema141.EntityScalarField;
84
+ updatedAt: _lssm_lib_schema141.EntityScalarField;
85
85
  }>;
86
86
  //#endregion
87
87
  export { AccountEntity, SessionEntity, UserEntity, VerificationEntity };
@@ -1 +1 @@
1
- import{defineEntity as e,field as t,index as n}from"@lssm/lib.schema";const r=e({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`)}}),i=e({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`})}}),a=e({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:[n.unique([`accountId`,`providerId`])]}),o=e({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{a as AccountEntity,i as SessionEntity,r as UserEntity,o as VerificationEntity};
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:`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`)}}),i=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`})}}),a=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`])]}),o=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{a as AccountEntity,i as SessionEntity,r as UserEntity,o as VerificationEntity};
package/dist/events.js CHANGED
@@ -1 +1 @@
1
- import{ScalarTypeEnum as e,SchemaModel as t}from"@lssm/lib.schema";import{defineEvent as n}from"@lssm/lib.contracts";const r=new t({name:`UserCreatedPayload`,description:`Payload for user created event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),i=new t({name:`UserUpdatedPayload`,description:`Payload for user updated event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isOptional:!1,isArray:!0},updatedAt:{type:e.DateTime(),isOptional:!1}}}),a=new t({name:`UserDeletedPayload`,description:`Payload for user deleted event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!1}}}),o=new t({name:`UserEmailVerifiedPayload`,description:`Payload for user email verified event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},verifiedAt:{type:e.DateTime(),isOptional:!1}}}),s=new t({name:`OrgCreatedPayload`,description:`Payload for org created event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!0},createdBy:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),c=new t({name:`OrgUpdatedPayload`,description:`Payload for org updated event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isOptional:!1,isArray:!0},updatedBy:{type:e.String_unsecure(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),l=new t({name:`OrgDeletedPayload`,description:`Payload for org deleted event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},deletedBy:{type:e.String_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!1}}}),u=new t({name:`OrgMemberAddedPayload`,description:`Payload for member added event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},invitedBy:{type:e.String_unsecure(),isOptional:!0},joinedAt:{type:e.DateTime(),isOptional:!1}}}),d=new t({name:`OrgMemberRemovedPayload`,description:`Payload for member removed event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},removedBy:{type:e.String_unsecure(),isOptional:!0},reason:{type:e.String_unsecure(),isOptional:!0},removedAt:{type:e.DateTime(),isOptional:!1}}}),f=new t({name:`OrgMemberRoleChangedPayload`,description:`Payload for member role changed event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},previousRole:{type:e.String_unsecure(),isOptional:!1},newRole:{type:e.String_unsecure(),isOptional:!1},changedBy:{type:e.String_unsecure(),isOptional:!1},changedAt:{type:e.DateTime(),isOptional:!1}}}),p=new t({name:`OrgInviteSentPayload`,description:`Payload for invite sent event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},invitedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},sentAt:{type:e.DateTime(),isOptional:!1}}}),m=new t({name:`OrgInviteAcceptedPayload`,description:`Payload for invite accepted event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},acceptedAt:{type:e.DateTime(),isOptional:!1}}}),h=new t({name:`OrgInviteDeclinedPayload`,description:`Payload for invite declined event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},declinedAt:{type:e.DateTime(),isOptional:!1}}}),g=new t({name:`RoleAssignedPayload`,description:`Payload for role assigned event`,fields:{bindingId:{type:e.String_unsecure(),isOptional:!1},roleId:{type:e.String_unsecure(),isOptional:!1},roleName:{type:e.String_unsecure(),isOptional:!1},targetType:{type:e.String_unsecure(),isOptional:!1},targetId:{type:e.String_unsecure(),isOptional:!1},assignedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},assignedAt:{type:e.DateTime(),isOptional:!1}}}),_=new t({name:`RoleRevokedPayload`,description:`Payload for role revoked event`,fields:{bindingId:{type:e.String_unsecure(),isOptional:!1},roleId:{type:e.String_unsecure(),isOptional:!1},roleName:{type:e.String_unsecure(),isOptional:!1},targetType:{type:e.String_unsecure(),isOptional:!1},targetId:{type:e.String_unsecure(),isOptional:!1},revokedBy:{type:e.String_unsecure(),isOptional:!1},revokedAt:{type:e.DateTime(),isOptional:!1}}}),v=n({name:`user.created`,version:1,description:`A new user has been created.`,payload:r}),y=n({name:`user.updated`,version:1,description:`A user profile has been updated.`,payload:i}),b=n({name:`user.deleted`,version:1,description:`A user account has been deleted.`,pii:[`email`],payload:a}),x=n({name:`user.email_verified`,version:1,description:`A user has verified their email address.`,payload:o}),S=n({name:`org.created`,version:1,description:`A new organization has been created.`,payload:s}),C=n({name:`org.updated`,version:1,description:`An organization has been updated.`,payload:c}),w=n({name:`org.deleted`,version:1,description:`An organization has been deleted.`,payload:l}),T=n({name:`org.member.added`,version:1,description:`A user has joined an organization.`,payload:u}),E=n({name:`org.member.removed`,version:1,description:`A user has left or been removed from an organization.`,payload:d}),D=n({name:`org.member.role_changed`,version:1,description:`A member's role in an organization has changed.`,payload:f}),O=n({name:`org.invite.sent`,version:1,description:`An invitation to join an organization has been sent.`,pii:[`email`],payload:p}),k=n({name:`org.invite.accepted`,version:1,description:`An invitation has been accepted.`,payload:m}),A=n({name:`org.invite.declined`,version:1,description:`An invitation has been declined.`,payload:h}),j=n({name:`role.assigned`,version:1,description:`A role has been assigned.`,payload:g}),M=n({name:`role.revoked`,version:1,description:`A role has been revoked.`,payload:_}),N={UserCreatedEvent:v,UserUpdatedEvent:y,UserDeletedEvent:b,UserEmailVerifiedEvent:x,OrgCreatedEvent:S,OrgUpdatedEvent:C,OrgDeletedEvent:w,OrgMemberAddedEvent:T,OrgMemberRemovedEvent:E,OrgMemberRoleChangedEvent:D,OrgInviteSentEvent:O,OrgInviteAcceptedEvent:k,OrgInviteDeclinedEvent:A,RoleAssignedEvent:j,RoleRevokedEvent:M};export{N as IdentityRbacEvents,S as OrgCreatedEvent,w as OrgDeletedEvent,k as OrgInviteAcceptedEvent,A as OrgInviteDeclinedEvent,O as OrgInviteSentEvent,T as OrgMemberAddedEvent,E as OrgMemberRemovedEvent,D as OrgMemberRoleChangedEvent,C as OrgUpdatedEvent,j as RoleAssignedEvent,M as RoleRevokedEvent,v as UserCreatedEvent,b as UserDeletedEvent,x as UserEmailVerifiedEvent,y as UserUpdatedEvent};
1
+ import{l as e}from"./schema/dist/ScalarTypeEnum.js";import{t}from"./schema/dist/SchemaModel.js";import"./schema/dist/index.js";import{e as n}from"./contracts/dist/events.js";import"./contracts/dist/index.js";const r=new t({name:`UserCreatedPayload`,description:`Payload for user created event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),i=new t({name:`UserUpdatedPayload`,description:`Payload for user updated event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isOptional:!1,isArray:!0},updatedAt:{type:e.DateTime(),isOptional:!1}}}),a=new t({name:`UserDeletedPayload`,description:`Payload for user deleted event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!1}}}),o=new t({name:`UserEmailVerifiedPayload`,description:`Payload for user email verified event`,fields:{userId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},verifiedAt:{type:e.DateTime(),isOptional:!1}}}),s=new t({name:`OrgCreatedPayload`,description:`Payload for org created event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!0},createdBy:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),c=new t({name:`OrgUpdatedPayload`,description:`Payload for org updated event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isOptional:!1,isArray:!0},updatedBy:{type:e.String_unsecure(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),l=new t({name:`OrgDeletedPayload`,description:`Payload for org deleted event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},deletedBy:{type:e.String_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!1}}}),u=new t({name:`OrgMemberAddedPayload`,description:`Payload for member added event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},invitedBy:{type:e.String_unsecure(),isOptional:!0},joinedAt:{type:e.DateTime(),isOptional:!1}}}),d=new t({name:`OrgMemberRemovedPayload`,description:`Payload for member removed event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},removedBy:{type:e.String_unsecure(),isOptional:!0},reason:{type:e.String_unsecure(),isOptional:!0},removedAt:{type:e.DateTime(),isOptional:!1}}}),f=new t({name:`OrgMemberRoleChangedPayload`,description:`Payload for member role changed event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},previousRole:{type:e.String_unsecure(),isOptional:!1},newRole:{type:e.String_unsecure(),isOptional:!1},changedBy:{type:e.String_unsecure(),isOptional:!1},changedAt:{type:e.DateTime(),isOptional:!1}}}),p=new t({name:`OrgInviteSentPayload`,description:`Payload for invite sent event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},invitedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},sentAt:{type:e.DateTime(),isOptional:!1}}}),m=new t({name:`OrgInviteAcceptedPayload`,description:`Payload for invite accepted event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},acceptedAt:{type:e.DateTime(),isOptional:!1}}}),h=new t({name:`OrgInviteDeclinedPayload`,description:`Payload for invite declined event`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},declinedAt:{type:e.DateTime(),isOptional:!1}}}),g=new t({name:`RoleAssignedPayload`,description:`Payload for role assigned event`,fields:{bindingId:{type:e.String_unsecure(),isOptional:!1},roleId:{type:e.String_unsecure(),isOptional:!1},roleName:{type:e.String_unsecure(),isOptional:!1},targetType:{type:e.String_unsecure(),isOptional:!1},targetId:{type:e.String_unsecure(),isOptional:!1},assignedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},assignedAt:{type:e.DateTime(),isOptional:!1}}}),_=new t({name:`RoleRevokedPayload`,description:`Payload for role revoked event`,fields:{bindingId:{type:e.String_unsecure(),isOptional:!1},roleId:{type:e.String_unsecure(),isOptional:!1},roleName:{type:e.String_unsecure(),isOptional:!1},targetType:{type:e.String_unsecure(),isOptional:!1},targetId:{type:e.String_unsecure(),isOptional:!1},revokedBy:{type:e.String_unsecure(),isOptional:!1},revokedAt:{type:e.DateTime(),isOptional:!1}}}),v=n({name:`user.created`,version:1,description:`A new user has been created.`,payload:r}),y=n({name:`user.updated`,version:1,description:`A user profile has been updated.`,payload:i}),b=n({name:`user.deleted`,version:1,description:`A user account has been deleted.`,pii:[`email`],payload:a}),x=n({name:`user.email_verified`,version:1,description:`A user has verified their email address.`,payload:o}),S=n({name:`org.created`,version:1,description:`A new organization has been created.`,payload:s}),C=n({name:`org.updated`,version:1,description:`An organization has been updated.`,payload:c}),w=n({name:`org.deleted`,version:1,description:`An organization has been deleted.`,payload:l}),T=n({name:`org.member.added`,version:1,description:`A user has joined an organization.`,payload:u}),E=n({name:`org.member.removed`,version:1,description:`A user has left or been removed from an organization.`,payload:d}),D=n({name:`org.member.role_changed`,version:1,description:`A member's role in an organization has changed.`,payload:f}),O=n({name:`org.invite.sent`,version:1,description:`An invitation to join an organization has been sent.`,pii:[`email`],payload:p}),k=n({name:`org.invite.accepted`,version:1,description:`An invitation has been accepted.`,payload:m}),A=n({name:`org.invite.declined`,version:1,description:`An invitation has been declined.`,payload:h}),j=n({name:`role.assigned`,version:1,description:`A role has been assigned.`,payload:g}),M=n({name:`role.revoked`,version:1,description:`A role has been revoked.`,payload:_}),N={UserCreatedEvent:v,UserUpdatedEvent:y,UserDeletedEvent:b,UserEmailVerifiedEvent:x,OrgCreatedEvent:S,OrgUpdatedEvent:C,OrgDeletedEvent:w,OrgMemberAddedEvent:T,OrgMemberRemovedEvent:E,OrgMemberRoleChangedEvent:D,OrgInviteSentEvent:O,OrgInviteAcceptedEvent:k,OrgInviteDeclinedEvent:A,RoleAssignedEvent:j,RoleRevokedEvent:M};export{N as IdentityRbacEvents,S as OrgCreatedEvent,w as OrgDeletedEvent,k as OrgInviteAcceptedEvent,A as OrgInviteDeclinedEvent,O as OrgInviteSentEvent,T as OrgMemberAddedEvent,E as OrgMemberRemovedEvent,D as OrgMemberRoleChangedEvent,C as OrgUpdatedEvent,j as RoleAssignedEvent,M as RoleRevokedEvent,v as UserCreatedEvent,b as UserDeletedEvent,x as UserEmailVerifiedEvent,y as UserUpdatedEvent};
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { CreateUserContract, CreateUserInputModel, DeleteUserContract, DeleteUserInputModel, GetCurrentUserContract, ListUsersContract, ListUsersInputModel, ListUsersOutputModel, SuccessResultModel, UpdateUserContract, UpdateUserInputModel, UserDeletedPayloadModel, UserProfileModel } from "./contracts/user.js";
2
2
  import { AcceptInviteContract, AcceptInviteInputModel, CreateOrgContract, CreateOrgInputModel, GetOrgContract, GetOrgInputModel, InvitationModel, InviteMemberContract, InviteMemberInputModel, ListMembersContract, ListMembersInputModel, ListMembersOutputModel, ListUserOrgsContract, ListUserOrgsOutputModel, MemberModel, MemberRemovedPayloadModel, MemberUserModel, OrganizationModel, OrganizationWithRoleModel, RemoveMemberContract, RemoveMemberInputModel, UpdateOrgContract, UpdateOrgInputModel } from "./contracts/organization.js";
3
3
  import { AssignRoleContract, AssignRoleInputModel, BindingIdPayloadModel, CheckPermissionContract, CheckPermissionInputModel, CreateRoleContract, CreateRoleInputModel, DeleteRoleContract, DeleteRoleInputModel, ListRolesContract, ListRolesOutputModel, ListUserPermissionsContract, ListUserPermissionsInputModel, ListUserPermissionsOutputModel, PermissionCheckResultModel, PolicyBindingModel, RevokeRoleContract, RevokeRoleInputModel, RoleModel, UpdateRoleContract, UpdateRoleInputModel } from "./contracts/rbac.js";
4
- import "./contracts/index.js";
5
4
  import { AccountEntity, SessionEntity, UserEntity, VerificationEntity } from "./entities/user.js";
6
5
  import { InvitationEntity, MemberEntity, OrganizationEntity, OrganizationTypeEnum, TeamEntity, TeamMemberEntity } from "./entities/organization.js";
7
6
  import { ApiKeyEntity, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity } from "./entities/rbac.js";
@@ -0,0 +1 @@
1
+ import"zod";import"graphql";
@@ -0,0 +1 @@
1
+ import"zod";import{GraphQLScalarType as e}from"graphql";var t=class extends e{zodSchema;jsonSchemaDef;constructor(e){super(e),this.zodSchema=e.zod,this.jsonSchemaDef=e.jsonSchema}getZod(){return this.zodSchema}getPothos(){return this}getJson(){return typeof this.jsonSchemaDef==`function`?this.jsonSchemaDef():this.jsonSchemaDef}getJsonSchemaDef(){return this.jsonSchemaDef}getJsonSchema(){let e=t=>{let n=typeof t==`function`?t():t;if(Array.isArray(n))return n.map(t=>e(t));if(n&&typeof n==`object`){let t={};for(let[r,i]of Object.entries(n))t[r]=e(i);return t}return n};return e(this.getJson())}};export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./FieldType.js";import*as t from"zod";import{Kind as n}from"graphql";const r=/^[A-Za-z]{2}(?:-[A-Za-z0-9]{2,8})*$/,i=/^(?:UTC|[A-Za-z_]+\/[A-Za-z_]+)$/,a=/^[+]?\d[\d\s().-]{3,}$/,o=/^[A-Z]{3}$/,s=/^[A-Z]{2}$/,c=-180,l={String_unsecure:()=>new e({name:`String_unsecure`,description:`Unvalidated string scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),Int_unsecure:()=>new e({name:`Int_unsecure`,description:`Unvalidated integer scalar`,zod:t.number().int(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().int().parse(n)},serialize:e=>Math.trunc(typeof e==`number`?e:Number(e)),parseLiteral:e=>{if(e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`integer`}}),Float_unsecure:()=>new e({name:`Float_unsecure`,description:`Unvalidated float scalar`,zod:t.number(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().parse(n)},serialize:e=>Number(e),parseLiteral:e=>{if(e.kind!==n.FLOAT&&e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`number`}}),Boolean:()=>new e({name:`Boolean`,description:`Unvalidated boolean scalar`,zod:t.boolean(),parseValue:e=>t.coerce.boolean().parse(e),serialize:e=>!!e,parseLiteral:e=>{if(e.kind!==n.BOOLEAN)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`boolean`}}),ID:()=>new e({name:`ID`,description:`Unvalidated id scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),JSON:()=>new e({name:`JSON`,zod:t.any(),parseValue:e=>e,serialize:e=>e,jsonSchema:{}}),JSONObject:()=>new e({name:`JSONObject`,zod:t.record(t.string(),t.any()),parseValue:e=>t.record(t.string(),t.any()).parse(e),serialize:e=>e??{},jsonSchema:{type:`object`}}),Date:()=>new e({name:`Date`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString().split(`T`)[0]:String(e),jsonSchema:{type:`string`,format:`date`}}),DateTime:()=>new e({name:`DateTime`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString():String(e),jsonSchema:{type:`string`,format:`date-time`}}),Time:()=>new e({name:`Time`,zod:t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/),parseValue:e=>t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:`^\\d{2}:\\d{2}(:\\d{2})?$`}}),EmailAddress:()=>new e({name:`EmailAddress`,zod:t.string().email(),parseValue:e=>t.string().email().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`email`}}),URL:()=>new e({name:`URL`,zod:t.string().url(),parseValue:e=>t.string().url().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`uri`}}),PhoneNumber:()=>new e({name:`PhoneNumber`,zod:t.string().regex(a),parseValue:e=>t.string().regex(a).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:a.source}}),NonEmptyString:()=>new e({name:`NonEmptyString`,zod:t.string().min(1),parseValue:e=>t.string().min(1).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,minLength:1}}),Locale:()=>new e({name:`Locale`,zod:t.string().regex(r),parseValue:e=>t.string().regex(r).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:r.source}}),TimeZone:()=>new e({name:`TimeZone`,zod:t.string().regex(i),parseValue:e=>t.string().regex(i).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:i.source}}),Latitude:()=>new e({name:`Latitude`,zod:t.number().min(-90).max(90),parseValue:e=>t.coerce.number().min(-90).max(90).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:-90,maximum:90}}),Longitude:()=>new e({name:`Longitude`,zod:t.number().min(c).max(180),parseValue:e=>t.coerce.number().min(c).max(180).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:c,maximum:180}}),Currency:()=>new e({name:`Currency`,zod:t.string().regex(o),parseValue:e=>t.string().regex(o).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:o.source}}),CountryCode:()=>new e({name:`CountryCode`,zod:t.string().regex(s),parseValue:e=>t.string().regex(s).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:s.source}})};export{l};
@@ -0,0 +1 @@
1
+ import"./EnumType.js";import"./FieldType.js";import*as e from"zod";var t=class{constructor(e){this.config=e}getZod(){let t=Object.entries(this.config.fields).reduce((t,[n,r])=>{let i=r.type.getZod(),a=r.isArray?e.array(i):i;return t[n]=r.isOptional?a.optional():a,t},{});return e.object(t)}getPothosInput(){return this.config.name}};export{t};
@@ -0,0 +1 @@
1
+ import*as e from"zod";function t(e){return e}function n(e){return e}const r={string(e){return{kind:`scalar`,type:`String`,...e}},int(e){return{kind:`scalar`,type:`Int`,...e}},float(e){return{kind:`scalar`,type:`Float`,...e}},boolean(e){return{kind:`scalar`,type:`Boolean`,...e}},dateTime(e){return{kind:`scalar`,type:`DateTime`,...e}},json(e){return{kind:`scalar`,type:`Json`,...e}},bigInt(e){return{kind:`scalar`,type:`BigInt`,...e}},decimal(e){return{kind:`scalar`,type:`Decimal`,...e}},bytes(e){return{kind:`scalar`,type:`Bytes`,...e}},id(e){return{kind:`scalar`,type:`String`,isId:!0,default:`cuid()`,...e}},uuid(e){return{kind:`scalar`,type:`String`,isId:!0,default:`uuid()`,...e}},autoIncrement(e){return{kind:`scalar`,type:`Int`,isId:!0,default:`autoincrement()`,...e}},createdAt(e){return{kind:`scalar`,type:`DateTime`,default:`now()`,...e}},updatedAt(e){return{kind:`scalar`,type:`DateTime`,updatedAt:!0,...e}},email(t){return{kind:`scalar`,type:`String`,zod:e.email(),...t}},url(t){return{kind:`scalar`,type:`String`,zod:e.url(),...t}},enum(e,t){return{kind:`enum`,enumName:e,...t}},inlineEnum(e,t,n){return{kind:`enum`,enumName:e,values:t,...n}},hasOne(e,t){return{kind:`relation`,type:`hasOne`,target:e,...t}},hasMany(e,t){return{kind:`relation`,type:`hasMany`,target:e,...t}},belongsTo(e,t,n,r){return{kind:`relation`,type:`belongsTo`,target:e,fields:t,references:n,...r}},foreignKey(e){return{kind:`scalar`,type:`String`,...e}}},i={on(e,t){return{fields:e,...t}},unique(e,t){return{fields:e,unique:!0,...t}},compound(e,t,n){return{fields:e,sort:t,...n}}};export{i,n,r,t};
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"./defineEntity.js";import"./types.js";
@@ -0,0 +1 @@
1
+ import"zod";
@@ -0,0 +1 @@
1
+ import"./EnumType.js";import{t as e}from"./FieldType.js";import{l as t}from"./ScalarTypeEnum.js";import{t as n}from"./SchemaModel.js";import{i as r,n as i,r as a,t as o}from"./entity/defineEntity.js";import"./entity/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lssm/lib.identity-rbac",
3
- "version": "0.0.0-canary-20251217060804",
3
+ "version": "0.0.0-canary-20251217062139",
4
4
  "description": "Identity, Organizations, and RBAC module for ContractSpec applications",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,13 +18,13 @@
18
18
  "lint:check": "eslint src"
19
19
  },
20
20
  "dependencies": {
21
- "@lssm/lib.schema": "0.0.0-canary-20251217060804",
22
- "@lssm/lib.contracts": "0.0.0-canary-20251217060804",
21
+ "@lssm/lib.schema": "0.0.0-canary-20251217062139",
22
+ "@lssm/lib.contracts": "0.0.0-canary-20251217062139",
23
23
  "zod": "^4.1.13"
24
24
  },
25
25
  "devDependencies": {
26
- "@lssm/tool.typescript": "0.0.0-canary-20251217060804",
27
- "@lssm/tool.tsdown": "0.0.0-canary-20251217060804",
26
+ "@lssm/tool.typescript": "0.0.0-canary-20251217062139",
27
+ "@lssm/tool.tsdown": "0.0.0-canary-20251217062139",
28
28
  "typescript": "^5.9.3"
29
29
  },
30
30
  "exports": {