@cosmicdrift/kumiko-bundled-features 0.378.0 → 0.379.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 (632) hide show
  1. package/dist/account-security/feature.js +2 -2
  2. package/dist/account-security/index.d.ts +2 -2
  3. package/dist/account-security/index.js +2 -2
  4. package/dist/account-security/{constants.js → web/constants.js} +0 -1
  5. package/dist/account-security/{i18n.js → web/i18n.js} +0 -1
  6. package/dist/admin-shell/feature.js +4 -3
  7. package/dist/admin-shell/index.d.ts +2 -2
  8. package/dist/admin-shell/index.js +2 -2
  9. package/dist/admin-shell/web/client-plugin.js +2 -3
  10. package/dist/admin-shell/{constants.js → web/constants.js} +0 -1
  11. package/dist/admin-shell/web/default-translations.d.ts +2 -0
  12. package/dist/admin-shell/web/default-translations.js +4 -0
  13. package/dist/admin-shell/web/i18n.d.ts +5 -2
  14. package/dist/admin-shell/web/i18n.js +50 -5
  15. package/dist/admin-shell/web/index.js +0 -1
  16. package/dist/audit/feature.js +58 -59
  17. package/dist/audit/handlers/audit-events.d.ts +102 -0
  18. package/dist/audit/handlers/audit-events.js +112 -0
  19. package/dist/audit/handlers/audit-system-db.d.ts +1 -0
  20. package/dist/audit/handlers/audit-system-db.js +9 -0
  21. package/dist/audit/handlers/details-all-tenants.query.d.ts +15 -0
  22. package/dist/audit/handlers/details-all-tenants.query.js +20 -0
  23. package/dist/audit/handlers/details.query.d.ts +2 -1
  24. package/dist/audit/handlers/details.query.js +8 -24
  25. package/dist/audit/handlers/list-all-tenants.query.d.ts +41 -0
  26. package/dist/audit/handlers/list-all-tenants.query.js +32 -0
  27. package/dist/audit/handlers/list.query.d.ts +2 -1
  28. package/dist/audit/handlers/list.query.js +9 -99
  29. package/dist/audit/handlers/resolve-audit-tenant.d.ts +3 -1
  30. package/dist/audit/handlers/resolve-audit-tenant.js +21 -7
  31. package/dist/audit/index.d.ts +1 -1
  32. package/dist/audit/index.js +1 -1
  33. package/dist/audit/run-escape-hatch-retention.js +1 -1
  34. package/dist/audit/screens.d.ts +65 -0
  35. package/dist/audit/screens.js +73 -0
  36. package/dist/audit/web/client-plugin.js +2 -3
  37. package/dist/audit/{constants.d.ts → web/constants.d.ts} +8 -0
  38. package/dist/audit/{constants.js → web/constants.js} +8 -1
  39. package/dist/audit/web/default-translations.d.ts +2 -0
  40. package/dist/audit/web/default-translations.js +3 -0
  41. package/dist/audit/web/i18n.d.ts +5 -2
  42. package/dist/audit/web/i18n.js +31 -4
  43. package/dist/audit/web/index.js +0 -1
  44. package/dist/auth-email-password/bootstrap.d.ts +1 -1
  45. package/dist/auth-email-password/bootstrap.js +4 -4
  46. package/dist/auth-email-password/errors.js +1 -1
  47. package/dist/auth-email-password/feature.js +2 -2
  48. package/dist/auth-email-password/handlers/confirm-account-unlock.write.js +1 -1
  49. package/dist/auth-email-password/handlers/invite-accept-with-login.write.js +1 -1
  50. package/dist/auth-email-password/handlers/invite-create.write.d.ts +1 -1
  51. package/dist/auth-email-password/handlers/invite-create.write.js +3 -3
  52. package/dist/auth-email-password/handlers/invite-info.query.js +1 -1
  53. package/dist/auth-email-password/handlers/login.write.d.ts +1 -0
  54. package/dist/auth-email-password/handlers/login.write.js +26 -1
  55. package/dist/auth-email-password/handlers/request-account-unlock.write.js +1 -1
  56. package/dist/auth-email-password/handlers/request-email-verification.write.js +1 -1
  57. package/dist/auth-email-password/handlers/request-password-reset.write.js +1 -1
  58. package/dist/auth-email-password/handlers/reset-password.write.js +1 -1
  59. package/dist/auth-email-password/handlers/verify-email.write.js +1 -1
  60. package/dist/auth-email-password/index.d.ts +1 -1
  61. package/dist/auth-email-password/index.js +1 -1
  62. package/dist/auth-email-password/mail-notifications.js +1 -1
  63. package/dist/auth-email-password/signup-activation.js +1 -1
  64. package/dist/auth-email-password/web/auth-client.js +0 -1
  65. package/dist/auth-email-password/web/auth-form-logic.js +0 -1
  66. package/dist/auth-email-password/web/auth-form-primitives.js +0 -1
  67. package/dist/auth-email-password/web/auth-gate.js +0 -1
  68. package/dist/auth-email-password/web/auth-redirect.js +0 -1
  69. package/dist/auth-email-password/web/client-actions.js +0 -1
  70. package/dist/auth-email-password/web/client-plugin.js +1 -2
  71. package/dist/auth-email-password/web/confirm-account-unlock-screen.js +0 -1
  72. package/dist/auth-email-password/{constants.js → web/constants.js} +3 -6
  73. package/dist/auth-email-password/web/default-topbar-actions.js +0 -1
  74. package/dist/auth-email-password/web/forgot-password-screen.js +0 -1
  75. package/dist/auth-email-password/{i18n.js → web/i18n.js} +3 -4
  76. package/dist/auth-email-password/web/index.d.ts +1 -1
  77. package/dist/auth-email-password/web/index.js +1 -2
  78. package/dist/auth-email-password/web/invite-accept-screen.d.ts +2 -2
  79. package/dist/auth-email-password/web/invite-accept-screen.js +0 -1
  80. package/dist/auth-email-password/web/login-screen.js +0 -1
  81. package/dist/auth-email-password/{mail-i18n.js → web/mail-i18n.js} +0 -1
  82. package/dist/auth-email-password/web/request-account-unlock-screen.js +0 -1
  83. package/dist/auth-email-password/web/reset-password-screen.js +0 -1
  84. package/dist/auth-email-password/web/session-bootstrap-error.js +0 -1
  85. package/dist/auth-email-password/web/session.js +0 -1
  86. package/dist/auth-email-password/web/signup-complete-screen.d.ts +2 -2
  87. package/dist/auth-email-password/web/signup-complete-screen.js +0 -1
  88. package/dist/auth-email-password/web/signup-screen.js +0 -1
  89. package/dist/auth-email-password/web/tenant-menu-items.js +0 -1
  90. package/dist/auth-email-password/web/tenant-switcher.js +0 -1
  91. package/dist/auth-email-password/web/use-shell-user.js +0 -1
  92. package/dist/auth-email-password/web/user-menu.js +0 -1
  93. package/dist/auth-email-password/web/verify-email-screen.js +0 -1
  94. package/dist/auth-mfa/errors.d.ts +1 -1
  95. package/dist/auth-mfa/errors.js +2 -2
  96. package/dist/auth-mfa/handlers/enable-confirm-preauth.write.js +1 -1
  97. package/dist/auth-mfa/handlers/enable-start-preauth.write.js +1 -1
  98. package/dist/auth-mfa/handlers/enable-start.write.js +1 -1
  99. package/dist/auth-mfa/handlers/verify.write.js +1 -1
  100. package/dist/auth-mfa/index.d.ts +1 -1
  101. package/dist/auth-mfa/index.js +1 -1
  102. package/dist/auth-mfa/mfa-status-checker.js +1 -1
  103. package/dist/auth-mfa/screens.js +1 -1
  104. package/dist/auth-mfa/web/client-plugin.js +0 -1
  105. package/dist/auth-mfa/{constants.js → web/constants.js} +0 -1
  106. package/dist/auth-mfa/web/i18n.js +0 -1
  107. package/dist/auth-mfa/web/index.js +0 -1
  108. package/dist/auth-mfa/web/mfa-client.js +0 -1
  109. package/dist/auth-mfa/web/mfa-disable-dialog.js +1 -2
  110. package/dist/auth-mfa/web/mfa-recovery-codes-reveal.js +0 -1
  111. package/dist/auth-mfa/web/mfa-regenerate-recovery-dialog.js +1 -2
  112. package/dist/auth-mfa/web/mfa-setup-preauth-screen.js +11 -18
  113. package/dist/auth-mfa/web/mfa-verify-screen.js +0 -1
  114. package/dist/billing-foundation/checkout-core.js +1 -1
  115. package/dist/billing-foundation/consumer-protection/consent-text.d.ts +2 -2
  116. package/dist/billing-foundation/consumer-protection/consent-text.js +1 -1
  117. package/dist/billing-foundation/consumer-protection/issue-confirmation.js +7 -3
  118. package/dist/billing-foundation/consumer-protection/mail-notifications.js +3 -1
  119. package/dist/billing-foundation/consumer-protection/register-consent.js +1 -1
  120. package/dist/billing-foundation/consumer-protection/register-termination.js +8 -2
  121. package/dist/billing-foundation/consumer-protection/stored-user-email.d.ts +1 -0
  122. package/dist/billing-foundation/consumer-protection/stored-user-email.js +8 -0
  123. package/dist/billing-foundation/consumer-protection/termination-mail.d.ts +5 -1
  124. package/dist/billing-foundation/consumer-protection/termination-mail.js +3 -1
  125. package/dist/billing-foundation/consumer-protection/termination-notify.js +1 -1
  126. package/dist/billing-foundation/consumer-protection/termination-pages.js +109 -15
  127. package/dist/billing-foundation/consumer-protection/termination-record.d.ts +8 -1
  128. package/dist/billing-foundation/consumer-protection/termination-record.js +76 -3
  129. package/dist/billing-foundation/consumer-protection/termination-request.js +33 -6
  130. package/dist/billing-foundation/consumer-protection/termination-revoke.d.ts +28 -0
  131. package/dist/billing-foundation/consumer-protection/termination-revoke.js +149 -0
  132. package/dist/billing-foundation/consumer-protection/termination-texts.d.ts +17 -1
  133. package/dist/billing-foundation/consumer-protection/termination-texts.js +39 -0
  134. package/dist/billing-foundation/events.d.ts +9 -0
  135. package/dist/billing-foundation/events.js +14 -2
  136. package/dist/billing-foundation/feature.js +1 -1
  137. package/dist/billing-foundation/handlers/process-event.write.d.ts +5 -1
  138. package/dist/billing-foundation/handlers/process-event.write.js +57 -3
  139. package/dist/billing-foundation/handlers/switch-plan.write.js +1 -1
  140. package/dist/billing-foundation/handlers/sync-subscription.write.js +1 -1
  141. package/dist/billing-foundation/index.d.ts +2 -2
  142. package/dist/billing-foundation/index.js +2 -2
  143. package/dist/billing-foundation/plan-catalog.js +1 -1
  144. package/dist/billing-foundation/screens.js +1 -1
  145. package/dist/billing-foundation/subscription-tier-sync.js +1 -1
  146. package/dist/billing-foundation/types.d.ts +14 -2
  147. package/dist/billing-foundation/types.js +1 -1
  148. package/dist/billing-foundation/validate-options.js +3 -3
  149. package/dist/billing-foundation/web/billing-contact-plan.js +1 -2
  150. package/dist/billing-foundation/web/billing-plans-panel.js +1 -2
  151. package/dist/billing-foundation/web/cancel-contract-dialog.js +1 -2
  152. package/dist/billing-foundation/web/checkout-consent-dialog.js +1 -2
  153. package/dist/billing-foundation/web/client-plugin.js +1 -1
  154. package/dist/billing-foundation/{constants.d.ts → web/constants.d.ts} +21 -14
  155. package/dist/billing-foundation/{constants.js → web/constants.js} +35 -31
  156. package/dist/billing-foundation/{consumer-protection → web/consumer-protection}/consent-locale.js +0 -1
  157. package/dist/billing-foundation/{contact-card.js → web/contact-card.js} +0 -1
  158. package/dist/billing-foundation/web/index.d.ts +2 -2
  159. package/dist/billing-foundation/web/index.js +2 -3
  160. package/dist/billing-foundation/web/localized-params.js +0 -1
  161. package/dist/billing-foundation/webhook-handler.js +4 -1
  162. package/dist/cap-overview/feature.js +1 -1
  163. package/dist/cap-overview/handlers/caps-usage.query.js +1 -1
  164. package/dist/cap-overview/handlers/tenant-caps-list.query.js +2 -2
  165. package/dist/cap-overview/index.d.ts +2 -2
  166. package/dist/cap-overview/index.js +2 -2
  167. package/dist/cap-overview/screens.js +1 -1
  168. package/dist/cap-overview/web/cap-cards-panel.js +1 -1
  169. package/dist/cap-overview/web/cap-usage-bar.js +1 -2
  170. package/dist/cap-overview/web/client-plugin.js +1 -1
  171. package/dist/cap-overview/{constants.js → web/constants.js} +0 -1
  172. package/dist/cap-overview/web/index.js +0 -1
  173. package/dist/cap-overview/{usage-math.d.ts → web/usage-math.d.ts} +1 -1
  174. package/dist/compliance-profiles/feature.js +1 -1
  175. package/dist/compliance-profiles/index.d.ts +1 -1
  176. package/dist/compliance-profiles/index.js +1 -1
  177. package/dist/compliance-profiles/web/client-plugin.js +1 -2
  178. package/dist/compliance-profiles/web/compliance-profile-catalog.js +1 -2
  179. package/dist/compliance-profiles/{constants.js → web/constants.js} +0 -1
  180. package/dist/compliance-profiles/web/index.js +0 -1
  181. package/dist/config/index.d.ts +1 -1
  182. package/dist/config/index.js +1 -1
  183. package/dist/config/web/client-plugin.d.ts +1 -1
  184. package/dist/config/web/client-plugin.js +1 -2
  185. package/dist/config/{constants.js → web/constants.js} +0 -1
  186. package/dist/config/web/i18n.js +0 -1
  187. package/dist/config/web/index.d.ts +1 -1
  188. package/dist/config/web/index.js +1 -2
  189. package/dist/config/write-helpers.js +1 -1
  190. package/dist/custom-fields/feature.js +1 -1
  191. package/dist/custom-fields/handlers/clear-custom-field.write.js +1 -1
  192. package/dist/custom-fields/handlers/define-tenant-field.write.js +1 -1
  193. package/dist/custom-fields/handlers/delete-system-field.write.js +1 -1
  194. package/dist/custom-fields/handlers/delete-tenant-field.write.js +1 -1
  195. package/dist/custom-fields/handlers/set-custom-field.write.js +1 -1
  196. package/dist/custom-fields/handlers/update-tenant-field.write.js +1 -1
  197. package/dist/custom-fields/index.d.ts +1 -1
  198. package/dist/custom-fields/index.js +1 -1
  199. package/dist/custom-fields/lib/value-schema.js +1 -1
  200. package/dist/custom-fields/schemas.js +1 -1
  201. package/dist/custom-fields/web/client-plugin.js +1 -2
  202. package/dist/custom-fields/{constants.js → web/constants.js} +18 -19
  203. package/dist/custom-fields/web/custom-fields-form-section.js +1 -2
  204. package/dist/custom-fields/web/i18n.js +0 -1
  205. package/dist/custom-fields/web/index.d.ts +1 -1
  206. package/dist/custom-fields/web/index.js +1 -2
  207. package/dist/custom-fields/wire-for-entity.js +1 -1
  208. package/dist/delivery/address-opt-out.js +1 -1
  209. package/dist/delivery/attempt-log-retention.js +21 -3
  210. package/dist/delivery/constants.d.ts +1 -1
  211. package/dist/delivery/constants.js +2 -2
  212. package/dist/delivery/i18n.js +1 -1
  213. package/dist/delivery/unsubscribe-page.js +1 -1
  214. package/dist/delivery/web/client-plugin.js +1 -1
  215. package/dist/delivery/web/delivery-channel-cell.js +0 -1
  216. package/dist/delivery/web/delivery-error-cell.js +0 -1
  217. package/dist/delivery/web/delivery-status-cell.js +1 -2
  218. package/dist/delivery/web/delivery-time-cell.js +0 -1
  219. package/dist/delivery/web/delivery-type-cell.js +0 -1
  220. package/dist/delivery/web/index.js +0 -1
  221. package/dist/delivery/{public-names.js → web/public-names.js} +0 -1
  222. package/dist/document-ingest-foundation/events.d.ts +1 -0
  223. package/dist/document-ingest-foundation/events.js +3 -0
  224. package/dist/document-ingest-foundation/executor.js +2 -1
  225. package/dist/document-ingest-foundation/feature.js +16 -5
  226. package/dist/document-ingest-foundation/index.d.ts +1 -1
  227. package/dist/document-ingest-foundation/index.js +1 -1
  228. package/dist/feature-toggles/feature.d.ts +1 -1
  229. package/dist/feature-toggles/feature.js +2 -2
  230. package/dist/feature-toggles/handlers/list.query.js +1 -1
  231. package/dist/feature-toggles/handlers/registered.query.js +1 -1
  232. package/dist/feature-toggles/handlers/set.write.js +1 -1
  233. package/dist/feature-toggles/index.d.ts +1 -1
  234. package/dist/feature-toggles/index.js +1 -1
  235. package/dist/feature-toggles/web/client-plugin.js +1 -2
  236. package/dist/feature-toggles/{constants.js → web/constants.js} +0 -1
  237. package/dist/feature-toggles/web/index.js +0 -1
  238. package/dist/folders/feature.js +1 -1
  239. package/dist/folders/handlers/clear-folder.write.js +1 -1
  240. package/dist/folders/handlers/delete-folder.write.js +1 -1
  241. package/dist/folders/handlers/set-folder.write.js +1 -1
  242. package/dist/folders/index.d.ts +1 -1
  243. package/dist/folders/index.js +1 -1
  244. package/dist/folders/web/client-plugin.js +1 -2
  245. package/dist/folders/{constants.js → web/constants.js} +0 -1
  246. package/dist/folders/web/folder-manager.js +1 -2
  247. package/dist/folders/web/folder-section.js +1 -2
  248. package/dist/folders/web/i18n.js +0 -1
  249. package/dist/folders/web/index.d.ts +1 -1
  250. package/dist/folders/web/index.js +1 -2
  251. package/dist/folders/web/tree.js +0 -1
  252. package/dist/form-draft/db/queries/cleanup.d.ts +3 -2
  253. package/dist/form-draft/db/queries/cleanup.js +18 -9
  254. package/dist/form-draft/decrypt-draft.d.ts +2 -0
  255. package/dist/form-draft/decrypt-draft.js +19 -0
  256. package/dist/form-draft/entity.js +6 -9
  257. package/dist/form-draft/feature.js +1 -1
  258. package/dist/form-draft/handlers/cleanup.job.d.ts +1 -0
  259. package/dist/form-draft/handlers/cleanup.job.js +17 -4
  260. package/dist/form-draft/handlers/discard.write.js +1 -1
  261. package/dist/form-draft/handlers/get.query.js +6 -7
  262. package/dist/form-draft/handlers/list.query.js +11 -7
  263. package/dist/form-draft/handlers/save.write.js +1 -1
  264. package/dist/form-draft/index.d.ts +1 -1
  265. package/dist/form-draft/index.js +1 -1
  266. package/dist/form-draft/lookup.d.ts +2 -2
  267. package/dist/form-draft/lookup.js +7 -2
  268. package/dist/form-draft/schemas.js +1 -1
  269. package/dist/form-draft/{constants.js → web/constants.js} +0 -1
  270. package/dist/form-draft-user-data/hooks.js +2 -2
  271. package/dist/inbound-mail-foundation/retention-sweep.js +7 -5
  272. package/dist/jobs/feature.js +2 -2
  273. package/dist/jobs/handlers/retry.write.js +1 -1
  274. package/dist/jobs/handlers/trigger.write.js +1 -1
  275. package/dist/jobs/index.d.ts +1 -1
  276. package/dist/jobs/index.js +1 -1
  277. package/dist/jobs/web/client-plugin.js +2 -3
  278. package/dist/jobs/{constants.js → web/constants.js} +0 -1
  279. package/dist/jobs/web/default-translations.d.ts +2 -0
  280. package/dist/jobs/web/default-translations.js +3 -0
  281. package/dist/jobs/web/i18n.d.ts +5 -2
  282. package/dist/jobs/web/i18n.js +51 -4
  283. package/dist/jobs/web/index.js +0 -1
  284. package/dist/ledger/entity.d.ts +1 -1
  285. package/dist/ledger/entity.js +1 -1
  286. package/dist/ledger/feature.js +1 -1
  287. package/dist/ledger/handlers/confirm-schedule-period.write.js +2 -5
  288. package/dist/ledger/handlers/create-transaction.write.js +1 -1
  289. package/dist/ledger/handlers/reports.query.js +1 -1
  290. package/dist/ledger/handlers/reverse-transaction.write.js +1 -1
  291. package/dist/ledger/index.d.ts +1 -1
  292. package/dist/ledger/index.js +1 -1
  293. package/dist/ledger/recurring.d.ts +1 -1
  294. package/dist/ledger/reports.d.ts +1 -1
  295. package/dist/ledger/schemas.js +1 -1
  296. package/dist/ledger/{constants.js → web/constants.js} +0 -1
  297. package/dist/ledger/web/index.d.ts +1 -1
  298. package/dist/ledger/web/index.js +1 -2
  299. package/dist/legal-pages/feature.d.ts +1 -1
  300. package/dist/legal-pages/feature.js +1 -1
  301. package/dist/legal-pages/index.d.ts +1 -1
  302. package/dist/legal-pages/index.js +1 -1
  303. package/dist/legal-pages/lib/boot-check.d.ts +1 -1
  304. package/dist/legal-pages/lib/boot-check.js +1 -1
  305. package/dist/legal-pages/lib/validate-routes.d.ts +1 -1
  306. package/dist/legal-pages/web/client-plugin.js +1 -2
  307. package/dist/legal-pages/{constants.js → web/constants.js} +6 -8
  308. package/dist/legal-pages/web/index.js +0 -1
  309. package/dist/managed-pages/feature.js +1 -1
  310. package/dist/managed-pages/web/client-plugin.js +1 -2
  311. package/dist/managed-pages/web/default-translations.d.ts +2 -0
  312. package/dist/managed-pages/web/default-translations.js +11 -0
  313. package/dist/managed-pages/web/i18n.d.ts +5 -2
  314. package/dist/managed-pages/web/i18n.js +53 -12
  315. package/dist/managed-pages/web/index.d.ts +1 -1
  316. package/dist/managed-pages/web/index.js +1 -2
  317. package/dist/metrics/compute.d.ts +1 -1
  318. package/dist/metrics/compute.js +1 -1
  319. package/dist/metrics/feature.js +1 -1
  320. package/dist/metrics/index.d.ts +1 -1
  321. package/dist/metrics/index.js +1 -1
  322. package/dist/metrics/types.d.ts +1 -1
  323. package/dist/metrics/validate.js +1 -1
  324. package/dist/metrics/{constants.js → web/constants.js} +0 -1
  325. package/dist/metrics/window.d.ts +1 -1
  326. package/dist/notes-history/feature.js +1 -1
  327. package/dist/notes-history/handlers/add-note.write.js +1 -1
  328. package/dist/notes-history/index.d.ts +1 -1
  329. package/dist/notes-history/index.js +1 -1
  330. package/dist/notes-history/web/client-plugin.js +1 -2
  331. package/dist/notes-history/{constants.js → web/constants.js} +0 -1
  332. package/dist/notes-history/web/i18n.js +0 -1
  333. package/dist/notes-history/web/index.d.ts +1 -1
  334. package/dist/notes-history/web/index.js +1 -2
  335. package/dist/notes-history/web/notes-section.js +2 -3
  336. package/dist/personal-access-tokens/feature.d.ts +2 -2
  337. package/dist/personal-access-tokens/feature.js +6 -4
  338. package/dist/personal-access-tokens/handlers/available-scopes.query.d.ts +1 -1
  339. package/dist/personal-access-tokens/handlers/create.write.js +1 -1
  340. package/dist/personal-access-tokens/handlers/revoke.write.js +1 -1
  341. package/dist/personal-access-tokens/hash.js +1 -1
  342. package/dist/personal-access-tokens/i18n.d.ts +1 -1
  343. package/dist/personal-access-tokens/i18n.js +1 -1
  344. package/dist/personal-access-tokens/index.d.ts +5 -5
  345. package/dist/personal-access-tokens/index.js +3 -3
  346. package/dist/personal-access-tokens/resolver.d.ts +1 -1
  347. package/dist/personal-access-tokens/resolver.js +1 -1
  348. package/dist/personal-access-tokens/schema/api-token.js +1 -1
  349. package/dist/personal-access-tokens/screens.d.ts +1 -1
  350. package/dist/personal-access-tokens/screens.js +1 -1
  351. package/dist/personal-access-tokens/{constants.js → web/constants.js} +0 -1
  352. package/dist/presets/index.d.ts +0 -1
  353. package/dist/presets/index.js +0 -1
  354. package/dist/presets/security-baseline.d.ts +1 -1
  355. package/dist/presets/security-baseline.js +1 -1
  356. package/dist/secrets/feature.js +1 -1
  357. package/dist/secrets/handlers/delete.write.js +1 -1
  358. package/dist/secrets/handlers/list.query.js +1 -1
  359. package/dist/secrets/handlers/set.write.js +1 -1
  360. package/dist/secrets/i18n.js +1 -1
  361. package/dist/secrets/index.d.ts +1 -1
  362. package/dist/secrets/index.js +1 -1
  363. package/dist/secrets/{constants.js → web/constants.js} +0 -1
  364. package/dist/secrets/write-gate.js +1 -1
  365. package/dist/sessions/feature.js +7 -4
  366. package/dist/sessions/{i18n.js → web/i18n.js} +0 -1
  367. package/dist/shared/index.d.ts +1 -1
  368. package/dist/shared/index.js +1 -1
  369. package/dist/shared/purge-files-reaching-subject.js +7 -3
  370. package/dist/subscription-stripe/feature.js +2 -1
  371. package/dist/subscription-stripe/plugin-methods.d.ts +3 -0
  372. package/dist/subscription-stripe/plugin-methods.js +14 -0
  373. package/dist/subscription-stripe/verify-webhook.js +1 -0
  374. package/dist/tags/feature.js +1 -1
  375. package/dist/tags/handlers/assign-tag.write.js +11 -7
  376. package/dist/tags/handlers/create-tag.write.js +1 -1
  377. package/dist/tags/handlers/delete-tag.write.js +4 -1
  378. package/dist/tags/handlers/remove-tag.write.js +1 -1
  379. package/dist/tags/handlers/update-tag.write.js +1 -1
  380. package/dist/tags/index.d.ts +1 -1
  381. package/dist/tags/index.js +1 -1
  382. package/dist/tags/screens.js +1 -1
  383. package/dist/tags/web/client-plugin.js +1 -2
  384. package/dist/tags/{constants.d.ts → web/constants.d.ts} +1 -0
  385. package/dist/tags/{constants.js → web/constants.js} +3 -1
  386. package/dist/tags/web/entity-tags.js +1 -2
  387. package/dist/tags/web/i18n.js +2 -2
  388. package/dist/tags/web/index.d.ts +1 -1
  389. package/dist/tags/web/index.js +1 -2
  390. package/dist/tags/web/tag-filter.js +1 -2
  391. package/dist/tags/web/tag-manager.js +5 -4
  392. package/dist/tags/web/tag-picker.js +0 -1
  393. package/dist/tags/web/tag-section.js +1 -2
  394. package/dist/tags/web/tags-cell.js +1 -2
  395. package/dist/template-resolver/api.d.ts +21 -23
  396. package/dist/template-resolver/api.js +34 -6
  397. package/dist/template-resolver/compile-document-body.js +1 -1
  398. package/dist/template-resolver/compile-steps-block.js +2 -2
  399. package/dist/template-resolver/document-ops.d.ts +1 -1
  400. package/dist/template-resolver/document-ops.js +3 -3
  401. package/dist/template-resolver/document-sanitizer.d.ts +1 -1
  402. package/dist/template-resolver/document-sanitizer.js +3 -3
  403. package/dist/template-resolver/feature.d.ts +2 -0
  404. package/dist/template-resolver/feature.js +12 -4
  405. package/dist/template-resolver/handlers/by-slug.query.js +6 -1
  406. package/dist/template-resolver/handlers/by-tenant.query.js +6 -2
  407. package/dist/template-resolver/handlers/collection-item.query.js +1 -1
  408. package/dist/template-resolver/handlers/collection-list.query.js +1 -1
  409. package/dist/template-resolver/handlers/collection-set.write.d.ts +2 -1
  410. package/dist/template-resolver/handlers/collection-set.write.js +14 -2
  411. package/dist/template-resolver/handlers/copy-locale.write.js +2 -2
  412. package/dist/template-resolver/handlers/diff-to-system.query.js +5 -1
  413. package/dist/template-resolver/handlers/discard-draft.write.js +1 -1
  414. package/dist/template-resolver/handlers/document-base.d.ts +1 -1
  415. package/dist/template-resolver/handlers/document-base.js +6 -1
  416. package/dist/template-resolver/handlers/document-blocks.query.d.ts +1 -1
  417. package/dist/template-resolver/handlers/document-blocks.query.js +2 -2
  418. package/dist/template-resolver/handlers/export-bundle.query.js +5 -2
  419. package/dist/template-resolver/handlers/find-by-id.query.js +4 -2
  420. package/dist/template-resolver/handlers/layout-source.query.js +5 -5
  421. package/dist/template-resolver/handlers/list.query.js +5 -2
  422. package/dist/template-resolver/handlers/overview.query.d.ts +10 -2
  423. package/dist/template-resolver/handlers/overview.query.js +44 -12
  424. package/dist/template-resolver/handlers/patch-draft.write.js +1 -1
  425. package/dist/template-resolver/handlers/resource-shared.js +1 -1
  426. package/dist/template-resolver/handlers/resource-upload.write.js +1 -1
  427. package/dist/template-resolver/handlers/send-test.write.js +2 -2
  428. package/dist/template-resolver/handlers/set.write.js +1 -1
  429. package/dist/template-resolver/handlers/shared.js +1 -1
  430. package/dist/template-resolver/handlers/template-gates.d.ts +1 -1
  431. package/dist/template-resolver/handlers/template-gates.js +1 -1
  432. package/dist/template-resolver/handlers/template-write.d.ts +1 -1
  433. package/dist/template-resolver/handlers/template-write.js +1 -1
  434. package/dist/template-resolver/handlers/usage.query.js +3 -2
  435. package/dist/template-resolver/handlers/validate.query.d.ts +1 -1
  436. package/dist/template-resolver/handlers/validate.query.js +3 -1
  437. package/dist/template-resolver/i18n.d.ts +3 -0
  438. package/dist/template-resolver/i18n.js +24 -0
  439. package/dist/template-resolver/index.d.ts +4 -3
  440. package/dist/template-resolver/index.js +3 -3
  441. package/dist/template-resolver/layout-appearance.js +1 -1
  442. package/dist/template-resolver/layout-regions.d.ts +1 -1
  443. package/dist/template-resolver/seeding.d.ts +4 -1
  444. package/dist/template-resolver/seeding.js +13 -7
  445. package/dist/template-resolver/store-template-resource.js +2 -2
  446. package/dist/template-resolver/table.js +1 -1
  447. package/dist/template-resolver/template-bundle.js +2 -2
  448. package/dist/template-resolver/template-delivery-policy.d.ts +22 -0
  449. package/dist/template-resolver/template-delivery-policy.js +40 -0
  450. package/dist/template-resolver/template-draft.d.ts +1 -1
  451. package/dist/template-resolver/template-draft.js +1 -1
  452. package/dist/template-resolver/template-edit-policy.d.ts +1 -1
  453. package/dist/template-resolver/template-edit-policy.js +1 -1
  454. package/dist/template-resolver/template-meta.d.ts +2 -2
  455. package/dist/template-resolver/template-meta.js +2 -2
  456. package/dist/template-resolver/template-preview.d.ts +1 -1
  457. package/dist/template-resolver/template-preview.js +8 -4
  458. package/dist/template-resolver/template-usage.d.ts +1 -1
  459. package/dist/template-resolver/template-usage.js +1 -1
  460. package/dist/template-resolver/template-validation.js +1 -1
  461. package/dist/template-resolver/testing.js +1 -1
  462. package/dist/template-resolver/user-content-table.js +1 -1
  463. package/dist/template-resolver/web/client-plugin.js +1 -2
  464. package/dist/template-resolver/{constants.d.ts → web/constants.d.ts} +1 -1
  465. package/dist/template-resolver/{constants.js → web/constants.js} +7 -10
  466. package/dist/template-resolver/web/document-editor-extensions.js +2 -2
  467. package/dist/template-resolver/web/document-editor.js +0 -1
  468. package/dist/template-resolver/{document-images.js → web/document-images.js} +0 -1
  469. package/dist/template-resolver/{document-schema.js → web/document-schema.js} +0 -1
  470. package/dist/template-resolver/{document-steps.js → web/document-steps.js} +0 -1
  471. package/dist/template-resolver/web/document-tiptap-editor.js +2 -3
  472. package/dist/template-resolver/web/document-toolbar-blocks.d.ts +2 -2
  473. package/dist/template-resolver/web/document-toolbar-blocks.js +1 -1
  474. package/dist/template-resolver/web/editor-handle.js +1 -1
  475. package/dist/template-resolver/web/i18n.js +1 -1
  476. package/dist/template-resolver/web/index.d.ts +3 -3
  477. package/dist/template-resolver/web/index.js +3 -4
  478. package/dist/template-resolver/{mail-constants.js → web/mail-constants.js} +0 -1
  479. package/dist/template-resolver/{pdf-constants.js → web/pdf-constants.js} +0 -1
  480. package/dist/template-resolver/web/placeholder-line-editor-lazy.js +0 -1
  481. package/dist/template-resolver/web/placeholder-line-editor.js +6 -4
  482. package/dist/template-resolver/{qualified-names.js → web/qualified-names.js} +0 -1
  483. package/dist/template-resolver/web/use-stable-by-key.js +0 -1
  484. package/dist/tenant/handlers/add-member.write.js +1 -1
  485. package/dist/tenant/index.d.ts +1 -1
  486. package/dist/tenant/index.js +1 -1
  487. package/dist/tenant/invitation-table.js +1 -1
  488. package/dist/tenant/invited-membership.js +1 -1
  489. package/dist/tenant/last-tenant-admin.js +1 -1
  490. package/dist/tenant/member-role-options.js +1 -1
  491. package/dist/tenant/screens.js +1 -1
  492. package/dist/tenant/web/client-plugin.js +1 -2
  493. package/dist/tenant/{constants.js → web/constants.js} +3 -6
  494. package/dist/tenant/web/index.js +0 -1
  495. package/dist/tenant/web/member-roles-cell.js +0 -1
  496. package/dist/tenant/web/member-status-cell.js +0 -1
  497. package/dist/tenant-lifecycle/stages.js +2 -3
  498. package/dist/tier-engine/entity.d.ts +1 -1
  499. package/dist/tier-engine/entity.js +1 -1
  500. package/dist/tier-engine/feature.js +2 -2
  501. package/dist/tier-engine/handlers/set-tenant-tier.write.js +1 -1
  502. package/dist/tier-engine/index.d.ts +1 -1
  503. package/dist/tier-engine/index.js +1 -1
  504. package/dist/tier-engine/web/client-plugin.js +2 -3
  505. package/dist/tier-engine/{constants.js → web/constants.js} +2 -3
  506. package/dist/tier-engine/{i18n.js → web/i18n.js} +0 -1
  507. package/dist/tier-engine/web/index.js +0 -1
  508. package/dist/user/handlers/create.write.js +1 -1
  509. package/dist/user/handlers/update-roles.js +1 -1
  510. package/dist/user/handlers/update.write.js +1 -1
  511. package/dist/user/index.d.ts +1 -1
  512. package/dist/user/index.js +1 -1
  513. package/dist/user/invited-global-roles.d.ts +1 -1
  514. package/dist/user/invited-global-roles.js +1 -1
  515. package/dist/user/schema/user.js +1 -1
  516. package/dist/user/{constants.js → web/constants.js} +0 -1
  517. package/dist/user-data-rights/env.js +1 -1
  518. package/dist/user-data-rights/feature.js +3 -3
  519. package/dist/user-data-rights/index.d.ts +1 -1
  520. package/dist/user-data-rights/index.js +1 -1
  521. package/dist/user-data-rights/lib/resolve-tenant-model.js +1 -1
  522. package/dist/user-data-rights/mail-notifications.js +1 -1
  523. package/dist/user-data-rights/web/client-plugin.js +2 -3
  524. package/dist/user-data-rights/web/confirm-deletion-screen.js +0 -1
  525. package/dist/user-data-rights/{constants.js → web/constants.js} +11 -12
  526. package/dist/user-data-rights/web/default-translations.d.ts +2 -0
  527. package/dist/user-data-rights/web/default-translations.js +59 -0
  528. package/dist/user-data-rights/web/i18n.d.ts +5 -2
  529. package/dist/user-data-rights/web/i18n.js +37 -59
  530. package/dist/user-data-rights/web/index.d.ts +1 -1
  531. package/dist/user-data-rights/web/index.js +1 -2
  532. package/dist/user-data-rights/web/privacy-center-screen.js +1 -2
  533. package/dist/user-data-rights/web/request-deletion-screen.js +0 -1
  534. package/dist/user-data-rights-defaults/hooks/file-ref.userdata-hook.js +6 -1
  535. package/dist/user-profile/feature.js +1 -1
  536. package/dist/user-profile/handlers/change-email.write.js +1 -1
  537. package/dist/user-profile/index.d.ts +1 -1
  538. package/dist/user-profile/index.js +1 -1
  539. package/dist/user-profile/web/client-plugin.js +2 -3
  540. package/dist/user-profile/{constants.js → web/constants.js} +0 -1
  541. package/dist/user-profile/{i18n.js → web/i18n.js} +0 -1
  542. package/dist/user-profile/web/profile-screen.js +2 -3
  543. package/dist/waitlist/entity.js +1 -1
  544. package/dist/waitlist/feature.js +1 -1
  545. package/dist/waitlist/handlers/export-purge.write.js +1 -1
  546. package/dist/waitlist/handlers/invite.write.js +1 -1
  547. package/dist/waitlist/handlers/reject.write.js +1 -1
  548. package/dist/waitlist/handlers/submit.write.js +4 -3
  549. package/dist/waitlist/import.d.ts +1 -1
  550. package/dist/waitlist/index.d.ts +1 -1
  551. package/dist/waitlist/index.js +1 -1
  552. package/dist/waitlist/legacy-migrate.js +1 -1
  553. package/dist/waitlist/link-on-signup.js +1 -1
  554. package/dist/waitlist/mail.d.ts +0 -1
  555. package/dist/waitlist/mail.js +6 -4
  556. package/dist/waitlist/payloads.js +1 -1
  557. package/dist/waitlist/screens.js +1 -1
  558. package/dist/waitlist/{constants.js → web/constants.js} +0 -1
  559. package/kumiko-es-tables.json +102 -0
  560. package/package.json +30 -29
  561. package/src/audit/changes.json +7 -0
  562. package/src/auth-email-password/changes.json +6 -0
  563. package/src/auth-mfa/changes.json +6 -0
  564. package/src/billing-foundation/changes.json +18 -0
  565. package/src/delivery/changes.json +6 -0
  566. package/src/document-ingest-foundation/changes.json +6 -0
  567. package/src/files/changes.json +7 -0
  568. package/src/form-draft/changes.json +7 -0
  569. package/src/ledger/changes.json +7 -0
  570. package/src/presets/changes.json +7 -0
  571. package/src/tags/changes.json +6 -0
  572. package/src/template-resolver/changes.json +43 -0
  573. package/src/user-data-rights/changes.json +14 -0
  574. package/src/waitlist/changes.json +6 -0
  575. package/dist/admin-shell/i18n.d.ts +0 -5
  576. package/dist/admin-shell/i18n.js +0 -51
  577. package/dist/audit/i18n.d.ts +0 -5
  578. package/dist/audit/i18n.js +0 -22
  579. package/dist/jobs/i18n.d.ts +0 -5
  580. package/dist/jobs/i18n.js +0 -52
  581. package/dist/managed-pages/i18n.d.ts +0 -5
  582. package/dist/managed-pages/i18n.js +0 -55
  583. package/dist/presets/dsgvo-self-service.d.ts +0 -10
  584. package/dist/presets/dsgvo-self-service.js +0 -24
  585. package/dist/user-data-rights/i18n.d.ts +0 -5
  586. package/dist/user-data-rights/i18n.js +0 -39
  587. /package/dist/account-security/{constants.d.ts → web/constants.d.ts} +0 -0
  588. /package/dist/account-security/{i18n.d.ts → web/i18n.d.ts} +0 -0
  589. /package/dist/admin-shell/{constants.d.ts → web/constants.d.ts} +0 -0
  590. /package/dist/auth-email-password/{constants.d.ts → web/constants.d.ts} +0 -0
  591. /package/dist/auth-email-password/{i18n.d.ts → web/i18n.d.ts} +0 -0
  592. /package/dist/auth-email-password/{mail-i18n.d.ts → web/mail-i18n.d.ts} +0 -0
  593. /package/dist/auth-mfa/{constants.d.ts → web/constants.d.ts} +0 -0
  594. /package/dist/billing-foundation/{consumer-protection → web/consumer-protection}/consent-locale.d.ts +0 -0
  595. /package/dist/billing-foundation/{contact-card.d.ts → web/contact-card.d.ts} +0 -0
  596. /package/dist/cap-overview/{constants.d.ts → web/constants.d.ts} +0 -0
  597. /package/dist/cap-overview/{usage-math.js → web/usage-math.js} +0 -0
  598. /package/dist/compliance-profiles/{constants.d.ts → web/constants.d.ts} +0 -0
  599. /package/dist/config/{constants.d.ts → web/constants.d.ts} +0 -0
  600. /package/dist/custom-fields/{constants.d.ts → web/constants.d.ts} +0 -0
  601. /package/dist/delivery/{public-names.d.ts → web/public-names.d.ts} +0 -0
  602. /package/dist/feature-toggles/{constants.d.ts → web/constants.d.ts} +0 -0
  603. /package/dist/folders/{constants.d.ts → web/constants.d.ts} +0 -0
  604. /package/dist/form-draft/{constants.d.ts → web/constants.d.ts} +0 -0
  605. /package/dist/jobs/{constants.d.ts → web/constants.d.ts} +0 -0
  606. /package/dist/ledger/{constants.d.ts → web/constants.d.ts} +0 -0
  607. /package/dist/legal-pages/{constants.d.ts → web/constants.d.ts} +0 -0
  608. /package/dist/metrics/{constants.d.ts → web/constants.d.ts} +0 -0
  609. /package/dist/notes-history/{constants.d.ts → web/constants.d.ts} +0 -0
  610. /package/dist/personal-access-tokens/{constants.d.ts → web/constants.d.ts} +0 -0
  611. /package/dist/personal-access-tokens/{scopes.d.ts → web/scopes.d.ts} +0 -0
  612. /package/dist/personal-access-tokens/{scopes.js → web/scopes.js} +0 -0
  613. /package/dist/secrets/{constants.d.ts → web/constants.d.ts} +0 -0
  614. /package/dist/sessions/{i18n.d.ts → web/i18n.d.ts} +0 -0
  615. /package/dist/template-resolver/{document-blocks.d.ts → web/document-blocks.d.ts} +0 -0
  616. /package/dist/template-resolver/{document-blocks.js → web/document-blocks.js} +0 -0
  617. /package/dist/template-resolver/{document-images.d.ts → web/document-images.d.ts} +0 -0
  618. /package/dist/template-resolver/{document-schema.d.ts → web/document-schema.d.ts} +0 -0
  619. /package/dist/template-resolver/{document-steps.d.ts → web/document-steps.d.ts} +0 -0
  620. /package/dist/template-resolver/{mail-constants.d.ts → web/mail-constants.d.ts} +0 -0
  621. /package/dist/template-resolver/{pdf-constants.d.ts → web/pdf-constants.d.ts} +0 -0
  622. /package/dist/template-resolver/{placeholder-text.d.ts → web/placeholder-text.d.ts} +0 -0
  623. /package/dist/template-resolver/{placeholder-text.js → web/placeholder-text.js} +0 -0
  624. /package/dist/template-resolver/{qualified-names.d.ts → web/qualified-names.d.ts} +0 -0
  625. /package/dist/tenant/{constants.d.ts → web/constants.d.ts} +0 -0
  626. /package/dist/tier-engine/{constants.d.ts → web/constants.d.ts} +0 -0
  627. /package/dist/tier-engine/{i18n.d.ts → web/i18n.d.ts} +0 -0
  628. /package/dist/user/{constants.d.ts → web/constants.d.ts} +0 -0
  629. /package/dist/user-data-rights/{constants.d.ts → web/constants.d.ts} +0 -0
  630. /package/dist/user-profile/{constants.d.ts → web/constants.d.ts} +0 -0
  631. /package/dist/user-profile/{i18n.d.ts → web/i18n.d.ts} +0 -0
  632. /package/dist/waitlist/{constants.d.ts → web/constants.d.ts} +0 -0
@@ -1,61 +1,39 @@
1
- // @runtime client
2
- // Default-Bundle für die Apex-Deletion-Screens. Apps hängen es als
3
- // Fallback-Bundle in den LocaleProvider (createPublicSurface clientFeatures
4
- // oder direkt) und können einzelne Keys überschreiben. Keys: `userDataRights.
5
- // deletion.<step>.<slug>`.
6
- import { mergeTranslations, translationsByLocaleFromKeys, } from "@cosmicdrift/kumiko-renderer";
7
- import { USER_DATA_RIGHTS_I18N } from "../i18n.js";
8
- const apexTranslations = {
9
- en: {
10
- "userDataRights.deletion.request.title": "Request account deletion",
11
- "userDataRights.deletion.request.intro": "Enter the email address of your account. If an account exists, we'll send you a confirmation link to delete it.",
12
- "userDataRights.deletion.request.email": "Email",
13
- "userDataRights.deletion.request.submit": "Request confirmation link",
14
- "userDataRights.deletion.request.submitting": "…",
15
- "userDataRights.deletion.request.successTitle": "Email sent",
16
- "userDataRights.deletion.request.successBody": "If the email exists in our system, a message with a confirmation link is on its way. Please check your inbox.",
17
- "userDataRights.deletion.request.error": "Something went wrong. Please try again.",
18
- "userDataRights.deletion.confirm.title": "Confirm account deletion",
19
- "userDataRights.deletion.confirm.intro": "Confirming starts the deletion grace period. Until it ends you can cancel the deletion from your logged-in account.",
20
- "userDataRights.deletion.confirm.submit": "Confirm deletion",
21
- "userDataRights.deletion.confirm.submitting": "…",
22
- "userDataRights.deletion.confirm.successTitle": "Deletion scheduled",
23
- "userDataRights.deletion.confirm.successBody": "Your account will be deleted after the grace period. You can cancel the deletion from your logged-in account until then.",
24
- "userDataRights.deletion.confirm.invalidToken": "The link is invalid or expired. Please request a new one.",
25
- "userDataRights.deletion.confirm.missingToken": "No token found in the link. Please open the link from the email again.",
26
- "userDataRights.deletion.confirm.error": "Something went wrong. Please try again.",
27
- "userDataRights.privacyCenter.errors.generic": "Something went wrong. Please try again.",
28
- "userDataRights.privacyCenter.field.status": "Account status",
29
- "userDataRights.privacyCenter.field.gracePeriodEnd": "Scheduled deletion date",
30
- "userDataRights.privacyCenter.field.status.option.active": "Active",
31
- "userDataRights.privacyCenter.field.status.option.restricted": "Restricted",
32
- "userDataRights.privacyCenter.field.status.option.deletionRequested": "Deletion requested",
33
- "userDataRights.privacyCenter.field.status.option.deleted": "Deleted",
34
- "userDataRights.privacyCenter.export.title": "Export your data (Art. 20)",
35
- "userDataRights.privacyCenter.export.intro": "Request a copy of your data. It is prepared in the background; once ready you can download it here.",
36
- "userDataRights.privacyCenter.export.request": "Request data export",
37
- "userDataRights.privacyCenter.export.requesting": "Requesting …",
38
- "userDataRights.privacyCenter.export.pending": "Your export is being prepared. Please check back later.",
39
- "userDataRights.privacyCenter.export.failed": "The last export failed to build. You can try again.",
40
- "userDataRights.privacyCenter.export.ready": "Your export is ready.",
41
- "userDataRights.privacyCenter.export.download": "Download export",
42
- "userDataRights.privacyCenter.export.availableUntil": "Available until {date}",
43
- "userDataRights.privacyCenter.export.requestNew": "Request a new export",
44
- "userDataRights.privacyCenter.restriction.title": "Restrict processing (Art. 18)",
45
- "userDataRights.privacyCenter.restriction.explainer": "Freeze your account: processing of your data is paused and you are signed out. Lifting the restriction afterwards is only possible via support.",
46
- "userDataRights.privacyCenter.restriction.restrict": "Restrict account",
47
- "userDataRights.privacyCenter.restriction.dialogTitle": "Restrict your account?",
48
- "userDataRights.privacyCenter.restriction.dialogDescription": "You will be signed out immediately and cannot sign in again until support lifts the restriction.",
49
- "userDataRights.privacyCenter.deletion.title": "Delete account (Art. 17)",
50
- "userDataRights.privacyCenter.deletion.explainer": "Request deletion of your account. Until the grace period ends you can cancel the deletion.",
51
- "userDataRights.privacyCenter.deletion.delete": "Delete account",
52
- "userDataRights.privacyCenter.deletion.cancel": "Cancel deletion",
53
- "userDataRights.privacyCenter.deletion.dialogTitle": "Delete your account?",
54
- "userDataRights.privacyCenter.deletion.dialogDescription": "Confirming starts the deletion grace period. You can cancel the deletion until it ends.",
55
- "userDataRights.errors.download.notFound": "The download link is invalid or belongs to a different account.",
56
- "userDataRights.errors.download.expired": "Your download has expired. Please request a new export.",
57
- "userDataRights.errors.download.unavailable": "The export is not yet ready or has failed. Please check the status endpoint.",
58
- "userDataRights.errors.download.signedUrlNotSupported": "The download is currently unavailable due to a server configuration issue. The operator has been notified.",
1
+ export const USER_DATA_RIGHTS_I18N = {
2
+ "user-data-rights:feature.label": { en: "Privacy" },
3
+ "user-data-rights:notify.export-ready.label": { en: "Data export ready" },
4
+ "user-data-rights:notify.export-failed.label": { en: "Data export failed" },
5
+ "user-data-rights:notify.deletion-requested.label": { en: "Deletion requested" },
6
+ "user-data-rights:notify.deletion-executed.label": { en: "Deletion completed" },
7
+ "user-data-rights:nav.exportJobs": { en: "GDPR exports" },
8
+ "screen:export-job-list.title": { en: "GDPR exports" },
9
+ "screen:export-job-detail.title": { en: "Export job" },
10
+ "screen:download-attempt-list.title": { en: "Download attempts" },
11
+ "screen:privacy-center.title": { en: "Privacy" },
12
+ "userDataRights.privacyCenter.subtitle": {
13
+ en: "Logged-in GDPR self-service page where a user requests and downloads a data export (Art. 20), restricts processing of their account (Art. 18) and requests its deletion (Art. 17).",
59
14
  },
15
+ "user-data-rights:entity:export-job:field:userId": { en: "User" },
16
+ "user-data-rights:entity:export-job:field:status": { en: "Status" },
17
+ "user-data-rights:entity:export-job:field:requestedAt": { en: "Requested" },
18
+ "user-data-rights:entity:export-job:field:completedAt": { en: "Completed" },
19
+ "user-data-rights:entity:export-job:field:expiresAt": { en: "Expires" },
20
+ "user-data-rights:entity:export-job:field:requestedFromTenantId": {
21
+ en: "Tenant",
22
+ },
23
+ "user-data-rights:entity:export-job:field:startedAt": { en: "Started" },
24
+ "user-data-rights:entity:export-job:field:downloadStorageKey": {
25
+ en: "Storage key",
26
+ },
27
+ "user-data-rights:entity:export-job:field:bytesWritten": { en: "Bytes" },
28
+ "user-data-rights:entity:export-job:field:errorMessage": { en: "Error" },
29
+ "user-data-rights:entity:download-attempt:field:attemptedAt": {
30
+ en: "Attempted at",
31
+ },
32
+ "user-data-rights:entity:download-attempt:field:result": { en: "Result" },
33
+ "user-data-rights:entity:download-attempt:field:via": { en: "Via" },
34
+ "user-data-rights:entity:download-attempt:field:ip": { en: "IP" },
35
+ "user-data-rights:entity:download-attempt:field:attemptedByUserId": {
36
+ en: "User",
37
+ },
38
+ "user-data-rights:entity:download-attempt:field:jobId": { en: "Job" },
60
39
  };
61
- export const defaultTranslations = mergeTranslations(translationsByLocaleFromKeys(USER_DATA_RIGHTS_I18N), apexTranslations);
@@ -1,7 +1,7 @@
1
1
  export { type UserDataRightsClientOptions, userDataRightsClient } from "./client-plugin.tsx";
2
2
  export type { ConfirmAccountDeletionScreenProps } from "./confirm-deletion-screen.tsx";
3
3
  export { ConfirmAccountDeletionScreen } from "./confirm-deletion-screen.tsx";
4
- export { defaultTranslations } from "./i18n.ts";
4
+ export { defaultTranslations } from "./default-translations.ts";
5
5
  export { formatDate } from "./privacy-center-screen.tsx";
6
6
  export { makePublicDeletionGate, type PublicDeletionRoutes } from "./public-deletion-gate.tsx";
7
7
  export type { RequestAccountDeletionScreenProps } from "./request-deletion-screen.tsx";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Public exports für die Browser-Seite des user-data-rights Features —
3
2
  // die anonymen Apex-Deletion-Screens. Konsumiert via Sub-Path-Export
4
3
  // `@cosmicdrift/kumiko-bundled-features/user-data-rights/web`. Die Server-
@@ -6,7 +5,7 @@
6
5
  // keine React-/DOM-Deps.
7
6
  export { userDataRightsClient } from "./client-plugin.js";
8
7
  export { ConfirmAccountDeletionScreen } from "./confirm-deletion-screen.js";
9
- export { defaultTranslations } from "./i18n.js";
8
+ export { defaultTranslations } from "./default-translations.js";
10
9
  export { formatDate } from "./privacy-center-screen.js";
11
10
  export { makePublicDeletionGate } from "./public-deletion-gate.js";
12
11
  export { RequestAccountDeletionScreen } from "./request-deletion-screen.js";
@@ -1,6 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { EMPTY_VALUE_PLACEHOLDER } from "@cosmicdrift/kumiko-renderer/headless";
3
- // @runtime client
4
3
  // Export section (Art. 20) — the one part of user-data-rights' privacy-center
5
4
  // screen that stays custom (fw#2312). Registered as an EditExtensionSection
6
5
  // component (see web/client-plugin.tsx); the projectionDetail screen
@@ -15,7 +14,7 @@ import { useDispatcher, usePrimitives, useQuery, useTranslation, } from "@cosmic
15
14
  import { postWithDownload } from "@cosmicdrift/kumiko-renderer/web";
16
15
  import { propertyOf } from "@cosmicdrift/kumiko-types/type-guards";
17
16
  import { useEffect, useState } from "react";
18
- import { EXPORT_JOB_STATUS, UserDataRightsHandlers, UserDataRightsQueries, } from "../constants.js";
17
+ import { EXPORT_JOB_STATUS, UserDataRightsHandlers, UserDataRightsQueries, } from "./constants.js";
19
18
  // Export-Job läuft async (worker-Lane-Cron, ~1 Min). Solange er pending/running
20
19
  // ist, pollt der Screen den Status, damit der Download ohne manuellen Reload
21
20
  // erscheint.
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @runtime client
3
2
  // RequestAccountDeletionScreen — anonymer Apex-Screen Schritt 1. Email-Form
4
3
  // → user-data-rights:write:request-deletion-by-email. Enumeration-safe: zeigt
5
4
  // unconditional ein "Falls Account existiert, Mail unterwegs"-Confirm, auch
@@ -2,7 +2,7 @@ import { createEventStoreExecutor, WritePurposes, } from "@cosmicdrift/kumiko-fr
2
2
  import { deleteStoredFileAndDerivatives } from "@cosmicdrift/kumiko-framework/derivatives";
3
3
  import { createSystemUser, } from "@cosmicdrift/kumiko-framework/engine";
4
4
  import { InternalError } from "@cosmicdrift/kumiko-framework/errors";
5
- import { fileRefEntity, fileRefsTable } from "@cosmicdrift/kumiko-framework/files";
5
+ import { fileRefEntity, fileRefsTable, resolveActionFormFileField, } from "@cosmicdrift/kumiko-framework/files";
6
6
  import { collectErasureFailure, throwIfErasureFailed } from "../../shared/index.js";
7
7
  const ERROR_CONTEXT = "user-data-rights-defaults:fileRef";
8
8
  // Forget writes go through the executor (events), not deleteMany/updateMany:
@@ -145,6 +145,8 @@ function isPersonalPiiField(field) {
145
145
  // 2. Field exists but carries no PII annotation → anonymize (the
146
146
  // conservative path); the boot-validator warns on a PII-typical field
147
147
  // name so this stays visible and quiet-fixable via `personal`.
148
+ // 2b. Pending upload of an actionForm files field (entityType = screen QN, entityId null):
149
+ // nothing owns it yet, so it is personal to its uploader and hard-deleted like case 1.
148
150
  // 3. Entity or field not resolvable (upload hardening in file-routes.ts
149
151
  // should prevent this from ever being written; theoretical remainder
150
152
  // only) → anonymize, never a silent hard-delete.
@@ -155,6 +157,9 @@ function isPersonalFileRow(registry, row) {
155
157
  return true;
156
158
  if (typeof entityType !== "string" || typeof fieldName !== "string")
157
159
  return false;
160
+ if (row["entityId"] === null && resolveActionFormFileField(registry, entityType, fieldName)) {
161
+ return true;
162
+ }
158
163
  const fieldDef = registry.getEntity(entityType)?.fields[fieldName];
159
164
  return isPersonalPiiField(fieldDef);
160
165
  }
@@ -1,6 +1,6 @@
1
1
  import { defineFeature, i18nKey, } from "@cosmicdrift/kumiko-framework/engine";
2
- import { CHANGE_EMAIL_SECTION_EXTENSION_NAME, CHANGE_PASSWORD_SECTION_EXTENSION_NAME, PROFILE_SCREEN_ID, UserDataRightsHandlers, UserProfileQueries, } from "./constants.js";
3
2
  import { changeEmailWrite } from "./handlers/change-email.write.js";
3
+ import { CHANGE_EMAIL_SECTION_EXTENSION_NAME, CHANGE_PASSWORD_SECTION_EXTENSION_NAME, PROFILE_SCREEN_ID, UserDataRightsHandlers, UserProfileQueries, } from "./web/constants.js";
4
4
  export function createUserProfileFeature(options) {
5
5
  const allowEmailChange = options?.allowEmailChange ?? true;
6
6
  return defineFeature("user-profile", (r) => {
@@ -4,7 +4,7 @@ import * as z from "zod";
4
4
  import { AuthErrors } from "../../auth-email-password/index.js";
5
5
  import { decryptStoredPii, verifyPassword } from "../../shared/index.js";
6
6
  import { UserErrors, UserHandlers, UserQueries } from "../../user/index.js";
7
- import { UserProfileErrors } from "../constants.js";
7
+ import { UserProfileErrors } from "../web/constants.js";
8
8
  // Gleiche Failure-Shape wie auth-email-password (anti-enumeration):
9
9
  // dessen errors.ts ist nicht Teil des Feature-Barrels, der Reason-Code
10
10
  // + i18nKey sind aber stabile Public-API.
@@ -1,2 +1,2 @@
1
- export { USER_PROFILE_FEATURE, UserDataRightsHandlers, UserProfileErrors, UserProfileHandlers, UserProfileQueries, } from "./constants.ts";
2
1
  export { createUserProfileFeature, type UserProfileFeatureOptions } from "./feature.ts";
2
+ export { USER_PROFILE_FEATURE, UserDataRightsHandlers, UserProfileErrors, UserProfileHandlers, UserProfileQueries, } from "./web/constants.ts";
@@ -1,5 +1,5 @@
1
1
  // Bewusst OHNE i18n-Export: das Server-Barrel muss von Server-Samples
2
2
  // ohne jsx-tsconfig kompilierbar bleiben (i18n zieht kumiko-renderer →
3
3
  // .tsx). Translations kommen via ./web (userProfileClient).
4
- export { USER_PROFILE_FEATURE, UserDataRightsHandlers, UserProfileErrors, UserProfileHandlers, UserProfileQueries, } from "./constants.js";
5
4
  export { createUserProfileFeature } from "./feature.js";
5
+ export { USER_PROFILE_FEATURE, UserDataRightsHandlers, UserProfileErrors, UserProfileHandlers, UserProfileQueries, } from "./web/constants.js";
@@ -1,7 +1,6 @@
1
- // @runtime client
2
1
  import { mergeTranslations, } from "@cosmicdrift/kumiko-renderer";
3
- import { CHANGE_EMAIL_SECTION_EXTENSION_NAME, CHANGE_PASSWORD_SECTION_EXTENSION_NAME, } from "../constants.js";
4
- import { defaultTranslations } from "../i18n.js";
2
+ import { CHANGE_EMAIL_SECTION_EXTENSION_NAME, CHANGE_PASSWORD_SECTION_EXTENSION_NAME, } from "./constants.js";
3
+ import { defaultTranslations } from "./i18n.js";
5
4
  import { ChangeEmailSection, ChangePasswordSection } from "./profile-screen.js";
6
5
  // Supplies the ChangeEmail/ChangePassword extension components for the
7
6
  // declarative `profile` projectionDetail screen (fw#2312, ../feature.ts,
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Plain string constants — client-marked so web/profile-screen.tsx can
3
2
  // import them; runtime code (handlers/feature) may pull client files anyway.
4
3
  export const USER_PROFILE_FEATURE = "user-profile";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Default bundles for the `profile` screen. userProfileClient() hangs this
3
2
  // in the LocaleProvider as a fallback bundle — apps override individual keys
4
3
  // via `userProfileClient({ translations })`.
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @runtime client
3
2
  // Change-password and change-email sections for the declarative `profile`
4
3
  // projectionDetail screen (fw#2312, ../feature.ts). Both keep re-auth flows
5
4
  // a declarative action can't express, so they stay React `EditExtensionSection`
@@ -10,9 +9,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  import { useDispatcher, usePrimitives, useTranslation, } from "@cosmicdrift/kumiko-renderer";
11
10
  import { propertyOf } from "@cosmicdrift/kumiko-types/type-guards";
12
11
  import { useState } from "react";
13
- import { AuthHandlers } from "../../auth-email-password/constants.js";
12
+ import { AuthHandlers } from "../../auth-email-password/web/constants.js";
14
13
  import { requestEmailVerification } from "../../auth-email-password/web/index.js";
15
- import { UserProfileHandlers } from "../constants.js";
14
+ import { UserProfileHandlers } from "./constants.js";
16
15
  // Dispatcher failures carry an i18nKey only when the handler sets one —
17
16
  // boundary read with a generic fallback.
18
17
  function failureKey(error) {
@@ -1,6 +1,6 @@
1
1
  import { buildEntityTable } from "@cosmicdrift/kumiko-framework/db";
2
2
  import { createEntity, createLongTextField, createSelectField, createTextField, createTimestampField, } from "@cosmicdrift/kumiko-framework/engine";
3
- import { WAITLIST_STATUS } from "./constants.js";
3
+ import { WAITLIST_STATUS } from "./web/constants.js";
4
4
  const WAITLIST_STATUS_OPTIONS = [
5
5
  WAITLIST_STATUS.Pending,
6
6
  WAITLIST_STATUS.Invited,
@@ -1,5 +1,4 @@
1
1
  import { defineFeature, EXT_USER_DATA, i18nKey, } from "@cosmicdrift/kumiko-framework/engine";
2
- import { WAITLIST_EXPORTED_EVENT_SHORT, WAITLIST_FEATURE, WAITLIST_PURGED_EVENT_SHORT, } from "./constants.js";
3
2
  import { waitlistEntryEntity } from "./entity.js";
4
3
  import { exportHandler, purgeHandler } from "./handlers/export-purge.write.js";
5
4
  import { createInviteHandler } from "./handlers/invite.write.js";
@@ -13,6 +12,7 @@ import { WAITLIST_ADMIN_NOTICE_RECORD, WAITLIST_ADMIN_NOTICE_VARIABLES, WAITLIST
13
12
  import { WaitlistAuditEventSchema } from "./payloads.js";
14
13
  import { waitlistListScreen } from "./screens.js";
15
14
  import { waitlistEntryDeleteHook, waitlistEntryExportHook } from "./user-data-hooks.js";
15
+ import { WAITLIST_EXPORTED_EVENT_SHORT, WAITLIST_FEATURE, WAITLIST_PURGED_EVENT_SHORT, } from "./web/constants.js";
16
16
  export function createWaitlistFeature(opts = {}) {
17
17
  return defineFeature(WAITLIST_FEATURE, (r) => {
18
18
  r.describe("Public waitlist: an anonymous, rate-limited `submit` handler collects name, email and optional company, portfolio and message (a honeypot field and per-email dedupe keep bots and repeat submits out, and the response body is identical whether or not an address was already listed), and mails the submitter a confirmation. SystemAdmins review entries in a list screen and invite or reject them; an invite creates the entrant's own tenant (or joins one shared tenant) and mails an accept link with the configured membership role, never a global role. Entries are platform-wide, their personal data is crypto-shredding-ready, and the EXT_USER_DATA hooks export and erase entries matching a user's email.");
@@ -2,9 +2,9 @@ import { defineWriteHandler } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { UnprocessableError, writeFailure } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import { generateId } from "@cosmicdrift/kumiko-framework/utils";
4
4
  import * as z from "zod";
5
- import { WAITLIST_AUDIT_AGGREGATE_TYPE, WAITLIST_EXPORTED_EVENT_QN, WAITLIST_PURGED_EVENT_QN, WaitlistErrors, } from "../constants.js";
6
5
  import { listAllWaitlistRows, purgeWaitlistRows } from "../entries-admin.js";
7
6
  import { adminAccess, waitlistDb } from "../lib.js";
7
+ import { WAITLIST_AUDIT_AGGREGATE_TYPE, WAITLIST_EXPORTED_EVENT_QN, WAITLIST_PURGED_EVENT_QN, WaitlistErrors, } from "../web/constants.js";
8
8
  const PurgeSchema = z.object({ confirmCount: z.number().int().min(0) }).strict();
9
9
  const ExportSchema = z.object({}).strict();
10
10
  async function appendAudit(ctx, type, count) {
@@ -4,10 +4,10 @@ import { InternalError, NotFoundError, UnprocessableError, writeFailure, } from
4
4
  import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
5
5
  import { AuthErrors, AuthHandlers } from "../../auth-email-password/index.js";
6
6
  import { TenantHandlers, tenantTable } from "../../tenant/index.js";
7
- import { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_STATUS, WaitlistErrors } from "../constants.js";
8
7
  import { isOpenWaitlistStatus } from "../entity.js";
9
8
  import { adminAccess, isTenantMember, platformActor, waitlistDb, waitlistExecutor, } from "../lib.js";
10
9
  import { WaitlistIdSchema } from "../payloads.js";
10
+ import { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_STATUS, WaitlistErrors, } from "../web/constants.js";
11
11
  // pg_advisory_xact_lock namespace (int4): 'wlin' as ASCII, disjoint from the submit lock.
12
12
  const INVITE_LOCK_NAMESPACE = 0x776c696e;
13
13
  const INVITE_LOCK_REASON = "takes the per-entry advisory lock so parallel invites cannot both create a tenant and invitation; TenantDb has no lock API";
@@ -2,10 +2,10 @@ import { selectMany } from "@cosmicdrift/kumiko-framework/db";
2
2
  import { createSystemUser, defineWriteHandler, parseTenantId, } from "@cosmicdrift/kumiko-framework/engine";
3
3
  import { InternalError, NotFoundError, UnprocessableError, writeFailure, } from "@cosmicdrift/kumiko-framework/errors";
4
4
  import { cancelPendingInvitation, INVITATION_STATUS, tenantInvitationsTable, } from "../../tenant/index.js";
5
- import { WAITLIST_STATUS, WaitlistErrors } from "../constants.js";
6
5
  import { isOpenWaitlistStatus } from "../entity.js";
7
6
  import { adminAccess, isTenantMember, normalizeEmail, platformActor, waitlistDb, waitlistExecutor, } from "../lib.js";
8
7
  import { WaitlistIdSchema } from "../payloads.js";
8
+ import { WAITLIST_STATUS, WaitlistErrors } from "../web/constants.js";
9
9
  // An invited entry already has a live invitation link; rejecting must kill it,
10
10
  // otherwise the rejected person can still sign up. Once accepted they hold
11
11
  // access, which only tenant member removal may revoke.
@@ -2,11 +2,11 @@ import { acquireNamespacedAdvisoryLock } from "@cosmicdrift/kumiko-framework/db"
2
2
  import { access, defineWriteHandler, } from "@cosmicdrift/kumiko-framework/engine";
3
3
  import { InternalError } from "@cosmicdrift/kumiko-framework/errors";
4
4
  import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
5
- import { WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS } from "../constants.js";
6
5
  import { normalizeEmail, platformActor, waitlistDb, waitlistExecutor } from "../lib.js";
7
- import { resolveWaitlistAdminMailLocale, resolveWaitlistMailLocale, waitlistAdminNoticeVariables, waitlistConfirmationVariables, } from "../mail.js";
6
+ import { resolveWaitlistMailLocale, waitlistAdminNoticeVariables, waitlistConfirmationVariables, } from "../mail.js";
8
7
  import { DEFAULT_SUBMIT_EMAIL_RATE_LIMITS, DEFAULT_SUBMIT_RATE_LIMIT, } from "../options.js";
9
8
  import { WaitlistSubmitSchema } from "../payloads.js";
9
+ import { WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS } from "../web/constants.js";
10
10
  // pg_advisory_xact_lock namespace (int4): 'wlst' as ASCII, disjoint from the
11
11
  // framework's other fixed advisory-lock keys.
12
12
  const SUBMIT_LOCK_NAMESPACE = 0x776c7374;
@@ -124,7 +124,8 @@ export function createSubmitHandler(opts) {
124
124
  message: payload.message,
125
125
  }),
126
126
  priority: "normal",
127
- locale: resolveWaitlistAdminMailLocale(ctx.locale),
127
+ // Operator-facing: the request locale, not the one the entrant picked in the form.
128
+ locale: resolveWaitlistMailLocale(ctx.locale),
128
129
  });
129
130
  });
130
131
  return SUBMITTED;
@@ -1,6 +1,6 @@
1
1
  import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
2
2
  import type { Temporal } from "@cosmicdrift/kumiko-types/temporal";
3
- import type { WaitlistStatus } from "./constants.ts";
3
+ import type { WaitlistStatus } from "./web/constants.ts";
4
4
  export type WaitlistImportEntry = {
5
5
  /** Stable identity of the source row (e.g. `offlot:<uuid>`); the new entry id derives from it. */
6
6
  readonly sourceKey: string;
@@ -1,7 +1,7 @@
1
- export { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_FEATURE, WAITLIST_FIELD_LIMITS, WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS, WaitlistErrors, WaitlistHandlers, WaitlistQueries, type WaitlistStatus, } from "./constants.ts";
2
1
  export { isOpenWaitlistStatus, waitlistEntryEntity, waitlistEntryTable } from "./entity.ts";
3
2
  export { createWaitlistFeature } from "./feature.ts";
4
3
  export { importWaitlistEntry, type WaitlistImportEntry, type WaitlistImportOutcome, waitlistImportId, } from "./import.ts";
5
4
  export { DEFAULT_IMPORT_LOCALE, DEFAULT_LEGACY_SOURCE_TABLE, isLegacyWaitlistSource, LEGACY_WAITLIST_SOURCES, type LegacyWaitlistMigrateOptions, type LegacyWaitlistMigrateReport, type LegacyWaitlistSource, migrateLegacyWaitlist, offlotLegacyTable, publicstatusLegacyTable, } from "./legacy-migrate.ts";
6
5
  export type { WaitlistInviteOptions, WaitlistOptions } from "./options.ts";
7
6
  export { type WaitlistSubmitInput, WaitlistSubmitSchema } from "./payloads.ts";
7
+ export { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_FEATURE, WAITLIST_FIELD_LIMITS, WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS, WaitlistErrors, WaitlistHandlers, WaitlistQueries, type WaitlistStatus, } from "./web/constants.ts";
@@ -1,6 +1,6 @@
1
- export { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_FEATURE, WAITLIST_FIELD_LIMITS, WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS, WaitlistErrors, WaitlistHandlers, WaitlistQueries, } from "./constants.js";
2
1
  export { isOpenWaitlistStatus, waitlistEntryEntity, waitlistEntryTable } from "./entity.js";
3
2
  export { createWaitlistFeature } from "./feature.js";
4
3
  export { importWaitlistEntry, waitlistImportId, } from "./import.js";
5
4
  export { DEFAULT_IMPORT_LOCALE, DEFAULT_LEGACY_SOURCE_TABLE, isLegacyWaitlistSource, LEGACY_WAITLIST_SOURCES, migrateLegacyWaitlist, offlotLegacyTable, publicstatusLegacyTable, } from "./legacy-migrate.js";
6
5
  export { WaitlistSubmitSchema } from "./payloads.js";
6
+ export { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_FEATURE, WAITLIST_FIELD_LIMITS, WAITLIST_NOTIFICATION_TYPES, WAITLIST_STATUS, WaitlistErrors, WaitlistHandlers, WaitlistQueries, } from "./web/constants.js";
@@ -3,8 +3,8 @@ import { countWhere, createTenantDb, selectMany, table, text as textColumn, time
3
3
  import { SYSTEM_TENANT_ID } from "@cosmicdrift/kumiko-framework/engine";
4
4
  import { archiveStream, createArchivedStreamsTable, eventsTable, isStreamArchived, } from "@cosmicdrift/kumiko-framework/event-store";
5
5
  import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
6
- import { WAITLIST_STATUS } from "./constants.js";
7
6
  import { importWaitlistEntry, waitlistImportId } from "./import.js";
7
+ import { WAITLIST_STATUS } from "./web/constants.js";
8
8
  export const LEGACY_WAITLIST_SOURCES = ["offlot", "publicstatus"];
9
9
  export function isLegacyWaitlistSource(value) {
10
10
  return LEGACY_WAITLIST_SOURCES.some((known) => known === value);
@@ -5,8 +5,8 @@ import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
5
5
  import { decryptStoredPii } from "../shared/index.js";
6
6
  import { tenantMembershipsTable } from "../tenant/index.js";
7
7
  import { userTable } from "../user/index.js";
8
- import { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_STATUS } from "./constants.js";
9
8
  import { normalizeEmail, platformActor, waitlistExecutor } from "./lib.js";
9
+ import { DEFAULT_OWN_TENANT_INVITE_ROLE, WAITLIST_STATUS } from "./web/constants.js";
10
10
  const PII_DECRYPT_REASON = "waitlist:link-on-signup";
11
11
  export const WAITLIST_MEMBERSHIP_CREATED_EVENT = entityEventName("tenant-membership", "created");
12
12
  // Only a TenantAdmin membership can be the signup owner; invite-accept memberships of
@@ -13,7 +13,6 @@ export declare function waitlistConfirmationVariables(args: {
13
13
  readonly footer: string;
14
14
  };
15
15
  export declare function waitlistConfirmationTemplate(): NotificationLocalizedTemplate;
16
- export declare function resolveWaitlistAdminMailLocale(adminLocale: string | undefined): "en" | "de";
17
16
  export declare function waitlistAdminNoticeVariables(args: {
18
17
  readonly name: string;
19
18
  readonly email: string;
@@ -33,6 +33,12 @@ const ADMIN_NOTICE_STRINGS = {
33
33
  intro: "Jemand hat sich gerade auf die Warteliste eingetragen.",
34
34
  footer: "Den Eintrag findest du in der Wartelisten-Verwaltung.",
35
35
  },
36
+ es: {
37
+ subject: (name) => `Nueva entrada en la lista de espera: ${name}`,
38
+ header: "Nueva entrada en la lista de espera",
39
+ intro: "Alguien acaba de unirse a la lista de espera.",
40
+ footer: "Revisa la entrada en la administración de la lista de espera.",
41
+ },
36
42
  };
37
43
  function languageOf(locale) {
38
44
  return (locale ?? "").split("-")[0]?.toLowerCase() ?? "";
@@ -79,10 +85,6 @@ export function waitlistConfirmationTemplate() {
79
85
  },
80
86
  ]));
81
87
  }
82
- // Operator-facing, so the entrant's locale does not apply: en/de, en default.
83
- export function resolveWaitlistAdminMailLocale(adminLocale) {
84
- return languageOf(adminLocale) === "de" ? "de" : "en";
85
- }
86
88
  export function waitlistAdminNoticeVariables(args) {
87
89
  return {
88
90
  name: args.name,
@@ -1,6 +1,6 @@
1
1
  import { canonicalizeLocaleTag, isValidLocaleTag } from "@cosmicdrift/kumiko-framework/i18n";
2
2
  import * as z from "zod";
3
- import { WAITLIST_FIELD_LIMITS } from "./constants.js";
3
+ import { WAITLIST_FIELD_LIMITS } from "./web/constants.js";
4
4
  // Submitted text lands in a mail subject; CR/LF there would allow header injection.
5
5
  const NO_CONTROL_CHARS = /^\P{Cc}*$/u;
6
6
  const NO_CONTROL_CHARS_EXCEPT_WHITESPACE = /^(?:[^\p{Cc}]|[\n\r\t])*$/u;
@@ -1,6 +1,6 @@
1
1
  import { i18nKey } from "@cosmicdrift/kumiko-framework/engine";
2
- import { WAITLIST_STATUS, WaitlistHandlers } from "./constants.js";
3
2
  import { adminAccess } from "./lib.js";
3
+ import { WAITLIST_STATUS, WaitlistHandlers } from "./web/constants.js";
4
4
  export const waitlistListScreen = {
5
5
  id: "waitlist-list",
6
6
  type: "entityList",
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Pure string constants, safe for browser code (see auth-email-password/constants.ts).
3
2
  export const WAITLIST_FEATURE = "waitlist";
4
3
  export const WAITLIST_STATUS = {
@@ -0,0 +1,102 @@
1
+ [
2
+ {
3
+ "module": "auth-mfa/schema/user-mfa",
4
+ "export": "userMfaTable"
5
+ },
6
+ {
7
+ "module": "billing-foundation/projection",
8
+ "export": "paymentsProjectionTable"
9
+ },
10
+ {
11
+ "module": "billing-foundation/projection",
12
+ "export": "subscriptionsProjectionTable"
13
+ },
14
+ {
15
+ "module": "compliance-profiles/schema/profile-selection",
16
+ "export": "tenantComplianceProfileTable"
17
+ },
18
+ {
19
+ "module": "config/table",
20
+ "export": "configValuesTable"
21
+ },
22
+ {
23
+ "module": "data-retention/schema/tenant-retention-override",
24
+ "export": "tenantRetentionOverrideTable"
25
+ },
26
+ {
27
+ "module": "delivery/tables",
28
+ "export": "deliveryAttemptsTable"
29
+ },
30
+ {
31
+ "module": "delivery/tables",
32
+ "export": "notificationAddressOptOutsTable"
33
+ },
34
+ {
35
+ "module": "delivery/tables",
36
+ "export": "notificationPreferencesTable"
37
+ },
38
+ {
39
+ "module": "document-ingest-foundation/entity",
40
+ "export": "documentExtractsTable"
41
+ },
42
+ {
43
+ "module": "inbound-mail-foundation/projection",
44
+ "export": "inboundMessagesProjectionTable"
45
+ },
46
+ {
47
+ "module": "inbound-mail-foundation/projection",
48
+ "export": "mailAccountsProjectionTable"
49
+ },
50
+ {
51
+ "module": "inbound-mail-foundation/projection",
52
+ "export": "mailThreadsProjectionTable"
53
+ },
54
+ {
55
+ "module": "managed-pages/table",
56
+ "export": "pagesTable"
57
+ },
58
+ {
59
+ "module": "secrets/table",
60
+ "export": "tenantSecretsTable"
61
+ },
62
+ {
63
+ "module": "template-resolver/table",
64
+ "export": "templateResourcesTable"
65
+ },
66
+ {
67
+ "module": "template-resolver/user-content-table",
68
+ "export": "userContentEntriesTable"
69
+ },
70
+ {
71
+ "module": "tenant/invitation-table",
72
+ "export": "tenantInvitationsTable"
73
+ },
74
+ {
75
+ "module": "tenant/membership-table",
76
+ "export": "tenantMembershipsTable"
77
+ },
78
+ {
79
+ "module": "tenant/schema/tenant",
80
+ "export": "tenantTable"
81
+ },
82
+ {
83
+ "module": "user-data-rights/schema/download-attempt",
84
+ "export": "downloadAttemptsTable"
85
+ },
86
+ {
87
+ "module": "user-data-rights/schema/download-token",
88
+ "export": "exportDownloadTokensTable"
89
+ },
90
+ {
91
+ "module": "user-data-rights/schema/export-job",
92
+ "export": "exportJobsTable"
93
+ },
94
+ {
95
+ "module": "user/schema/user",
96
+ "export": "userTable"
97
+ },
98
+ {
99
+ "module": "waitlist/entity",
100
+ "export": "waitlistEntryTable"
101
+ }
102
+ ]