@logto/schemas 1.41.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/alterations/1.42.0-1783916980-add-domain-verification-files.ts +20 -0
  2. package/alterations/1.42.0-1784619793-add-service-logs-created-at-index.ts +33 -0
  3. package/alterations/1.42.0-1784620000-add-saml-sso-connector-signing-keys-table.ts +38 -0
  4. package/alterations/1.43.0-1785393731-add-oidc-model-instances-account-id-partial-index.ts +33 -0
  5. package/alterations/1.43.0-1785481546-add-tenant-aware-scope-indexes.ts +33 -0
  6. package/alterations/1.43.0-1785488115-add-cimd-permission-ceiling-tables.ts +77 -0
  7. package/alterations/1.43.0-1785722831-add-oidc-session-extensions-account-id-index.ts +27 -0
  8. package/alterations/1.43.0-1785835991-add-cimd-client-identifier-columns.ts +31 -0
  9. package/alterations/1.43.0-1786325989-add-cimd-grant-organizations-table.ts +54 -0
  10. package/alterations/1.43.0-1786333495-add-trusted-devices.ts +57 -0
  11. package/alterations/1.43.0-1786373004-tighten-cimd-grant-organizations-pkey.ts +28 -0
  12. package/alterations/1.43.0-1786414712-add-service-logs-email-indexes.ts +34 -0
  13. package/alterations/1.43.0-1786431364-add-cimd-grant-client-snapshots-table.ts +43 -0
  14. package/alterations/utils/1704934999-tables.ts +22 -1
  15. package/alterations-js/1.42.0-1783916980-add-domain-verification-files.js +16 -0
  16. package/alterations-js/1.42.0-1784619793-add-service-logs-created-at-index.js +29 -0
  17. package/alterations-js/1.42.0-1784620000-add-saml-sso-connector-signing-keys-table.js +33 -0
  18. package/alterations-js/1.43.0-1785393731-add-oidc-model-instances-account-id-partial-index.js +28 -0
  19. package/alterations-js/1.43.0-1785481546-add-tenant-aware-scope-indexes.js +28 -0
  20. package/alterations-js/1.43.0-1785488115-add-cimd-permission-ceiling-tables.js +69 -0
  21. package/alterations-js/1.43.0-1785722831-add-oidc-session-extensions-account-id-index.js +23 -0
  22. package/alterations-js/1.43.0-1785835991-add-cimd-client-identifier-columns.js +27 -0
  23. package/alterations-js/1.43.0-1786325989-add-cimd-grant-organizations-table.js +49 -0
  24. package/alterations-js/1.43.0-1786333495-add-trusted-devices.js +50 -0
  25. package/alterations-js/1.43.0-1786373004-tighten-cimd-grant-organizations-pkey.js +24 -0
  26. package/alterations-js/1.43.0-1786414712-add-service-logs-email-indexes.js +30 -0
  27. package/alterations-js/1.43.0-1786431364-add-cimd-grant-client-snapshots-table.js +38 -0
  28. package/alterations-js/utils/1704934999-tables.js +19 -1
  29. package/lib/consts/experience.d.ts +1 -0
  30. package/lib/consts/experience.js +1 -0
  31. package/lib/consts/index.d.ts +1 -0
  32. package/lib/consts/index.js +1 -0
  33. package/lib/consts/product-event.d.ts +5 -1
  34. package/lib/consts/product-event.js +4 -0
  35. package/lib/consts/social-state.d.ts +12 -0
  36. package/lib/consts/social-state.js +12 -0
  37. package/lib/db-entries/cimd-grant-client-snapshot.d.ts +32 -0
  38. package/lib/db-entries/cimd-grant-client-snapshot.js +45 -0
  39. package/lib/db-entries/cimd-grant-organization.d.ts +30 -0
  40. package/lib/db-entries/cimd-grant-organization.js +37 -0
  41. package/lib/db-entries/cimd-organization-resource-scope.d.ts +20 -0
  42. package/lib/db-entries/cimd-organization-resource-scope.js +25 -0
  43. package/lib/db-entries/cimd-organization-scope.d.ts +20 -0
  44. package/lib/db-entries/cimd-organization-scope.js +25 -0
  45. package/lib/db-entries/cimd-resource-scope.d.ts +20 -0
  46. package/lib/db-entries/cimd-resource-scope.js +25 -0
  47. package/lib/db-entries/cimd-user-scope.d.ts +20 -0
  48. package/lib/db-entries/cimd-user-scope.js +25 -0
  49. package/lib/db-entries/domain.d.ts +4 -2
  50. package/lib/db-entries/domain.js +5 -1
  51. package/lib/db-entries/index.d.ts +8 -0
  52. package/lib/db-entries/index.js +8 -0
  53. package/lib/db-entries/oidc-session-extension.d.ts +3 -1
  54. package/lib/db-entries/oidc-session-extension.js +4 -0
  55. package/lib/db-entries/organization.d.ts +5 -1
  56. package/lib/db-entries/organization.js +4 -0
  57. package/lib/db-entries/saml-sso-connector-signing-key.d.ts +32 -0
  58. package/lib/db-entries/saml-sso-connector-signing-key.js +49 -0
  59. package/lib/db-entries/sign-in-experience.d.ts +4 -2
  60. package/lib/db-entries/sign-in-experience.js +5 -1
  61. package/lib/db-entries/trusted-device.d.ts +36 -0
  62. package/lib/db-entries/trusted-device.js +62 -0
  63. package/lib/db-entries/user.d.ts +3 -1
  64. package/lib/db-entries/user.js +4 -0
  65. package/lib/foundations/jsonb-types/account-centers.d.ts +3 -0
  66. package/lib/foundations/jsonb-types/account-centers.js +1 -0
  67. package/lib/foundations/jsonb-types/account-centers.test.d.ts +1 -0
  68. package/lib/foundations/jsonb-types/account-centers.test.js +13 -0
  69. package/lib/foundations/jsonb-types/custom-domain.d.ts +57 -0
  70. package/lib/foundations/jsonb-types/custom-domain.js +51 -0
  71. package/lib/foundations/jsonb-types/custom-domain.test.d.ts +1 -0
  72. package/lib/foundations/jsonb-types/custom-domain.test.js +38 -0
  73. package/lib/foundations/jsonb-types/hooks.d.ts +9 -5
  74. package/lib/foundations/jsonb-types/hooks.js +8 -0
  75. package/lib/foundations/jsonb-types/logs.d.ts +18 -0
  76. package/lib/foundations/jsonb-types/logs.js +6 -0
  77. package/lib/foundations/jsonb-types/one-time-tokens.d.ts +5 -0
  78. package/lib/foundations/jsonb-types/one-time-tokens.js +2 -0
  79. package/lib/foundations/jsonb-types/sign-in-experience.d.ts +39 -4
  80. package/lib/foundations/jsonb-types/sign-in-experience.js +10 -0
  81. package/lib/foundations/jsonb-types/sign-in-experience.test.js +17 -1
  82. package/lib/types/application.d.ts +131 -1
  83. package/lib/types/application.js +8 -0
  84. package/lib/types/connector.d.ts +8 -0
  85. package/lib/types/consent.d.ts +16 -190
  86. package/lib/types/consent.js +10 -1
  87. package/lib/types/custom-profile-fields.d.ts +2 -1
  88. package/lib/types/domain.d.ts +9 -0
  89. package/lib/types/hook.d.ts +37 -5
  90. package/lib/types/index.d.ts +1 -0
  91. package/lib/types/index.js +1 -0
  92. package/lib/types/interaction-event.d.ts +11 -0
  93. package/lib/types/interaction-event.js +12 -0
  94. package/lib/types/interactions.d.ts +2 -11
  95. package/lib/types/interactions.js +2 -11
  96. package/lib/types/log/action.d.ts +7 -0
  97. package/lib/types/log/action.js +6 -0
  98. package/lib/types/log/index.d.ts +8 -2
  99. package/lib/types/log/index.js +2 -0
  100. package/lib/types/log/trusted-device.d.ts +7 -0
  101. package/lib/types/log/trusted-device.js +6 -0
  102. package/lib/types/logto-config/action.d.ts +963 -0
  103. package/lib/types/logto-config/action.js +77 -0
  104. package/lib/types/logto-config/index.d.ts +68 -26
  105. package/lib/types/logto-config/index.js +20 -7
  106. package/lib/types/logto-config/index.test.js +32 -9
  107. package/lib/types/logto-config/jwt-customizer.d.ts +60 -10
  108. package/lib/types/logto-config/jwt-customizer.js +1 -1
  109. package/lib/types/logto-config/oidc-provider.d.ts +2 -2
  110. package/lib/types/organization.d.ts +136 -1
  111. package/lib/types/organization.js +3 -2
  112. package/lib/types/service-log.d.ts +14 -1
  113. package/lib/types/service-log.js +13 -0
  114. package/lib/types/sign-in-experience.d.ts +18 -10
  115. package/lib/types/sign-in-experience.js +2 -1
  116. package/lib/types/sso-connector.d.ts +58 -0
  117. package/lib/types/sso-connector.js +12 -0
  118. package/lib/types/system.d.ts +2 -2
  119. package/lib/types/trusted-device.d.ts +67 -0
  120. package/lib/types/trusted-device.js +16 -0
  121. package/lib/types/user-sessions.d.ts +117 -238
  122. package/lib/types/user-sessions.js +9 -4
  123. package/lib/types/user.d.ts +10 -3
  124. package/lib/types/user.js +1 -0
  125. package/lib/types/verification-records/one-time-token-verification.d.ts +5 -0
  126. package/lib/utils/cimd.d.ts +14 -0
  127. package/lib/utils/cimd.js +14 -0
  128. package/lib/utils/cimd.test.d.ts +1 -0
  129. package/lib/utils/cimd.test.js +9 -0
  130. package/lib/utils/index.d.ts +1 -0
  131. package/lib/utils/index.js +1 -0
  132. package/package.json +7 -7
  133. package/tables/cimd_grant_client_snapshots.sql +27 -0
  134. package/tables/cimd_grant_organizations.sql +38 -0
  135. package/tables/cimd_organization_resource_scopes.sql +16 -0
  136. package/tables/cimd_organization_scopes.sql +15 -0
  137. package/tables/cimd_resource_scopes.sql +15 -0
  138. package/tables/cimd_user_scopes.sql +13 -0
  139. package/tables/domains.sql +1 -0
  140. package/tables/oidc_model_instances.sql +5 -0
  141. package/tables/oidc_session_extensions.sql +5 -0
  142. package/tables/organization_scopes.sql +4 -0
  143. package/tables/organizations.sql +2 -0
  144. package/tables/saml_sso_connector_signing_keys.sql +21 -0
  145. package/tables/scopes.sql +4 -0
  146. package/tables/service_logs.sql +19 -0
  147. package/tables/sign_in_experiences.sql +1 -0
  148. package/tables/trusted_devices.sql +25 -0
  149. package/tables/users.sql +1 -0
  150. package/lib/types/logto-config/inline-hook.d.ts +0 -76
  151. package/lib/types/logto-config/inline-hook.js +0 -25
@@ -1,7 +1,137 @@
1
1
  import { UserScope } from '@logto/core-kit';
2
2
  import { z } from 'zod';
3
3
  import { type Application } from '../db-entries/index.js';
4
- export type ApplicationResponse = Application & {
4
+ /**
5
+ * The application response returned by Management APIs.
6
+ *
7
+ * The legacy client secret is only present before it has been replaced by an internal secret.
8
+ */
9
+ export declare const applicationResponseGuard: z.ZodObject<{
10
+ tenantId: z.ZodType<string, z.ZodTypeDef, string>;
11
+ id: z.ZodType<string, z.ZodTypeDef, string>;
12
+ name: z.ZodType<string, z.ZodTypeDef, string>;
13
+ description: z.ZodType<string | null, z.ZodTypeDef, string | null>;
14
+ type: z.ZodType<import("../db-entries/custom-types.js").ApplicationType, z.ZodTypeDef, import("../db-entries/custom-types.js").ApplicationType>;
15
+ oidcClientMetadata: z.ZodType<import("../index.js").OidcClientMetadata, z.ZodTypeDef, import("../index.js").OidcClientMetadata>;
16
+ customClientMetadata: z.ZodType<{
17
+ corsAllowedOrigins?: string[] | undefined;
18
+ idTokenTtl?: number | undefined;
19
+ refreshTokenTtl?: number | undefined;
20
+ refreshTokenTtlInDays?: number | undefined;
21
+ tenantId?: string | undefined;
22
+ alwaysIssueRefreshToken?: boolean | undefined;
23
+ rotateRefreshToken?: boolean | undefined;
24
+ allowTokenExchange?: boolean | undefined;
25
+ isDeviceFlow?: boolean | undefined;
26
+ maxAllowedGrants?: number | undefined;
27
+ }, z.ZodTypeDef, {
28
+ corsAllowedOrigins?: string[] | undefined;
29
+ idTokenTtl?: number | undefined;
30
+ refreshTokenTtl?: number | undefined;
31
+ refreshTokenTtlInDays?: number | undefined;
32
+ tenantId?: string | undefined;
33
+ alwaysIssueRefreshToken?: boolean | undefined;
34
+ rotateRefreshToken?: boolean | undefined;
35
+ allowTokenExchange?: boolean | undefined;
36
+ isDeviceFlow?: boolean | undefined;
37
+ maxAllowedGrants?: number | undefined;
38
+ }>;
39
+ protectedAppMetadata: z.ZodType<{
40
+ host: string;
41
+ origin: string;
42
+ sessionDuration: number;
43
+ pageRules: {
44
+ path: string;
45
+ }[];
46
+ additionalScopes?: (UserScope.CustomData | UserScope.Identities | UserScope.Roles | UserScope.Organizations | UserScope.OrganizationRoles)[] | undefined;
47
+ customDomains?: {
48
+ status: import("../index.js").DomainStatus;
49
+ domain: string;
50
+ errorMessage: string | null;
51
+ dnsRecords: {
52
+ value: string;
53
+ type: string;
54
+ name: string;
55
+ }[];
56
+ cloudflareData: {
57
+ status: string;
58
+ id: string;
59
+ ssl: {
60
+ status: string;
61
+ validation_errors?: {
62
+ message: string;
63
+ }[] | undefined;
64
+ };
65
+ verification_errors?: string[] | undefined;
66
+ } | null;
67
+ }[] | undefined;
68
+ } | null, z.ZodTypeDef, {
69
+ host: string;
70
+ origin: string;
71
+ sessionDuration: number;
72
+ pageRules: {
73
+ path: string;
74
+ }[];
75
+ additionalScopes?: (UserScope.CustomData | UserScope.Identities | UserScope.Roles | UserScope.Organizations | UserScope.OrganizationRoles)[] | undefined;
76
+ customDomains?: {
77
+ status: import("../index.js").DomainStatus;
78
+ domain: string;
79
+ errorMessage: string | null;
80
+ dnsRecords: {
81
+ value: string;
82
+ type: string;
83
+ name: string;
84
+ }[];
85
+ cloudflareData: {
86
+ status: string;
87
+ id: string;
88
+ ssl: {
89
+ status: string;
90
+ validation_errors?: {
91
+ message: string;
92
+ }[] | undefined;
93
+ };
94
+ verification_errors?: string[] | undefined;
95
+ } | null;
96
+ }[] | undefined;
97
+ } | null>;
98
+ customData: z.ZodType<import("@withtyped/server").JsonObject, z.ZodTypeDef, import("@withtyped/server").JsonObject>;
99
+ isThirdParty: z.ZodType<boolean, z.ZodTypeDef, boolean>;
100
+ appLevelAccessControlEnabled: z.ZodType<boolean, z.ZodTypeDef, boolean>;
101
+ createdAt: z.ZodType<number, z.ZodTypeDef, number>;
102
+ } & {
103
+ secret: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
104
+ }, "strip", z.ZodTypeAny, {
105
+ type: import("../db-entries/custom-types.js").ApplicationType;
106
+ name: string;
107
+ id: string;
108
+ tenantId: string;
109
+ createdAt: number;
110
+ customData: import("@withtyped/server").JsonObject;
111
+ description: string | null;
112
+ oidcClientMetadata: import("../index.js").OidcClientMetadata;
113
+ customClientMetadata: import("../index.js").CustomClientMetadata;
114
+ protectedAppMetadata: import("../index.js").ProtectedAppMetadata | null;
115
+ isThirdParty: boolean;
116
+ appLevelAccessControlEnabled: boolean;
117
+ secret?: string | undefined;
118
+ }, {
119
+ type: import("../db-entries/custom-types.js").ApplicationType;
120
+ name: string;
121
+ id: string;
122
+ tenantId: string;
123
+ createdAt: number;
124
+ customData: import("@withtyped/server").JsonObject;
125
+ description: string | null;
126
+ oidcClientMetadata: import("../index.js").OidcClientMetadata;
127
+ customClientMetadata: import("../index.js").CustomClientMetadata;
128
+ protectedAppMetadata: import("../index.js").ProtectedAppMetadata | null;
129
+ isThirdParty: boolean;
130
+ appLevelAccessControlEnabled: boolean;
131
+ secret?: string | undefined;
132
+ }>;
133
+ export type ApplicationApiResponse = z.infer<typeof applicationResponseGuard>;
134
+ export type ApplicationResponse = ApplicationApiResponse & {
5
135
  isAdmin: boolean;
6
136
  };
7
137
  /**
@@ -1,6 +1,14 @@
1
1
  import { UserScope } from '@logto/core-kit';
2
2
  import { z } from 'zod';
3
3
  import { Applications, OrganizationScopes, Resources, Scopes, ApplicationSignInExperiences, } from '../db-entries/index.js';
4
+ /**
5
+ * The application response returned by Management APIs.
6
+ *
7
+ * The legacy client secret is only present before it has been replaced by an internal secret.
8
+ */
9
+ export const applicationResponseGuard = Applications.guard.extend({
10
+ secret: Applications.guard.shape.secret.optional(),
11
+ });
4
12
  /** The guard for {@link FeaturedApplication}. */
5
13
  export const featuredApplicationGuard = Applications.guard.pick({
6
14
  id: true,
@@ -255,6 +255,7 @@ export declare const connectorResponseGuard: z.ZodObject<{
255
255
  es?: string | undefined;
256
256
  "es-ES"?: string | undefined;
257
257
  "es-419"?: string | undefined;
258
+ "es-MX"?: string | undefined;
258
259
  "et-EE"?: string | undefined;
259
260
  "eu-ES"?: string | undefined;
260
261
  "fa-IR"?: string | undefined;
@@ -389,6 +390,7 @@ export declare const connectorResponseGuard: z.ZodObject<{
389
390
  es?: string | undefined;
390
391
  "es-ES"?: string | undefined;
391
392
  "es-419"?: string | undefined;
393
+ "es-MX"?: string | undefined;
392
394
  "et-EE"?: string | undefined;
393
395
  "eu-ES"?: string | undefined;
394
396
  "fa-IR"?: string | undefined;
@@ -593,6 +595,7 @@ export declare const connectorResponseGuard: z.ZodObject<{
593
595
  es?: string | undefined;
594
596
  "es-ES"?: string | undefined;
595
597
  "es-419"?: string | undefined;
598
+ "es-MX"?: string | undefined;
596
599
  "et-EE"?: string | undefined;
597
600
  "eu-ES"?: string | undefined;
598
601
  "fa-IR"?: string | undefined;
@@ -727,6 +730,7 @@ export declare const connectorResponseGuard: z.ZodObject<{
727
730
  es?: string | undefined;
728
731
  "es-ES"?: string | undefined;
729
732
  "es-419"?: string | undefined;
733
+ "es-MX"?: string | undefined;
730
734
  "et-EE"?: string | undefined;
731
735
  "eu-ES"?: string | undefined;
732
736
  "fa-IR"?: string | undefined;
@@ -1136,6 +1140,7 @@ export declare const connectorFactoryResponseGuard: z.ZodObject<{
1136
1140
  es?: string | undefined;
1137
1141
  "es-ES"?: string | undefined;
1138
1142
  "es-419"?: string | undefined;
1143
+ "es-MX"?: string | undefined;
1139
1144
  "et-EE"?: string | undefined;
1140
1145
  "eu-ES"?: string | undefined;
1141
1146
  "fa-IR"?: string | undefined;
@@ -1270,6 +1275,7 @@ export declare const connectorFactoryResponseGuard: z.ZodObject<{
1270
1275
  es?: string | undefined;
1271
1276
  "es-ES"?: string | undefined;
1272
1277
  "es-419"?: string | undefined;
1278
+ "es-MX"?: string | undefined;
1273
1279
  "et-EE"?: string | undefined;
1274
1280
  "eu-ES"?: string | undefined;
1275
1281
  "fa-IR"?: string | undefined;
@@ -1467,6 +1473,7 @@ export declare const connectorFactoryResponseGuard: z.ZodObject<{
1467
1473
  es?: string | undefined;
1468
1474
  "es-ES"?: string | undefined;
1469
1475
  "es-419"?: string | undefined;
1476
+ "es-MX"?: string | undefined;
1470
1477
  "et-EE"?: string | undefined;
1471
1478
  "eu-ES"?: string | undefined;
1472
1479
  "fa-IR"?: string | undefined;
@@ -1601,6 +1608,7 @@ export declare const connectorFactoryResponseGuard: z.ZodObject<{
1601
1608
  es?: string | undefined;
1602
1609
  "es-ES"?: string | undefined;
1603
1610
  "es-419"?: string | undefined;
1611
+ "es-MX"?: string | undefined;
1604
1612
  "et-EE"?: string | undefined;
1605
1613
  "eu-ES"?: string | undefined;
1606
1614
  "fa-IR"?: string | undefined;
@@ -54,6 +54,7 @@ export declare const publicUserInfoGuard: z.ZodObject<Pick<{
54
54
  }>;
55
55
  }>>;
56
56
  applicationId: z.ZodType<string | null, z.ZodTypeDef, string | null>;
57
+ cimdClientId: z.ZodType<string | null, z.ZodTypeDef, string | null>;
57
58
  identities: z.ZodType<Record<string, {
58
59
  userId: string;
59
60
  details?: Record<string, import("@withtyped/server").Json> | undefined;
@@ -144,102 +145,15 @@ export declare const publicUserInfoGuard: z.ZodObject<Pick<{
144
145
  export type PublicUserInfo = z.infer<typeof publicUserInfoGuard>;
145
146
  /**
146
147
  * Define the public application info that can be exposed to the public. e.g. on the user consent page.
148
+ *
149
+ * The overrides lift the applications-table column length bounds for CIMD clients: `id` carries
150
+ * the identifier URL (up to 2048 characters), and `name` the remote document's `client_name`,
151
+ * which is unbounded and empty when the document omits it.
147
152
  */
148
- export declare const publicApplicationGuard: z.ZodObject<Pick<{
149
- tenantId: z.ZodType<string, z.ZodTypeDef, string>;
150
- id: z.ZodType<string, z.ZodTypeDef, string>;
151
- name: z.ZodType<string, z.ZodTypeDef, string>;
152
- secret: z.ZodType<string, z.ZodTypeDef, string>;
153
- description: z.ZodType<string | null, z.ZodTypeDef, string | null>;
154
- type: z.ZodType<import("../db-entries/custom-types.js").ApplicationType, z.ZodTypeDef, import("../db-entries/custom-types.js").ApplicationType>;
155
- oidcClientMetadata: z.ZodType<import("../index.js").OidcClientMetadata, z.ZodTypeDef, import("../index.js").OidcClientMetadata>;
156
- customClientMetadata: z.ZodType<{
157
- corsAllowedOrigins?: string[] | undefined;
158
- idTokenTtl?: number | undefined;
159
- refreshTokenTtl?: number | undefined;
160
- refreshTokenTtlInDays?: number | undefined;
161
- tenantId?: string | undefined;
162
- alwaysIssueRefreshToken?: boolean | undefined;
163
- rotateRefreshToken?: boolean | undefined;
164
- allowTokenExchange?: boolean | undefined;
165
- isDeviceFlow?: boolean | undefined;
166
- maxAllowedGrants?: number | undefined;
167
- }, z.ZodTypeDef, {
168
- corsAllowedOrigins?: string[] | undefined;
169
- idTokenTtl?: number | undefined;
170
- refreshTokenTtl?: number | undefined;
171
- refreshTokenTtlInDays?: number | undefined;
172
- tenantId?: string | undefined;
173
- alwaysIssueRefreshToken?: boolean | undefined;
174
- rotateRefreshToken?: boolean | undefined;
175
- allowTokenExchange?: boolean | undefined;
176
- isDeviceFlow?: boolean | undefined;
177
- maxAllowedGrants?: number | undefined;
178
- }>;
179
- protectedAppMetadata: z.ZodType<{
180
- host: string;
181
- origin: string;
182
- sessionDuration: number;
183
- pageRules: {
184
- path: string;
185
- }[];
186
- additionalScopes?: (import("@logto/core-kit").UserScope.CustomData | import("@logto/core-kit").UserScope.Identities | import("@logto/core-kit").UserScope.Roles | import("@logto/core-kit").UserScope.Organizations | import("@logto/core-kit").UserScope.OrganizationRoles)[] | undefined;
187
- customDomains?: {
188
- status: import("../index.js").DomainStatus;
189
- domain: string;
190
- errorMessage: string | null;
191
- dnsRecords: {
192
- value: string;
193
- type: string;
194
- name: string;
195
- }[];
196
- cloudflareData: {
197
- status: string;
198
- id: string;
199
- ssl: {
200
- status: string;
201
- validation_errors?: {
202
- message: string;
203
- }[] | undefined;
204
- };
205
- verification_errors?: string[] | undefined;
206
- } | null;
207
- }[] | undefined;
208
- } | null, z.ZodTypeDef, {
209
- host: string;
210
- origin: string;
211
- sessionDuration: number;
212
- pageRules: {
213
- path: string;
214
- }[];
215
- additionalScopes?: (import("@logto/core-kit").UserScope.CustomData | import("@logto/core-kit").UserScope.Identities | import("@logto/core-kit").UserScope.Roles | import("@logto/core-kit").UserScope.Organizations | import("@logto/core-kit").UserScope.OrganizationRoles)[] | undefined;
216
- customDomains?: {
217
- status: import("../index.js").DomainStatus;
218
- domain: string;
219
- errorMessage: string | null;
220
- dnsRecords: {
221
- value: string;
222
- type: string;
223
- name: string;
224
- }[];
225
- cloudflareData: {
226
- status: string;
227
- id: string;
228
- ssl: {
229
- status: string;
230
- validation_errors?: {
231
- message: string;
232
- }[] | undefined;
233
- };
234
- verification_errors?: string[] | undefined;
235
- } | null;
236
- }[] | undefined;
237
- } | null>;
238
- customData: z.ZodType<import("@withtyped/server").JsonObject, z.ZodTypeDef, import("@withtyped/server").JsonObject>;
239
- isThirdParty: z.ZodType<boolean, z.ZodTypeDef, boolean>;
240
- appLevelAccessControlEnabled: z.ZodType<boolean, z.ZodTypeDef, boolean>;
241
- createdAt: z.ZodType<number, z.ZodTypeDef, number>;
242
- }, "name" | "id">, "strip", z.ZodTypeAny, {
153
+ export declare const publicApplicationGuard: z.ZodObject<{} & {
154
+ id: z.ZodString;
155
+ name: z.ZodString;
156
+ }, "strip", z.ZodTypeAny, {
243
157
  name: string;
244
158
  id: string;
245
159
  }, {
@@ -357,6 +271,7 @@ export declare const publicOrganizationGuard: z.ZodObject<Pick<{
357
271
  description: z.ZodType<string | null, z.ZodTypeDef, string | null>;
358
272
  customData: z.ZodType<import("@withtyped/server").JsonObject, z.ZodTypeDef, import("@withtyped/server").JsonObject>;
359
273
  isMfaRequired: z.ZodType<boolean, z.ZodTypeDef, boolean>;
274
+ isTrustedDeviceAllowed: z.ZodType<boolean, z.ZodTypeDef, boolean>;
360
275
  color: z.ZodType<Partial<{
361
276
  primaryColor: string;
362
277
  isDarkModeEnabled: boolean;
@@ -471,101 +386,10 @@ export declare const publicOrganizationGuard: z.ZodObject<Pick<{
471
386
  }>;
472
387
  export type PublicOrganization = z.infer<typeof publicOrganizationGuard>;
473
388
  export declare const consentInfoResponseGuard: z.ZodObject<{
474
- application: z.ZodObject<Pick<{
475
- tenantId: z.ZodType<string, z.ZodTypeDef, string>;
476
- id: z.ZodType<string, z.ZodTypeDef, string>;
477
- name: z.ZodType<string, z.ZodTypeDef, string>;
478
- secret: z.ZodType<string, z.ZodTypeDef, string>;
479
- description: z.ZodType<string | null, z.ZodTypeDef, string | null>;
480
- type: z.ZodType<import("../db-entries/custom-types.js").ApplicationType, z.ZodTypeDef, import("../db-entries/custom-types.js").ApplicationType>;
481
- oidcClientMetadata: z.ZodType<import("../index.js").OidcClientMetadata, z.ZodTypeDef, import("../index.js").OidcClientMetadata>;
482
- customClientMetadata: z.ZodType<{
483
- corsAllowedOrigins?: string[] | undefined;
484
- idTokenTtl?: number | undefined;
485
- refreshTokenTtl?: number | undefined;
486
- refreshTokenTtlInDays?: number | undefined;
487
- tenantId?: string | undefined;
488
- alwaysIssueRefreshToken?: boolean | undefined;
489
- rotateRefreshToken?: boolean | undefined;
490
- allowTokenExchange?: boolean | undefined;
491
- isDeviceFlow?: boolean | undefined;
492
- maxAllowedGrants?: number | undefined;
493
- }, z.ZodTypeDef, {
494
- corsAllowedOrigins?: string[] | undefined;
495
- idTokenTtl?: number | undefined;
496
- refreshTokenTtl?: number | undefined;
497
- refreshTokenTtlInDays?: number | undefined;
498
- tenantId?: string | undefined;
499
- alwaysIssueRefreshToken?: boolean | undefined;
500
- rotateRefreshToken?: boolean | undefined;
501
- allowTokenExchange?: boolean | undefined;
502
- isDeviceFlow?: boolean | undefined;
503
- maxAllowedGrants?: number | undefined;
504
- }>;
505
- protectedAppMetadata: z.ZodType<{
506
- host: string;
507
- origin: string;
508
- sessionDuration: number;
509
- pageRules: {
510
- path: string;
511
- }[];
512
- additionalScopes?: (import("@logto/core-kit").UserScope.CustomData | import("@logto/core-kit").UserScope.Identities | import("@logto/core-kit").UserScope.Roles | import("@logto/core-kit").UserScope.Organizations | import("@logto/core-kit").UserScope.OrganizationRoles)[] | undefined;
513
- customDomains?: {
514
- status: import("../index.js").DomainStatus;
515
- domain: string;
516
- errorMessage: string | null;
517
- dnsRecords: {
518
- value: string;
519
- type: string;
520
- name: string;
521
- }[];
522
- cloudflareData: {
523
- status: string;
524
- id: string;
525
- ssl: {
526
- status: string;
527
- validation_errors?: {
528
- message: string;
529
- }[] | undefined;
530
- };
531
- verification_errors?: string[] | undefined;
532
- } | null;
533
- }[] | undefined;
534
- } | null, z.ZodTypeDef, {
535
- host: string;
536
- origin: string;
537
- sessionDuration: number;
538
- pageRules: {
539
- path: string;
540
- }[];
541
- additionalScopes?: (import("@logto/core-kit").UserScope.CustomData | import("@logto/core-kit").UserScope.Identities | import("@logto/core-kit").UserScope.Roles | import("@logto/core-kit").UserScope.Organizations | import("@logto/core-kit").UserScope.OrganizationRoles)[] | undefined;
542
- customDomains?: {
543
- status: import("../index.js").DomainStatus;
544
- domain: string;
545
- errorMessage: string | null;
546
- dnsRecords: {
547
- value: string;
548
- type: string;
549
- name: string;
550
- }[];
551
- cloudflareData: {
552
- status: string;
553
- id: string;
554
- ssl: {
555
- status: string;
556
- validation_errors?: {
557
- message: string;
558
- }[] | undefined;
559
- };
560
- verification_errors?: string[] | undefined;
561
- } | null;
562
- }[] | undefined;
563
- } | null>;
564
- customData: z.ZodType<import("@withtyped/server").JsonObject, z.ZodTypeDef, import("@withtyped/server").JsonObject>;
565
- isThirdParty: z.ZodType<boolean, z.ZodTypeDef, boolean>;
566
- appLevelAccessControlEnabled: z.ZodType<boolean, z.ZodTypeDef, boolean>;
567
- createdAt: z.ZodType<number, z.ZodTypeDef, number>;
568
- }, "name" | "id"> & {
389
+ application: z.ZodObject<{} & {
390
+ id: z.ZodString;
391
+ name: z.ZodString;
392
+ } & {
569
393
  displayName: z.ZodOptional<z.ZodType<string | null, z.ZodTypeDef, string | null>>;
570
394
  branding: z.ZodOptional<z.ZodType<{
571
395
  logoUrl?: string | undefined;
@@ -657,6 +481,7 @@ export declare const consentInfoResponseGuard: z.ZodObject<{
657
481
  }>;
658
482
  }>>;
659
483
  applicationId: z.ZodType<string | null, z.ZodTypeDef, string | null>;
484
+ cimdClientId: z.ZodType<string | null, z.ZodTypeDef, string | null>;
660
485
  identities: z.ZodType<Record<string, {
661
486
  userId: string;
662
487
  details?: Record<string, import("@withtyped/server").Json> | undefined;
@@ -751,6 +576,7 @@ export declare const consentInfoResponseGuard: z.ZodObject<{
751
576
  description: z.ZodType<string | null, z.ZodTypeDef, string | null>;
752
577
  customData: z.ZodType<import("@withtyped/server").JsonObject, z.ZodTypeDef, import("@withtyped/server").JsonObject>;
753
578
  isMfaRequired: z.ZodType<boolean, z.ZodTypeDef, boolean>;
579
+ isTrustedDeviceAllowed: z.ZodType<boolean, z.ZodTypeDef, boolean>;
754
580
  color: z.ZodType<Partial<{
755
581
  primaryColor: string;
756
582
  isDarkModeEnabled: boolean;
@@ -13,10 +13,19 @@ export const publicUserInfoGuard = Users.guard.pick({
13
13
  });
14
14
  /**
15
15
  * Define the public application info that can be exposed to the public. e.g. on the user consent page.
16
+ *
17
+ * The overrides lift the applications-table column length bounds for CIMD clients: `id` carries
18
+ * the identifier URL (up to 2048 characters), and `name` the remote document's `client_name`,
19
+ * which is unbounded and empty when the document omits it.
16
20
  */
17
- export const publicApplicationGuard = Applications.guard.pick({
21
+ export const publicApplicationGuard = Applications.guard
22
+ .pick({
18
23
  id: true,
19
24
  name: true,
25
+ })
26
+ .extend({
27
+ id: z.string(),
28
+ name: z.string(),
20
29
  });
21
30
  export const applicationSignInExperienceGuard = ApplicationSignInExperiences.guard.pick({
22
31
  branding: true,
@@ -2457,6 +2457,7 @@ export declare const signInIdentifierKeyGuard: z.ZodObject<Pick<{
2457
2457
  }>;
2458
2458
  }>>>;
2459
2459
  applicationId: z.ZodOptional<z.ZodType<string | null, z.ZodTypeDef, string | null>>;
2460
+ cimdClientId: z.ZodOptional<z.ZodType<string | null, z.ZodTypeDef, string | null>>;
2460
2461
  identities: z.ZodOptional<z.ZodType<Record<string, {
2461
2462
  userId: string;
2462
2463
  details?: Record<string, import("@withtyped/server/lib/types.js").Json> | undefined;
@@ -2545,7 +2546,7 @@ export declare const signInIdentifierKeyGuard: z.ZodObject<Pick<{
2545
2546
  primaryEmail?: string | null;
2546
2547
  primaryPhone?: string | null;
2547
2548
  }>;
2548
- export declare const reservedSignInIdentifierKeys: readonly ["username", "email", "phone", "primaryEmail", "primaryPhone"];
2549
+ export declare const reservedSignInIdentifierKeys: readonly ["username", "primaryEmail", "primaryPhone", "email", "phone"];
2549
2550
  /** Reserved user profile keys. Currently only `preferredUsername` is reserved for standard IdP usage. */
2550
2551
  export declare const reservedBuiltInProfileKeyGuard: z.ZodObject<Pick<{
2551
2552
  familyName: z.ZodOptional<z.ZodString>;
@@ -15,6 +15,15 @@ export declare const domainResponseGuard: z.ZodObject<Pick<{
15
15
  type: string;
16
16
  name: string;
17
17
  }[]>;
18
+ verificationFiles: z.ZodType<{
19
+ path: string;
20
+ content: string;
21
+ contentType: import("../index.js").DomainVerificationFileContentType;
22
+ }[], z.ZodTypeDef, {
23
+ path: string;
24
+ content: string;
25
+ contentType: import("../index.js").DomainVerificationFileContentType;
26
+ }[]>;
18
27
  cloudflareData: z.ZodType<{
19
28
  status: string;
20
29
  id: string;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { type Application, type User } from '../db-entries/index.js';
2
+ import { type Application, type TrustedDevice, type User } from '../db-entries/index.js';
3
3
  import { type ExceptionHookEvent, type DataHookEvent, type InteractionHookEvent } from '../foundations/index.js';
4
4
  import { type InteractionEvent } from './interactions.js';
5
5
  import { type userInfoSelectFields } from './user.js';
@@ -18,8 +18,8 @@ export declare const hookResponseGuard: z.ZodObject<{
18
18
  tenantId: z.ZodType<string, z.ZodTypeDef, string>;
19
19
  id: z.ZodType<string, z.ZodTypeDef, string>;
20
20
  name: z.ZodType<string, z.ZodTypeDef, string>;
21
- event: z.ZodType<"User.Created" | "User.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | InteractionHookEvent | null, z.ZodTypeDef, "User.Created" | "User.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | InteractionHookEvent | null>;
22
- events: z.ZodType<("User.Created" | "User.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | InteractionHookEvent)[], z.ZodTypeDef, ("User.Created" | "User.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | InteractionHookEvent)[]>;
21
+ event: z.ZodType<"User.Created" | "User.Deleted" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | InteractionHookEvent | null, z.ZodTypeDef, "User.Created" | "User.Deleted" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | InteractionHookEvent | null>;
22
+ events: z.ZodType<("User.Created" | "User.Deleted" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | InteractionHookEvent)[], z.ZodTypeDef, ("User.Created" | "User.Deleted" | "TrustedDevice.Created" | "TrustedDevice.Deleted" | "Role.Created" | "Role.Deleted" | "Scope.Created" | "Scope.Deleted" | "Organization.Created" | "Organization.Deleted" | "OrganizationRole.Created" | "OrganizationRole.Deleted" | "OrganizationScope.Created" | "OrganizationScope.Deleted" | "User.Data.Updated" | "Role.Data.Updated" | "Scope.Data.Updated" | "Organization.Data.Updated" | "OrganizationRole.Data.Updated" | "OrganizationScope.Data.Updated" | "User.SuspensionStatus.Updated" | "Role.Scopes.Updated" | "Organization.Membership.Updated" | "OrganizationRole.Scopes.Updated" | "Identifier.Lockout" | "Message.RateLimited" | "Grant.LimitExceeded" | InteractionHookEvent)[]>;
23
23
  config: z.ZodType<{
24
24
  url: string;
25
25
  headers?: Record<string, string> | undefined;
@@ -90,8 +90,13 @@ export type HookTestErrorResponseData = z.infer<typeof hookTestErrorResponseData
90
90
  * we will store the context before processing the interaction and consume it after the interaction is processed if needed.
91
91
  */
92
92
  export type InteractionApiMetadata = {
93
- /** The application ID if the hook is triggered by interaction API. */
93
+ /** The registered application ID if the hook is triggered by interaction API. */
94
94
  applicationId?: string;
95
+ /**
96
+ * The CIMD client identifier URL, kept apart from `applicationId` so payload consumers
97
+ * branch on key presence instead of URL shape.
98
+ */
99
+ cimdClientId?: string;
95
100
  /** The session ID if the hook is triggered by interaction API. */
96
101
  sessionId?: string;
97
102
  /** The InteractionEvent if the hook is triggered by interaction API. */
@@ -100,6 +105,8 @@ export type InteractionApiMetadata = {
100
105
  type InteractionApiContextPayload = {
101
106
  /** Fetch application detail by application ID before sending the hook event */
102
107
  application?: Pick<Application, 'id' | 'type' | 'name' | 'description'>;
108
+ /** CIMD clients are unregistered, so the identifier URL stands in for `application`. */
109
+ cimdClientId?: string;
103
110
  sessionId?: string;
104
111
  interactionEvent?: InteractionEvent;
105
112
  };
@@ -140,8 +147,33 @@ export type DataHookEventPayload = {
140
147
  userAgent?: string;
141
148
  data?: unknown;
142
149
  } & Partial<InteractionApiContextPayload> & Partial<ManagementApiContext> & Record<string, unknown>;
143
- export type ExceptionHookEventPayload = Omit<DataHookEventPayload, 'event'> & {
150
+ /** The intentionally limited trusted-device projection exposed by lifecycle events. */
151
+ export type TrustedDeviceEventData = Pick<TrustedDevice, 'id' | 'userId' | 'expiresAt'>;
152
+ /**
153
+ * A key-remapping omit instead of the built-in `Omit`: on a type carrying a string index
154
+ * signature (e.g. the hook event payloads), `Omit` collapses every named property into
155
+ * `unknown`; the homomorphic form keeps the named properties typed.
156
+ */
157
+ export type BetterOmit<T, Ignore> = {
158
+ [key in keyof T as key extends Ignore ? never : key]: T[key];
159
+ };
160
+ export type ExceptionHookEventPayload = BetterOmit<DataHookEventPayload, 'event'> & {
144
161
  event: ExceptionHookEvent;
145
162
  };
163
+ export type GrantLimitExceededEventData = {
164
+ userId: string;
165
+ /** The registered application ID; absent for a CIMD client. */
166
+ applicationId?: string;
167
+ /**
168
+ * The CIMD client identifier URL, set instead of `applicationId`. No grant-ceiling source
169
+ * exists for CIMD clients today (the CIMD policy denies Logto private client metadata
170
+ * regardless of source), so this key is defensive: it keeps `applicationId` registered-only
171
+ * by construction should a ceiling for CIMD clients ever be introduced.
172
+ */
173
+ cimdClientId?: string;
174
+ revokedGrantIds: string[];
175
+ maxAllowedGrants: number;
176
+ preRevocationActiveGrantCount: number;
177
+ };
146
178
  export type HookEventPayload = InteractionHookEventPayload | DataHookEventPayload | ExceptionHookEventPayload;
147
179
  export {};
@@ -36,3 +36,4 @@ export * from './custom-profile-fields.js';
36
36
  export * from './secrets.js';
37
37
  export * from './user-logto-config.js';
38
38
  export * from './user-sessions.js';
39
+ export * from './trusted-device.js';
@@ -36,3 +36,4 @@ export * from './custom-profile-fields.js';
36
36
  export * from './secrets.js';
37
37
  export * from './user-logto-config.js';
38
38
  export * from './user-sessions.js';
39
+ export * from './trusted-device.js';
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * User interaction events defined in Logto RFC 0004.
4
+ * @see {@link https://github.com/logto-io/rfcs | Logto RFCs} for more information.
5
+ */
6
+ export declare enum InteractionEvent {
7
+ SignIn = "SignIn",
8
+ Register = "Register",
9
+ ForgotPassword = "ForgotPassword"
10
+ }
11
+ export declare const eventGuard: z.ZodNativeEnum<typeof InteractionEvent>;
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * User interaction events defined in Logto RFC 0004.
4
+ * @see {@link https://github.com/logto-io/rfcs | Logto RFCs} for more information.
5
+ */
6
+ export var InteractionEvent;
7
+ (function (InteractionEvent) {
8
+ InteractionEvent["SignIn"] = "SignIn";
9
+ InteractionEvent["Register"] = "Register";
10
+ InteractionEvent["ForgotPassword"] = "ForgotPassword";
11
+ })(InteractionEvent || (InteractionEvent = {}));
12
+ export const eventGuard = z.nativeEnum(InteractionEvent);