@lssm/lib.identity-rbac 0.0.0-canary-20251217060834 → 0.0.0-canary-20251217062943
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.
- package/dist/contracts/dist/capabilities/openbanking.js +1 -0
- package/dist/contracts/dist/client/index.js +1 -0
- package/dist/contracts/dist/client/react/feature-render.js +1 -0
- package/dist/contracts/dist/client/react/form-render.js +1 -0
- package/dist/contracts/dist/client/react/index.js +1 -0
- package/dist/contracts/dist/contract-registry/index.js +1 -0
- package/dist/contracts/dist/contract-registry/schemas.js +1 -0
- package/dist/contracts/dist/docs/PUBLISHING.docblock.js +76 -0
- package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
- package/dist/contracts/dist/docs/index.js +1 -0
- package/dist/contracts/dist/docs/presentations.js +1 -0
- package/dist/contracts/dist/docs/registry.js +1 -0
- package/dist/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
- package/dist/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
- package/dist/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
- package/dist/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
- package/dist/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
- package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
- package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
- package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
- package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/schema/README.docblock.js +262 -0
- package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
- package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
- package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
- package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
- package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
- package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js +41 -0
- package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
- package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js +1 -0
- package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js +68 -0
- package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js +1 -0
- package/dist/contracts/dist/events.js +1 -0
- package/dist/contracts/dist/experiments/evaluator.js +1 -0
- package/dist/contracts/dist/index.js +1 -0
- package/dist/contracts/dist/install.js +1 -0
- package/dist/contracts/dist/integrations/contracts.js +1 -0
- package/dist/contracts/dist/integrations/index.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/models.js +1 -0
- package/dist/contracts/dist/integrations/openbanking/telemetry.js +1 -0
- package/dist/contracts/dist/integrations/providers/elevenlabs.js +1 -0
- package/dist/contracts/dist/integrations/providers/gcs-storage.js +1 -0
- package/dist/contracts/dist/integrations/providers/gmail.js +1 -0
- package/dist/contracts/dist/integrations/providers/google-calendar.js +1 -0
- package/dist/contracts/dist/integrations/providers/index.js +1 -0
- package/dist/contracts/dist/integrations/providers/mistral.js +1 -0
- package/dist/contracts/dist/integrations/providers/postmark.js +1 -0
- package/dist/contracts/dist/integrations/providers/powens.js +1 -0
- package/dist/contracts/dist/integrations/providers/qdrant.js +1 -0
- package/dist/contracts/dist/integrations/providers/registry.js +1 -0
- package/dist/contracts/dist/integrations/providers/stripe.js +1 -0
- package/dist/contracts/dist/integrations/providers/twilio-sms.js +1 -0
- package/dist/contracts/dist/jsonschema.js +1 -0
- package/dist/contracts/dist/knowledge/contracts.js +1 -0
- package/dist/contracts/dist/knowledge/index.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/email-threads.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/index.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/product-canon.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/support-faq.js +1 -0
- package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
- package/dist/contracts/dist/llm/exporters.js +1 -0
- package/dist/contracts/dist/llm/index.js +1 -0
- package/dist/contracts/dist/llm/prompts.js +1 -0
- package/dist/contracts/dist/onboarding-base.js +1 -0
- package/dist/contracts/dist/openapi.js +1 -0
- package/dist/contracts/dist/ownership.js +1 -0
- package/dist/contracts/dist/presentations.js +1 -0
- package/dist/contracts/dist/presentations.v2.js +1 -0
- package/dist/contracts/dist/prompt.js +1 -0
- package/dist/contracts/dist/promptRegistry.js +1 -0
- package/dist/contracts/dist/regenerator/index.js +1 -0
- package/dist/contracts/dist/regenerator/service.js +1 -0
- package/dist/contracts/dist/registry.js +1 -0
- package/dist/contracts/dist/resources.js +1 -0
- package/dist/contracts/dist/schema/dist/EnumType.js +1 -0
- package/dist/contracts/dist/schema/dist/FieldType.js +1 -0
- package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
- package/dist/contracts/dist/schema/dist/SchemaModel.js +1 -0
- package/dist/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
- package/dist/contracts/dist/schema/dist/entity/index.js +1 -0
- package/dist/contracts/dist/schema/dist/entity/types.js +1 -0
- package/dist/contracts/dist/schema/dist/index.js +1 -0
- package/dist/contracts/dist/server/graphql-pothos.js +1 -0
- package/dist/contracts/dist/server/index.js +1 -0
- package/dist/contracts/dist/server/mcp/createMcpServer.js +1 -0
- package/dist/contracts/dist/server/mcp/registerPresentations.js +1 -0
- package/dist/contracts/dist/server/mcp/registerPrompts.js +1 -0
- package/dist/contracts/dist/server/mcp/registerResources.js +1 -0
- package/dist/contracts/dist/server/mcp/registerTools.js +1 -0
- package/dist/contracts/dist/server/provider-mcp.js +1 -0
- package/dist/contracts/dist/server/rest-elysia.js +1 -0
- package/dist/contracts/dist/server/rest-express.js +1 -0
- package/dist/contracts/dist/server/rest-generic.js +1 -0
- package/dist/contracts/dist/server/rest-next-app.js +1 -0
- package/dist/contracts/dist/server/rest-next-pages.js +1 -0
- package/dist/contracts/dist/spec.js +1 -0
- package/dist/contracts/dist/telemetry/index.js +1 -0
- package/dist/contracts/dist/telemetry/tracker.js +1 -0
- package/dist/contracts/dist/tests/index.js +1 -0
- package/dist/contracts/dist/tests/runner.js +1 -0
- package/dist/contracts/dist/workflow/index.js +1 -0
- package/dist/contracts/dist/workflow/runner.js +1 -0
- package/dist/contracts/organization.d.ts +193 -193
- package/dist/contracts/organization.js +1 -1
- package/dist/contracts/rbac.d.ts +126 -126
- package/dist/contracts/rbac.js +1 -1
- package/dist/contracts/user.d.ts +139 -139
- package/dist/contracts/user.js +1 -1
- package/dist/entities/index.d.ts +160 -160
- package/dist/entities/organization.d.ts +59 -59
- package/dist/entities/organization.js +1 -1
- package/dist/entities/rbac.d.ts +63 -63
- package/dist/entities/rbac.js +1 -1
- package/dist/entities/user.d.ts +67 -67
- package/dist/entities/user.js +1 -1
- package/dist/events.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/schema/dist/EnumType.js +1 -0
- package/dist/schema/dist/FieldType.js +1 -0
- package/dist/schema/dist/ScalarTypeEnum.js +1 -0
- package/dist/schema/dist/SchemaModel.js +1 -0
- package/dist/schema/dist/entity/defineEntity.js +1 -0
- package/dist/schema/dist/entity/index.js +1 -0
- package/dist/schema/dist/entity/types.js +1 -0
- package/dist/schema/dist/index.js +1 -0
- package/package.json +5 -5
package/dist/entities/rbac.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema792 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:
|
|
8
|
-
id:
|
|
9
|
-
name:
|
|
10
|
-
description:
|
|
11
|
-
permissions:
|
|
12
|
-
createdAt:
|
|
13
|
-
updatedAt:
|
|
14
|
-
policyBindings:
|
|
7
|
+
declare const RoleEntity: _lssm_lib_schema792.EntitySpec<{
|
|
8
|
+
id: _lssm_lib_schema792.EntityScalarField;
|
|
9
|
+
name: _lssm_lib_schema792.EntityScalarField;
|
|
10
|
+
description: _lssm_lib_schema792.EntityScalarField;
|
|
11
|
+
permissions: _lssm_lib_schema792.EntityScalarField;
|
|
12
|
+
createdAt: _lssm_lib_schema792.EntityScalarField;
|
|
13
|
+
updatedAt: _lssm_lib_schema792.EntityScalarField;
|
|
14
|
+
policyBindings: _lssm_lib_schema792.EntityRelationField;
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Permission entity - atomic access right.
|
|
18
18
|
*/
|
|
19
|
-
declare const PermissionEntity:
|
|
20
|
-
id:
|
|
21
|
-
name:
|
|
22
|
-
description:
|
|
23
|
-
createdAt:
|
|
24
|
-
updatedAt:
|
|
19
|
+
declare const PermissionEntity: _lssm_lib_schema792.EntitySpec<{
|
|
20
|
+
id: _lssm_lib_schema792.EntityScalarField;
|
|
21
|
+
name: _lssm_lib_schema792.EntityScalarField;
|
|
22
|
+
description: _lssm_lib_schema792.EntityScalarField;
|
|
23
|
+
createdAt: _lssm_lib_schema792.EntityScalarField;
|
|
24
|
+
updatedAt: _lssm_lib_schema792.EntityScalarField;
|
|
25
25
|
}>;
|
|
26
26
|
/**
|
|
27
27
|
* PolicyBinding entity - binds roles to principals.
|
|
28
28
|
*/
|
|
29
|
-
declare const PolicyBindingEntity:
|
|
30
|
-
id:
|
|
31
|
-
roleId:
|
|
32
|
-
targetType:
|
|
33
|
-
targetId:
|
|
34
|
-
expiresAt:
|
|
35
|
-
createdAt:
|
|
36
|
-
userId:
|
|
37
|
-
organizationId:
|
|
38
|
-
role:
|
|
39
|
-
user:
|
|
40
|
-
organization:
|
|
29
|
+
declare const PolicyBindingEntity: _lssm_lib_schema792.EntitySpec<{
|
|
30
|
+
id: _lssm_lib_schema792.EntityScalarField;
|
|
31
|
+
roleId: _lssm_lib_schema792.EntityScalarField;
|
|
32
|
+
targetType: _lssm_lib_schema792.EntityScalarField;
|
|
33
|
+
targetId: _lssm_lib_schema792.EntityScalarField;
|
|
34
|
+
expiresAt: _lssm_lib_schema792.EntityScalarField;
|
|
35
|
+
createdAt: _lssm_lib_schema792.EntityScalarField;
|
|
36
|
+
userId: _lssm_lib_schema792.EntityScalarField;
|
|
37
|
+
organizationId: _lssm_lib_schema792.EntityScalarField;
|
|
38
|
+
role: _lssm_lib_schema792.EntityRelationField;
|
|
39
|
+
user: _lssm_lib_schema792.EntityRelationField;
|
|
40
|
+
organization: _lssm_lib_schema792.EntityRelationField;
|
|
41
41
|
}>;
|
|
42
42
|
/**
|
|
43
43
|
* ApiKey entity - API keys for programmatic access.
|
|
44
44
|
*/
|
|
45
|
-
declare const ApiKeyEntity:
|
|
46
|
-
id:
|
|
47
|
-
name:
|
|
48
|
-
start:
|
|
49
|
-
prefix:
|
|
50
|
-
key:
|
|
51
|
-
userId:
|
|
52
|
-
refillInterval:
|
|
53
|
-
refillAmount:
|
|
54
|
-
lastRefillAt:
|
|
55
|
-
remaining:
|
|
56
|
-
requestCount:
|
|
57
|
-
lastRequest:
|
|
58
|
-
enabled:
|
|
59
|
-
rateLimitEnabled:
|
|
60
|
-
rateLimitTimeWindow:
|
|
61
|
-
rateLimitMax:
|
|
62
|
-
expiresAt:
|
|
63
|
-
permissions:
|
|
64
|
-
metadata:
|
|
65
|
-
createdAt:
|
|
66
|
-
updatedAt:
|
|
67
|
-
user:
|
|
45
|
+
declare const ApiKeyEntity: _lssm_lib_schema792.EntitySpec<{
|
|
46
|
+
id: _lssm_lib_schema792.EntityScalarField;
|
|
47
|
+
name: _lssm_lib_schema792.EntityScalarField;
|
|
48
|
+
start: _lssm_lib_schema792.EntityScalarField;
|
|
49
|
+
prefix: _lssm_lib_schema792.EntityScalarField;
|
|
50
|
+
key: _lssm_lib_schema792.EntityScalarField;
|
|
51
|
+
userId: _lssm_lib_schema792.EntityScalarField;
|
|
52
|
+
refillInterval: _lssm_lib_schema792.EntityScalarField;
|
|
53
|
+
refillAmount: _lssm_lib_schema792.EntityScalarField;
|
|
54
|
+
lastRefillAt: _lssm_lib_schema792.EntityScalarField;
|
|
55
|
+
remaining: _lssm_lib_schema792.EntityScalarField;
|
|
56
|
+
requestCount: _lssm_lib_schema792.EntityScalarField;
|
|
57
|
+
lastRequest: _lssm_lib_schema792.EntityScalarField;
|
|
58
|
+
enabled: _lssm_lib_schema792.EntityScalarField;
|
|
59
|
+
rateLimitEnabled: _lssm_lib_schema792.EntityScalarField;
|
|
60
|
+
rateLimitTimeWindow: _lssm_lib_schema792.EntityScalarField;
|
|
61
|
+
rateLimitMax: _lssm_lib_schema792.EntityScalarField;
|
|
62
|
+
expiresAt: _lssm_lib_schema792.EntityScalarField;
|
|
63
|
+
permissions: _lssm_lib_schema792.EntityScalarField;
|
|
64
|
+
metadata: _lssm_lib_schema792.EntityScalarField;
|
|
65
|
+
createdAt: _lssm_lib_schema792.EntityScalarField;
|
|
66
|
+
updatedAt: _lssm_lib_schema792.EntityScalarField;
|
|
67
|
+
user: _lssm_lib_schema792.EntityRelationField;
|
|
68
68
|
}>;
|
|
69
69
|
/**
|
|
70
70
|
* Passkey entity - WebAuthn passkeys.
|
|
71
71
|
*/
|
|
72
|
-
declare const PasskeyEntity:
|
|
73
|
-
id:
|
|
74
|
-
name:
|
|
75
|
-
publicKey:
|
|
76
|
-
userId:
|
|
77
|
-
credentialID:
|
|
78
|
-
counter:
|
|
79
|
-
deviceType:
|
|
80
|
-
backedUp:
|
|
81
|
-
transports:
|
|
82
|
-
aaguid:
|
|
83
|
-
createdAt:
|
|
84
|
-
user:
|
|
72
|
+
declare const PasskeyEntity: _lssm_lib_schema792.EntitySpec<{
|
|
73
|
+
id: _lssm_lib_schema792.EntityScalarField;
|
|
74
|
+
name: _lssm_lib_schema792.EntityScalarField;
|
|
75
|
+
publicKey: _lssm_lib_schema792.EntityScalarField;
|
|
76
|
+
userId: _lssm_lib_schema792.EntityScalarField;
|
|
77
|
+
credentialID: _lssm_lib_schema792.EntityScalarField;
|
|
78
|
+
counter: _lssm_lib_schema792.EntityScalarField;
|
|
79
|
+
deviceType: _lssm_lib_schema792.EntityScalarField;
|
|
80
|
+
backedUp: _lssm_lib_schema792.EntityScalarField;
|
|
81
|
+
transports: _lssm_lib_schema792.EntityScalarField;
|
|
82
|
+
aaguid: _lssm_lib_schema792.EntityScalarField;
|
|
83
|
+
createdAt: _lssm_lib_schema792.EntityScalarField;
|
|
84
|
+
user: _lssm_lib_schema792.EntityRelationField;
|
|
85
85
|
}>;
|
|
86
86
|
//#endregion
|
|
87
87
|
export { ApiKeyEntity, PasskeyEntity, PermissionEntity, PolicyBindingEntity, RoleEntity };
|
package/dist/entities/rbac.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
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};
|
package/dist/entities/user.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _lssm_lib_schema854 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:
|
|
8
|
-
id:
|
|
9
|
-
email:
|
|
10
|
-
emailVerified:
|
|
11
|
-
name:
|
|
12
|
-
firstName:
|
|
13
|
-
lastName:
|
|
14
|
-
locale:
|
|
15
|
-
timezone:
|
|
16
|
-
imageUrl:
|
|
17
|
-
image:
|
|
18
|
-
metadata:
|
|
19
|
-
onboardingCompleted:
|
|
20
|
-
onboardingStep:
|
|
21
|
-
whitelistedAt:
|
|
22
|
-
role:
|
|
23
|
-
banned:
|
|
24
|
-
banReason:
|
|
25
|
-
banExpires:
|
|
26
|
-
phoneNumber:
|
|
27
|
-
phoneNumberVerified:
|
|
28
|
-
createdAt:
|
|
29
|
-
updatedAt:
|
|
30
|
-
sessions:
|
|
31
|
-
accounts:
|
|
32
|
-
memberships:
|
|
33
|
-
invitations:
|
|
34
|
-
teamMemberships:
|
|
35
|
-
policyBindings:
|
|
36
|
-
apiKeys:
|
|
37
|
-
passkeys:
|
|
7
|
+
declare const UserEntity: _lssm_lib_schema854.EntitySpec<{
|
|
8
|
+
id: _lssm_lib_schema854.EntityScalarField;
|
|
9
|
+
email: _lssm_lib_schema854.EntityScalarField;
|
|
10
|
+
emailVerified: _lssm_lib_schema854.EntityScalarField;
|
|
11
|
+
name: _lssm_lib_schema854.EntityScalarField;
|
|
12
|
+
firstName: _lssm_lib_schema854.EntityScalarField;
|
|
13
|
+
lastName: _lssm_lib_schema854.EntityScalarField;
|
|
14
|
+
locale: _lssm_lib_schema854.EntityScalarField;
|
|
15
|
+
timezone: _lssm_lib_schema854.EntityScalarField;
|
|
16
|
+
imageUrl: _lssm_lib_schema854.EntityScalarField;
|
|
17
|
+
image: _lssm_lib_schema854.EntityScalarField;
|
|
18
|
+
metadata: _lssm_lib_schema854.EntityScalarField;
|
|
19
|
+
onboardingCompleted: _lssm_lib_schema854.EntityScalarField;
|
|
20
|
+
onboardingStep: _lssm_lib_schema854.EntityScalarField;
|
|
21
|
+
whitelistedAt: _lssm_lib_schema854.EntityScalarField;
|
|
22
|
+
role: _lssm_lib_schema854.EntityScalarField;
|
|
23
|
+
banned: _lssm_lib_schema854.EntityScalarField;
|
|
24
|
+
banReason: _lssm_lib_schema854.EntityScalarField;
|
|
25
|
+
banExpires: _lssm_lib_schema854.EntityScalarField;
|
|
26
|
+
phoneNumber: _lssm_lib_schema854.EntityScalarField;
|
|
27
|
+
phoneNumberVerified: _lssm_lib_schema854.EntityScalarField;
|
|
28
|
+
createdAt: _lssm_lib_schema854.EntityScalarField;
|
|
29
|
+
updatedAt: _lssm_lib_schema854.EntityScalarField;
|
|
30
|
+
sessions: _lssm_lib_schema854.EntityRelationField;
|
|
31
|
+
accounts: _lssm_lib_schema854.EntityRelationField;
|
|
32
|
+
memberships: _lssm_lib_schema854.EntityRelationField;
|
|
33
|
+
invitations: _lssm_lib_schema854.EntityRelationField;
|
|
34
|
+
teamMemberships: _lssm_lib_schema854.EntityRelationField;
|
|
35
|
+
policyBindings: _lssm_lib_schema854.EntityRelationField;
|
|
36
|
+
apiKeys: _lssm_lib_schema854.EntityRelationField;
|
|
37
|
+
passkeys: _lssm_lib_schema854.EntityRelationField;
|
|
38
38
|
}>;
|
|
39
39
|
/**
|
|
40
40
|
* Session entity - login sessions.
|
|
41
41
|
*/
|
|
42
|
-
declare const SessionEntity:
|
|
43
|
-
id:
|
|
44
|
-
userId:
|
|
45
|
-
expiresAt:
|
|
46
|
-
token:
|
|
47
|
-
ipAddress:
|
|
48
|
-
userAgent:
|
|
49
|
-
impersonatedBy:
|
|
50
|
-
activeOrganizationId:
|
|
51
|
-
activeTeamId:
|
|
52
|
-
createdAt:
|
|
53
|
-
updatedAt:
|
|
54
|
-
user:
|
|
42
|
+
declare const SessionEntity: _lssm_lib_schema854.EntitySpec<{
|
|
43
|
+
id: _lssm_lib_schema854.EntityScalarField;
|
|
44
|
+
userId: _lssm_lib_schema854.EntityScalarField;
|
|
45
|
+
expiresAt: _lssm_lib_schema854.EntityScalarField;
|
|
46
|
+
token: _lssm_lib_schema854.EntityScalarField;
|
|
47
|
+
ipAddress: _lssm_lib_schema854.EntityScalarField;
|
|
48
|
+
userAgent: _lssm_lib_schema854.EntityScalarField;
|
|
49
|
+
impersonatedBy: _lssm_lib_schema854.EntityScalarField;
|
|
50
|
+
activeOrganizationId: _lssm_lib_schema854.EntityScalarField;
|
|
51
|
+
activeTeamId: _lssm_lib_schema854.EntityScalarField;
|
|
52
|
+
createdAt: _lssm_lib_schema854.EntityScalarField;
|
|
53
|
+
updatedAt: _lssm_lib_schema854.EntityScalarField;
|
|
54
|
+
user: _lssm_lib_schema854.EntityRelationField;
|
|
55
55
|
}>;
|
|
56
56
|
/**
|
|
57
57
|
* Account entity - external authentication accounts.
|
|
58
58
|
*/
|
|
59
|
-
declare const AccountEntity:
|
|
60
|
-
id:
|
|
61
|
-
accountId:
|
|
62
|
-
providerId:
|
|
63
|
-
userId:
|
|
64
|
-
accessToken:
|
|
65
|
-
refreshToken:
|
|
66
|
-
idToken:
|
|
67
|
-
accessTokenExpiresAt:
|
|
68
|
-
refreshTokenExpiresAt:
|
|
69
|
-
scope:
|
|
70
|
-
password:
|
|
71
|
-
createdAt:
|
|
72
|
-
updatedAt:
|
|
73
|
-
user:
|
|
59
|
+
declare const AccountEntity: _lssm_lib_schema854.EntitySpec<{
|
|
60
|
+
id: _lssm_lib_schema854.EntityScalarField;
|
|
61
|
+
accountId: _lssm_lib_schema854.EntityScalarField;
|
|
62
|
+
providerId: _lssm_lib_schema854.EntityScalarField;
|
|
63
|
+
userId: _lssm_lib_schema854.EntityScalarField;
|
|
64
|
+
accessToken: _lssm_lib_schema854.EntityScalarField;
|
|
65
|
+
refreshToken: _lssm_lib_schema854.EntityScalarField;
|
|
66
|
+
idToken: _lssm_lib_schema854.EntityScalarField;
|
|
67
|
+
accessTokenExpiresAt: _lssm_lib_schema854.EntityScalarField;
|
|
68
|
+
refreshTokenExpiresAt: _lssm_lib_schema854.EntityScalarField;
|
|
69
|
+
scope: _lssm_lib_schema854.EntityScalarField;
|
|
70
|
+
password: _lssm_lib_schema854.EntityScalarField;
|
|
71
|
+
createdAt: _lssm_lib_schema854.EntityScalarField;
|
|
72
|
+
updatedAt: _lssm_lib_schema854.EntityScalarField;
|
|
73
|
+
user: _lssm_lib_schema854.EntityRelationField;
|
|
74
74
|
}>;
|
|
75
75
|
/**
|
|
76
76
|
* Verification entity - email/phone verification tokens.
|
|
77
77
|
*/
|
|
78
|
-
declare const VerificationEntity:
|
|
79
|
-
id:
|
|
80
|
-
identifier:
|
|
81
|
-
value:
|
|
82
|
-
expiresAt:
|
|
83
|
-
createdAt:
|
|
84
|
-
updatedAt:
|
|
78
|
+
declare const VerificationEntity: _lssm_lib_schema854.EntitySpec<{
|
|
79
|
+
id: _lssm_lib_schema854.EntityScalarField;
|
|
80
|
+
identifier: _lssm_lib_schema854.EntityScalarField;
|
|
81
|
+
value: _lssm_lib_schema854.EntityScalarField;
|
|
82
|
+
expiresAt: _lssm_lib_schema854.EntityScalarField;
|
|
83
|
+
createdAt: _lssm_lib_schema854.EntityScalarField;
|
|
84
|
+
updatedAt: _lssm_lib_schema854.EntityScalarField;
|
|
85
85
|
}>;
|
|
86
86
|
//#endregion
|
|
87
87
|
export { AccountEntity, SessionEntity, UserEntity, VerificationEntity };
|
package/dist/entities/user.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
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{
|
|
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-
|
|
3
|
+
"version": "0.0.0-canary-20251217062943",
|
|
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-
|
|
22
|
-
"@lssm/lib.contracts": "0.0.0-canary-
|
|
21
|
+
"@lssm/lib.schema": "0.0.0-canary-20251217062943",
|
|
22
|
+
"@lssm/lib.contracts": "0.0.0-canary-20251217062943",
|
|
23
23
|
"zod": "^4.1.13"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@lssm/tool.typescript": "0.0.0-canary-
|
|
27
|
-
"@lssm/tool.tsdown": "0.0.0-canary-
|
|
26
|
+
"@lssm/tool.typescript": "0.0.0-canary-20251217062943",
|
|
27
|
+
"@lssm/tool.tsdown": "0.0.0-canary-20251217062943",
|
|
28
28
|
"typescript": "^5.9.3"
|
|
29
29
|
},
|
|
30
30
|
"exports": {
|