@cosmicdrift/kumiko-bundled-features 0.383.1 → 0.385.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 (140) hide show
  1. package/dist/audit/event-classification.d.ts +8 -0
  2. package/dist/audit/event-classification.js +69 -0
  3. package/dist/audit/feature.js +3 -3
  4. package/dist/audit/handlers/audit-events.d.ts +25 -3
  5. package/dist/audit/handlers/audit-events.js +41 -7
  6. package/dist/audit/handlers/details-all-tenants.query.d.ts +3 -0
  7. package/dist/audit/handlers/details-all-tenants.query.js +2 -5
  8. package/dist/audit/handlers/details.query.d.ts +3 -0
  9. package/dist/audit/handlers/details.query.js +5 -3
  10. package/dist/audit/handlers/list-all-tenants.query.d.ts +9 -2
  11. package/dist/audit/handlers/list-all-tenants.query.js +10 -8
  12. package/dist/audit/handlers/list.query.d.ts +8 -0
  13. package/dist/audit/handlers/list.query.js +12 -4
  14. package/dist/audit/screens.d.ts +37 -0
  15. package/dist/audit/screens.js +26 -4
  16. package/dist/audit/web/audit-event-cell.d.ts +4 -0
  17. package/dist/audit/web/audit-event-cell.js +20 -0
  18. package/dist/audit/web/audit-event-labels.d.ts +7 -0
  19. package/dist/audit/web/audit-event-labels.js +23 -0
  20. package/dist/audit/web/client-plugin.js +6 -1
  21. package/dist/audit/web/constants.d.ts +8 -0
  22. package/dist/audit/web/constants.js +7 -0
  23. package/dist/audit/web/i18n.js +48 -1
  24. package/dist/auth-email-password/feature.js +3 -2
  25. package/dist/auth-email-password/handlers/login-options.query.d.ts +5 -0
  26. package/dist/auth-email-password/handlers/login-options.query.js +17 -0
  27. package/dist/auth-email-password/index.d.ts +1 -1
  28. package/dist/auth-email-password/index.js +1 -1
  29. package/dist/auth-email-password/password-policy.d.ts +1 -0
  30. package/dist/auth-email-password/password-policy.js +195 -2087
  31. package/dist/auth-email-password/web/auth-form-primitives.js +9 -12
  32. package/dist/auth-email-password/{auth-paths.d.ts → web/auth-paths.d.ts} +5 -3
  33. package/dist/auth-email-password/{auth-paths.js → web/auth-paths.js} +5 -3
  34. package/dist/auth-email-password/web/client-plugin.d.ts +5 -0
  35. package/dist/auth-email-password/web/client-plugin.js +2 -0
  36. package/dist/auth-email-password/web/constants.d.ts +1 -0
  37. package/dist/auth-email-password/web/constants.js +1 -0
  38. package/dist/auth-email-password/web/default-auth-pages-gate.d.ts +4 -0
  39. package/dist/auth-email-password/web/default-auth-pages-gate.js +28 -0
  40. package/dist/auth-email-password/web/login-screen.d.ts +13 -18
  41. package/dist/auth-email-password/web/login-screen.js +31 -19
  42. package/dist/auth-mfa/schema/user-mfa.d.ts +6 -126
  43. package/dist/billing-foundation/entities.d.ts +8 -168
  44. package/dist/billing-foundation/projection.d.ts +8 -168
  45. package/dist/cap-counter/entity.d.ts +1 -21
  46. package/dist/channel-in-app/handlers/unread-count.query.js +1 -1
  47. package/dist/compliance-profiles/schema/profile-selection.d.ts +2 -28
  48. package/dist/config/table.d.ts +6 -126
  49. package/dist/custom-fields/db/queries/projection.js +1 -1
  50. package/dist/custom-fields/entity.d.ts +4 -84
  51. package/dist/data-retention/schema/tenant-retention-override.d.ts +6 -112
  52. package/dist/delivery/tables.d.ts +6 -126
  53. package/dist/document-ingest-foundation/entity.d.ts +6 -112
  54. package/dist/file-derivatives/feature.js +1 -1
  55. package/dist/folders/entity.d.ts +8 -168
  56. package/dist/form-draft/entity.d.ts +2 -42
  57. package/dist/inbound-mail-foundation/entities.d.ts +25 -525
  58. package/dist/inbound-mail-foundation/projection.d.ts +20 -420
  59. package/dist/jobs/feature.js +22 -117
  60. package/dist/jobs/handlers/consumer.write.d.ts +37 -0
  61. package/dist/jobs/handlers/consumer.write.js +59 -0
  62. package/dist/jobs/handlers/consumers.query.d.ts +52 -0
  63. package/dist/jobs/handlers/consumers.query.js +114 -0
  64. package/dist/jobs/job-run-table.d.ts +6 -126
  65. package/dist/jobs/screens.d.ts +6 -0
  66. package/dist/jobs/screens.js +241 -0
  67. package/dist/jobs/web/constants.d.ts +20 -0
  68. package/dist/jobs/web/constants.js +21 -0
  69. package/dist/jobs/web/i18n.js +41 -0
  70. package/dist/ledger/entity.d.ts +13 -273
  71. package/dist/ledger/web/index.js +1 -1
  72. package/dist/managed-pages/table.d.ts +12 -252
  73. package/dist/notes-history/entity.d.ts +14 -280
  74. package/dist/notes-history/handlers/add-note.write.js +1 -1
  75. package/dist/personal-access-tokens/i18n.d.ts +1 -0
  76. package/dist/personal-access-tokens/i18n.js +2 -0
  77. package/dist/personal-access-tokens/index.d.ts +1 -0
  78. package/dist/personal-access-tokens/index.js +1 -0
  79. package/dist/personal-access-tokens/schema/api-token.d.ts +6 -126
  80. package/dist/secrets/i18n.d.ts +0 -3
  81. package/dist/secrets/i18n.js +0 -3
  82. package/dist/secrets/table.d.ts +1 -21
  83. package/dist/sessions/constants.d.ts +2 -1
  84. package/dist/sessions/constants.js +2 -1
  85. package/dist/sessions/handlers/detail.query.d.ts +5 -0
  86. package/dist/sessions/handlers/detail.query.js +7 -3
  87. package/dist/sessions/handlers/list.query.d.ts +5 -0
  88. package/dist/sessions/handlers/list.query.js +16 -10
  89. package/dist/sessions/handlers/mine.query.d.ts +5 -0
  90. package/dist/sessions/handlers/mine.query.js +15 -9
  91. package/dist/sessions/schema/user-session.d.ts +4 -84
  92. package/dist/sessions/screens.js +22 -8
  93. package/dist/sessions/web/client-plugin.d.ts +6 -0
  94. package/dist/sessions/web/client-plugin.js +11 -0
  95. package/dist/sessions/web/constants.d.ts +3 -0
  96. package/dist/sessions/web/constants.js +3 -0
  97. package/dist/sessions/web/default-translations.d.ts +2 -0
  98. package/dist/sessions/web/default-translations.js +3 -0
  99. package/dist/sessions/web/i18n.js +5 -1
  100. package/dist/sessions/web/index.d.ts +1 -0
  101. package/dist/sessions/web/index.js +1 -0
  102. package/dist/sessions/web/session-device-cell.d.ts +3 -0
  103. package/dist/sessions/web/session-device-cell.js +16 -0
  104. package/dist/sessions/web/user-agent.d.ts +26 -0
  105. package/dist/sessions/web/user-agent.js +58 -0
  106. package/dist/shared/run-in-sub-transaction.js +1 -1
  107. package/dist/tags/entity.d.ts +9 -189
  108. package/dist/template-resolver/feature.d.ts +1 -0
  109. package/dist/template-resolver/feature.js +2 -0
  110. package/dist/template-resolver/handlers/overview.query.d.ts +5 -0
  111. package/dist/template-resolver/handlers/overview.query.js +19 -2
  112. package/dist/template-resolver/handlers/tenant-override-counts.query.d.ts +17 -0
  113. package/dist/template-resolver/handlers/tenant-override-counts.query.js +35 -0
  114. package/dist/template-resolver/handlers/tenant-override-selection.d.ts +12 -0
  115. package/dist/template-resolver/handlers/tenant-override-selection.js +34 -0
  116. package/dist/template-resolver/handlers/tenant-overrides.query.js +3 -29
  117. package/dist/template-resolver/table.d.ts +20 -350
  118. package/dist/template-resolver/user-content-table.d.ts +12 -238
  119. package/dist/template-resolver/web/qualified-names.d.ts +1 -0
  120. package/dist/template-resolver/web/qualified-names.js +1 -0
  121. package/dist/tenant/invitation-table.d.ts +6 -126
  122. package/dist/tenant/membership-table.d.ts +4 -84
  123. package/dist/tenant/schema/tenant.d.ts +6 -126
  124. package/dist/tier-engine/entity.d.ts +1 -21
  125. package/dist/tier-engine/tier-resolver.d.ts +1 -21
  126. package/dist/user/schema/user.d.ts +12 -252
  127. package/dist/user-data-rights/feature.js +33 -33
  128. package/dist/user-data-rights/schema/download-attempt.d.ts +14 -294
  129. package/dist/user-data-rights/schema/download-token.d.ts +8 -168
  130. package/dist/user-data-rights/schema/export-job.d.ts +8 -154
  131. package/dist/user-data-rights/web/i18n.js +4 -1
  132. package/dist/waitlist/entity.d.ts +16 -322
  133. package/package.json +17 -9
  134. package/src/audit/changes.json +6 -0
  135. package/src/auth-email-password/changes.json +12 -0
  136. package/src/jobs/changes.json +6 -0
  137. package/src/personal-access-tokens/changes.json +7 -0
  138. package/src/sessions/changes.json +6 -0
  139. package/src/template-resolver/changes.json +6 -0
  140. package/src/user-data-rights/changes.json +18 -0
@@ -0,0 +1,23 @@
1
+ import { AUDIT_EVENT_ACTIONS } from "./constants.js";
2
+ export function isAuditEventAction(value) {
3
+ return AUDIT_EVENT_ACTIONS.some((action) => action === value);
4
+ }
5
+ function humanizeEntityName(aggregateType) {
6
+ const spaced = aggregateType.replaceAll("-", " ").replace(/([a-z])([A-Z])/g, "$1 $2");
7
+ return spaced.charAt(0).toUpperCase() + spaced.slice(1).toLowerCase();
8
+ }
9
+ /** Singular entity noun: the entity's own `:noun` key, then the audit log's label for bundled entities, then the humanized aggregate type. */
10
+ export function auditEntityLabel(t, row) {
11
+ const aggregateType = row["aggregateType"];
12
+ if (typeof aggregateType !== "string")
13
+ return null;
14
+ const nounKey = row["entityNounKey"];
15
+ if (typeof nounKey === "string") {
16
+ const noun = t(nounKey, { count: 1 });
17
+ if (noun !== nounKey)
18
+ return noun;
19
+ }
20
+ const bundledKey = `audit.log.entity.${aggregateType}`;
21
+ const bundledLabel = t(bundledKey);
22
+ return bundledLabel === bundledKey ? humanizeEntityName(aggregateType) : bundledLabel;
23
+ }
@@ -1,9 +1,14 @@
1
1
  import { mergeTranslations } from "@cosmicdrift/kumiko-renderer";
2
- import { AUDIT_FEATURE } from "./constants.js";
2
+ import { AuditEventCell, AuditObjectCell } from "./audit-event-cell.js";
3
+ import { AUDIT_EVENT_CELL_COMPONENT, AUDIT_FEATURE, AUDIT_OBJECT_CELL_COMPONENT, } from "./constants.js";
3
4
  import { defaultTranslations } from "./default-translations.js";
4
5
  export function auditClient(options) {
5
6
  return {
6
7
  name: AUDIT_FEATURE,
7
8
  translations: mergeTranslations(defaultTranslations, options?.translations ?? {}),
9
+ columnRenderers: {
10
+ [AUDIT_EVENT_CELL_COMPONENT]: AuditEventCell,
11
+ [AUDIT_OBJECT_CELL_COMPONENT]: AuditObjectCell,
12
+ },
8
13
  };
9
14
  }
@@ -5,6 +5,14 @@ export declare const SYSTEM_ACTOR_ID: "system";
5
5
  export declare const ANONYMOUS_USER_ID: "anonymous";
6
6
  /** All `createdBy` values that mean "system" in the audit UI (nil-UUID from createSystemUser + literal). */
7
7
  export declare const SYSTEM_ACTOR_IDS: ReadonlySet<string>;
8
+ /** Column-renderer names shared by screens.ts and `auditClient()`. */
9
+ export declare const AUDIT_EVENT_CELL_COMPONENT: "audit-event-cell";
10
+ export declare const AUDIT_OBJECT_CELL_COMPONENT: "audit-object-cell";
11
+ /** Action suffix of entity events (`<entity>.<action>`); other event types have none. */
12
+ export declare const AUDIT_EVENT_ACTIONS: readonly ["created", "updated", "deleted", "restored"];
13
+ export type AuditEventAction = (typeof AUDIT_EVENT_ACTIONS)[number];
14
+ /** Value of the facet that brings technical entries (escape-hatch use) back into the log. */
15
+ export declare const INCLUDE_TECHNICAL_FILTER: "include-technical";
8
16
  export declare const AuditQueries: {
9
17
  readonly list: "audit:query:list";
10
18
  readonly details: "audit:query:details";
@@ -9,6 +9,13 @@ export const SYSTEM_ACTOR_IDS = new Set([
9
9
  SYSTEM_ACTOR_ID,
10
10
  "00000000-0000-0000-0000-000000000000",
11
11
  ]);
12
+ /** Column-renderer names shared by screens.ts and `auditClient()`. */
13
+ export const AUDIT_EVENT_CELL_COMPONENT = "audit-event-cell";
14
+ export const AUDIT_OBJECT_CELL_COMPONENT = "audit-object-cell";
15
+ /** Action suffix of entity events (`<entity>.<action>`); other event types have none. */
16
+ export const AUDIT_EVENT_ACTIONS = ["created", "updated", "deleted", "restored"];
17
+ /** Value of the facet that brings technical entries (escape-hatch use) back into the log. */
18
+ export const INCLUDE_TECHNICAL_FILTER = "include-technical";
12
19
  export const AuditQueries = {
13
20
  list: "audit:query:list",
14
21
  details: "audit:query:details",
@@ -21,8 +21,55 @@ export const AUDIT_I18N = {
21
21
  "audit.log.col.tenant": { en: "Tenant" },
22
22
  "audit.log.col.when": { en: "When" },
23
23
  "audit.log.col.type": { en: "Event" },
24
- "audit.log.col.aggregateType": { en: "Aggregate type" },
25
24
  "audit.log.col.aggregateId": { en: "Aggregate ID" },
25
+ "audit.log.col.aggregateType": { en: "Object" },
26
+ "audit.log.event": { en: "{entity} {action}" },
27
+ "audit.log.action.created": { en: "created" },
28
+ "audit.log.action.updated": { en: "updated" },
29
+ "audit.log.action.deleted": { en: "deleted" },
30
+ "audit.log.action.restored": { en: "restored" },
31
+ "audit.log.facet.technical": { en: "Technical entries" },
32
+ "audit.log.facet.technical.include": { en: "Show technical entries" },
33
+ "audit.log.event.custom-field-set": { en: "Custom field value set" },
34
+ "audit.log.event.custom-field-cleared": { en: "Custom field value cleared" },
35
+ "audit.log.event.field-definition-deleted": { en: "Custom field deleted" },
36
+ "audit.log.event.secret-read": { en: "Secret read" },
37
+ "audit.log.event.session-revoked": { en: "Session ended" },
38
+ "audit.log.event.subject-forgotten": { en: "Person forgotten (data erased)" },
39
+ "audit.log.event.forget-denied": { en: "Erasure request denied" },
40
+ "audit.log.event.pat-revoked": { en: "Access token revoked" },
41
+ "audit.log.event.mail-account-connected": { en: "Mail account connected" },
42
+ "audit.log.event.mail-account-updated": { en: "Mail account updated" },
43
+ "audit.log.event.mail-account-disconnected": { en: "Mail account disconnected" },
44
+ "audit.log.event.subscription-created": { en: "Subscription created" },
45
+ "audit.log.event.subscription-updated": { en: "Subscription updated" },
46
+ "audit.log.event.subscription-canceled": { en: "Subscription canceled" },
47
+ "audit.log.event.invoice-paid": { en: "Invoice paid" },
48
+ "audit.log.event.invoice-payment-failed": { en: "Invoice payment failed" },
49
+ "audit.log.event.payment-received": { en: "Payment received" },
50
+ "audit.log.event.checkout-consent-recorded": { en: "Checkout consent recorded" },
51
+ "audit.log.event.contract-confirmation-issued": { en: "Contract confirmation issued" },
52
+ "audit.log.event.contract-termination-revoked": { en: "Contract termination revoked" },
53
+ "audit.log.event.destruction-requested": { en: "Tenant deletion requested" },
54
+ "audit.log.event.destruction-cancelled": { en: "Tenant deletion cancelled" },
55
+ "audit.log.event.tenant-destruction-started": { en: "Tenant deletion started" },
56
+ "audit.log.event.tenant-destruction-completed": { en: "Tenant deletion completed" },
57
+ "audit.log.event.tenant-destruction-failed": { en: "Tenant deletion failed" },
58
+ "audit.log.event.tenant-handover-claimed": { en: "Tenant handover claimed" },
59
+ "audit.log.event.waitlist-exported": { en: "Waitlist exported" },
60
+ "audit.log.event.waitlist-purged": { en: "Waitlist purged" },
61
+ "audit.log.event.feature-toggle-set": { en: "Feature toggle changed" },
62
+ "audit.log.event.contract-termination-requested": { en: "Contract termination requested" },
63
+ "audit.log.event.contract-termination-declared": { en: "Contract termination declared" },
64
+ "audit.log.event.contract-termination-unmatched": { en: "Contract termination not matched" },
65
+ "audit.log.entity.tenant": { en: "Tenant" },
66
+ "audit.log.entity.tenant-membership": { en: "Membership" },
67
+ "audit.log.entity.tenant-invitation": { en: "Invitation" },
68
+ "audit.log.entity.user": { en: "User" },
69
+ "audit.log.entity.folder": { en: "Folder" },
70
+ "audit.log.entity.folder-assignment": { en: "Folder assignment" },
71
+ "audit.log.entity.field-definition": { en: "Custom field" },
72
+ "audit.log.entity.template-resource": { en: "Template" },
26
73
  "audit.log.col.actor": { en: "Actor" },
27
74
  "audit.log.details": { en: "Details" },
28
75
  "audit.log.detail.payload": { en: "Event payload" },
@@ -9,6 +9,7 @@ import { createInviteCreateHandler, createSystemInviteCreateHandler, } from "./h
9
9
  import { inviteInfoQuery } from "./handlers/invite-info.query.js";
10
10
  import { createInviteSignupCompleteHandler } from "./handlers/invite-signup-complete.write.js";
11
11
  import { createLoginHandler } from "./handlers/login.write.js";
12
+ import { loginOptionsQuery } from "./handlers/login-options.query.js";
12
13
  import { logoutWrite } from "./handlers/logout.write.js";
13
14
  import { createRequestAccountUnlockHandler, } from "./handlers/request-account-unlock.write.js";
14
15
  import { createRequestEmailVerificationHandler } from "./handlers/request-email-verification.write.js";
@@ -83,8 +84,7 @@ export function createAuthEmailPasswordFeature(opts = {}) {
83
84
  { key: "accountUnlock", label: "Account-Unlock-Flow", type: "boolean", default: false },
84
85
  ],
85
86
  });
86
- r.requires({ features: ["user"] });
87
- r.requires({ features: ["tenant"] });
87
+ r.requires({ features: ["user", "tenant"] });
88
88
  // All five magic-link flows (reset/verify/signup/invite/unlock) dispatch
89
89
  // via ctx.notify → delivery must be mounted. Fail closed at boot instead
90
90
  // of silently dropping the mail.
@@ -135,6 +135,7 @@ export function createAuthEmailPasswordFeature(opts = {}) {
135
135
  r.writeHandler(createVerifyEmailHandler(opts.emailVerification));
136
136
  }
137
137
  const queries = {
138
+ loginOptions: r.queryHandler(loginOptionsQuery),
138
139
  ...(opts.signup && {
139
140
  signupRegistrationStatus: r.queryHandler(selfRegistrationStatusQuery),
140
141
  }),
@@ -0,0 +1,5 @@
1
+ import * as z from "zod";
2
+ export declare const loginOptionsQuery: import("@cosmicdrift/kumiko-types/define-handler").QueryHandlerDefinition<"login-options", z.ZodObject<{}, z.core.$strip>, {
3
+ passwordReset: boolean;
4
+ accountUnlock: boolean;
5
+ }, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap>;
@@ -0,0 +1,17 @@
1
+ import { defineQueryHandler } from "@cosmicdrift/kumiko-framework/engine";
2
+ import * as z from "zod";
3
+ import { AuthHandlers } from "../web/constants.js";
4
+ // Anonymous-readable so the (unauthenticated) login screen can show the
5
+ // forgot-password and unlock links only when the matching mail flows are
6
+ // actually mounted, without every app having to pass hrefs by hand.
7
+ export const loginOptionsQuery = defineQueryHandler({
8
+ name: "login-options",
9
+ schema: z.object({}),
10
+ access: { roles: ["anonymous", "User", "TenantAdmin", "SystemAdmin"] },
11
+ rateLimit: { per: "ip+handler", limit: 30, windowSeconds: 60 },
12
+ description: "Reports which optional login-page flows (password reset, account unlock) are available, readable without signing in, so the login screen links only to flows that exist.",
13
+ handler: async (_query, ctx) => ({
14
+ passwordReset: ctx.registry.getWriteHandler(AuthHandlers.requestPasswordReset) !== undefined,
15
+ accountUnlock: ctx.registry.getWriteHandler(AuthHandlers.requestAccountUnlock) !== undefined,
16
+ }),
17
+ });
@@ -1,5 +1,4 @@
1
1
  export { hashPassword, verifyPassword } from "../shared/password-hashing.ts";
2
- export { type AuthPath, type AuthPaths, DEFAULT_AUTH_PATHS, makeAuthPaths } from "./auth-paths.ts";
3
2
  export type { BootstrapConfigValue, BootstrapDeps, BootstrapInvite, BootstrapInviteOutcome, BootstrapPlan, BootstrapReport, BootstrapSeedDeps, BootstrapSystemAdmin, BootstrapTenant, BootstrapTenantOutcome, } from "./bootstrap.ts";
4
3
  export { BootstrapPlanError, BootstrapWriteError, bootstrapTenants } from "./bootstrap.ts";
5
4
  export type { AuthMailLocale } from "./email-templates.ts";
@@ -10,4 +9,5 @@ export { AUTH_SELF_REGISTRATION_FEATURE, createAuthSelfRegistrationToggleFeature
10
9
  export { signToken, TokenPurpose, type VerifyResult, verifyToken } from "./signed-token.ts";
11
10
  export { type IssuedSignupActivation, type IssueSignupActivationArgs, issueSignupActivation, SIGNUP_ACTIVATION_NOTIFICATION_TYPE, } from "./signup-activation.ts";
12
11
  export { invalidateExistingSignupToken, normalizeEmail, SIGNUP_TOKEN_KEY_PREFIXES, storeSignupToken, } from "./signup-token-store.ts";
12
+ export { type AuthPath, type AuthPaths, DEFAULT_AUTH_PATHS, DEFAULT_FORGOT_PASSWORD_PATH, makeAuthPaths, } from "./web/auth-paths.ts";
13
13
  export { AUTH_EMAIL_PASSWORD_FEATURE, AuthErrors, AuthHandlers, AuthQueries, } from "./web/constants.ts";
@@ -5,7 +5,6 @@
5
5
  // hashPassword/verifyPassword; removing it is a breaking change that needs
6
6
  // its own changeset + deliberate deprecation window, not a silent drop.
7
7
  export { hashPassword, verifyPassword } from "../shared/password-hashing.js";
8
- export { DEFAULT_AUTH_PATHS, makeAuthPaths } from "./auth-paths.js";
9
8
  export { BootstrapPlanError, BootstrapWriteError, bootstrapTenants } from "./bootstrap.js";
10
9
  export { authEmailPasswordEnvSchema, createAuthEmailPasswordFeature } from "./feature.js";
11
10
  export { AuthMailNotificationTypes } from "./mail-notifications.js";
@@ -18,4 +17,5 @@ export { AUTH_SELF_REGISTRATION_FEATURE, createAuthSelfRegistrationToggleFeature
18
17
  export { signToken, TokenPurpose, verifyToken } from "./signed-token.js";
19
18
  export { issueSignupActivation, SIGNUP_ACTIVATION_NOTIFICATION_TYPE, } from "./signup-activation.js";
20
19
  export { invalidateExistingSignupToken, normalizeEmail, SIGNUP_TOKEN_KEY_PREFIXES, storeSignupToken, } from "./signup-token-store.js";
20
+ export { DEFAULT_AUTH_PATHS, DEFAULT_FORGOT_PASSWORD_PATH, makeAuthPaths, } from "./web/auth-paths.js";
21
21
  export { AUTH_EMAIL_PASSWORD_FEATURE, AuthErrors, AuthHandlers, AuthQueries, } from "./web/constants.js";
@@ -1,3 +1,4 @@
1
1
  import * as z from "zod";
2
+ export declare const commonPasswordCount: number;
2
3
  export declare function isCommonPassword(password: string): boolean;
3
4
  export declare const passwordSchema: z.ZodString;