@cosmicdrift/kumiko-bundled-features 0.377.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 (669) 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-counter/stock-cap-guard.js +8 -0
  163. package/dist/cap-overview/feature.js +1 -1
  164. package/dist/cap-overview/handlers/caps-usage.query.js +1 -1
  165. package/dist/cap-overview/handlers/tenant-caps-list.query.js +2 -2
  166. package/dist/cap-overview/index.d.ts +2 -2
  167. package/dist/cap-overview/index.js +2 -2
  168. package/dist/cap-overview/screens.js +1 -1
  169. package/dist/cap-overview/web/cap-cards-panel.js +1 -1
  170. package/dist/cap-overview/web/cap-usage-bar.js +1 -2
  171. package/dist/cap-overview/web/client-plugin.js +1 -1
  172. package/dist/cap-overview/{constants.js → web/constants.js} +0 -1
  173. package/dist/cap-overview/web/index.js +0 -1
  174. package/dist/cap-overview/{usage-math.d.ts → web/usage-math.d.ts} +1 -1
  175. package/dist/compliance-profiles/feature.js +1 -1
  176. package/dist/compliance-profiles/index.d.ts +1 -1
  177. package/dist/compliance-profiles/index.js +1 -1
  178. package/dist/compliance-profiles/web/client-plugin.js +1 -2
  179. package/dist/compliance-profiles/web/compliance-profile-catalog.js +1 -2
  180. package/dist/compliance-profiles/{constants.js → web/constants.js} +0 -1
  181. package/dist/compliance-profiles/web/index.js +0 -1
  182. package/dist/config/index.d.ts +1 -1
  183. package/dist/config/index.js +1 -1
  184. package/dist/config/web/client-plugin.d.ts +1 -1
  185. package/dist/config/web/client-plugin.js +1 -2
  186. package/dist/config/{constants.js → web/constants.js} +0 -1
  187. package/dist/config/web/i18n.js +1 -1
  188. package/dist/config/web/index.d.ts +1 -1
  189. package/dist/config/web/index.js +1 -2
  190. package/dist/config/write-helpers.js +1 -1
  191. package/dist/custom-fields/feature.js +1 -1
  192. package/dist/custom-fields/handlers/clear-custom-field.write.js +1 -1
  193. package/dist/custom-fields/handlers/define-tenant-field.write.js +1 -1
  194. package/dist/custom-fields/handlers/delete-system-field.write.js +1 -1
  195. package/dist/custom-fields/handlers/delete-tenant-field.write.js +1 -1
  196. package/dist/custom-fields/handlers/set-custom-field.write.js +1 -1
  197. package/dist/custom-fields/handlers/update-tenant-field.write.js +1 -1
  198. package/dist/custom-fields/index.d.ts +1 -1
  199. package/dist/custom-fields/index.js +1 -1
  200. package/dist/custom-fields/lib/value-schema.js +1 -1
  201. package/dist/custom-fields/schemas.js +1 -1
  202. package/dist/custom-fields/web/client-plugin.js +1 -2
  203. package/dist/custom-fields/{constants.js → web/constants.js} +18 -19
  204. package/dist/custom-fields/web/custom-fields-form-section.js +1 -2
  205. package/dist/custom-fields/web/i18n.js +0 -1
  206. package/dist/custom-fields/web/index.d.ts +1 -1
  207. package/dist/custom-fields/web/index.js +1 -2
  208. package/dist/custom-fields/wire-for-entity.js +1 -1
  209. package/dist/delivery/address-opt-out.js +1 -1
  210. package/dist/delivery/attempt-log-retention.js +21 -3
  211. package/dist/delivery/constants.d.ts +1 -1
  212. package/dist/delivery/constants.js +2 -2
  213. package/dist/delivery/i18n.js +1 -1
  214. package/dist/delivery/unsubscribe-page.js +1 -1
  215. package/dist/delivery/web/client-plugin.js +1 -1
  216. package/dist/delivery/web/delivery-channel-cell.js +0 -1
  217. package/dist/delivery/web/delivery-error-cell.js +0 -1
  218. package/dist/delivery/web/delivery-status-cell.js +1 -2
  219. package/dist/delivery/web/delivery-time-cell.js +0 -1
  220. package/dist/delivery/web/delivery-type-cell.js +0 -1
  221. package/dist/delivery/web/index.js +0 -1
  222. package/dist/delivery/{public-names.js → web/public-names.js} +0 -1
  223. package/dist/document-ingest-foundation/events.d.ts +1 -0
  224. package/dist/document-ingest-foundation/events.js +3 -0
  225. package/dist/document-ingest-foundation/executor.js +2 -1
  226. package/dist/document-ingest-foundation/feature.js +16 -5
  227. package/dist/document-ingest-foundation/index.d.ts +1 -1
  228. package/dist/document-ingest-foundation/index.js +1 -1
  229. package/dist/feature-toggles/feature.d.ts +1 -1
  230. package/dist/feature-toggles/feature.js +2 -2
  231. package/dist/feature-toggles/handlers/list.query.js +1 -1
  232. package/dist/feature-toggles/handlers/registered.query.js +1 -1
  233. package/dist/feature-toggles/handlers/set.write.js +1 -1
  234. package/dist/feature-toggles/index.d.ts +1 -1
  235. package/dist/feature-toggles/index.js +1 -1
  236. package/dist/feature-toggles/web/client-plugin.js +1 -2
  237. package/dist/feature-toggles/{constants.js → web/constants.js} +0 -1
  238. package/dist/feature-toggles/web/index.js +0 -1
  239. package/dist/folders/feature.js +1 -1
  240. package/dist/folders/handlers/clear-folder.write.js +1 -1
  241. package/dist/folders/handlers/delete-folder.write.js +1 -1
  242. package/dist/folders/handlers/set-folder.write.js +1 -1
  243. package/dist/folders/index.d.ts +1 -1
  244. package/dist/folders/index.js +1 -1
  245. package/dist/folders/web/client-plugin.js +1 -2
  246. package/dist/folders/{constants.js → web/constants.js} +0 -1
  247. package/dist/folders/web/folder-manager.js +1 -2
  248. package/dist/folders/web/folder-section.js +1 -2
  249. package/dist/folders/web/i18n.js +0 -1
  250. package/dist/folders/web/index.d.ts +1 -1
  251. package/dist/folders/web/index.js +1 -2
  252. package/dist/folders/web/tree.js +0 -1
  253. package/dist/form-draft/db/queries/cleanup.d.ts +3 -2
  254. package/dist/form-draft/db/queries/cleanup.js +18 -9
  255. package/dist/form-draft/decrypt-draft.d.ts +2 -0
  256. package/dist/form-draft/decrypt-draft.js +19 -0
  257. package/dist/form-draft/entity.js +6 -9
  258. package/dist/form-draft/feature.js +1 -1
  259. package/dist/form-draft/handlers/cleanup.job.d.ts +1 -0
  260. package/dist/form-draft/handlers/cleanup.job.js +17 -4
  261. package/dist/form-draft/handlers/discard.write.js +1 -1
  262. package/dist/form-draft/handlers/get.query.js +6 -7
  263. package/dist/form-draft/handlers/list.query.js +11 -7
  264. package/dist/form-draft/handlers/save.write.js +1 -1
  265. package/dist/form-draft/index.d.ts +1 -1
  266. package/dist/form-draft/index.js +1 -1
  267. package/dist/form-draft/lookup.d.ts +2 -2
  268. package/dist/form-draft/lookup.js +7 -2
  269. package/dist/form-draft/schemas.js +1 -1
  270. package/dist/form-draft/{constants.js → web/constants.js} +0 -1
  271. package/dist/form-draft-user-data/hooks.js +2 -2
  272. package/dist/inbound-mail-foundation/handlers/list-accounts.query.d.ts +1 -1
  273. package/dist/inbound-mail-foundation/handlers/list-accounts.query.js +11 -3
  274. package/dist/inbound-mail-foundation/retention-sweep.js +7 -5
  275. package/dist/jobs/feature.js +2 -2
  276. package/dist/jobs/handlers/retry.write.js +1 -1
  277. package/dist/jobs/handlers/trigger.write.js +1 -1
  278. package/dist/jobs/index.d.ts +1 -1
  279. package/dist/jobs/index.js +1 -1
  280. package/dist/jobs/web/client-plugin.js +2 -3
  281. package/dist/jobs/{constants.js → web/constants.js} +0 -1
  282. package/dist/jobs/web/default-translations.d.ts +2 -0
  283. package/dist/jobs/web/default-translations.js +3 -0
  284. package/dist/jobs/web/i18n.d.ts +5 -2
  285. package/dist/jobs/web/i18n.js +51 -4
  286. package/dist/jobs/web/index.js +0 -1
  287. package/dist/ledger/entity.d.ts +1 -1
  288. package/dist/ledger/entity.js +1 -1
  289. package/dist/ledger/feature.js +1 -1
  290. package/dist/ledger/handlers/confirm-schedule-period.write.js +2 -5
  291. package/dist/ledger/handlers/create-transaction.write.js +1 -1
  292. package/dist/ledger/handlers/reports.query.js +1 -1
  293. package/dist/ledger/handlers/reverse-transaction.write.js +1 -1
  294. package/dist/ledger/index.d.ts +1 -1
  295. package/dist/ledger/index.js +1 -1
  296. package/dist/ledger/recurring.d.ts +1 -1
  297. package/dist/ledger/reports.d.ts +1 -1
  298. package/dist/ledger/schemas.js +1 -1
  299. package/dist/ledger/{constants.js → web/constants.js} +0 -1
  300. package/dist/ledger/web/index.d.ts +1 -1
  301. package/dist/ledger/web/index.js +1 -2
  302. package/dist/legal-pages/feature.d.ts +1 -1
  303. package/dist/legal-pages/feature.js +1 -1
  304. package/dist/legal-pages/index.d.ts +1 -1
  305. package/dist/legal-pages/index.js +1 -1
  306. package/dist/legal-pages/lib/boot-check.d.ts +1 -1
  307. package/dist/legal-pages/lib/boot-check.js +1 -1
  308. package/dist/legal-pages/lib/validate-routes.d.ts +1 -1
  309. package/dist/legal-pages/web/client-plugin.js +1 -2
  310. package/dist/legal-pages/{constants.js → web/constants.js} +6 -8
  311. package/dist/legal-pages/web/index.js +0 -1
  312. package/dist/mail-foundation/i18n.d.ts +5 -2
  313. package/dist/mail-foundation/i18n.js +3 -2
  314. package/dist/mail-transport-smtp/i18n.d.ts +1 -1
  315. package/dist/mail-transport-smtp/i18n.js +1 -1
  316. package/dist/managed-pages/feature.js +1 -1
  317. package/dist/managed-pages/web/client-plugin.js +1 -2
  318. package/dist/managed-pages/web/default-translations.d.ts +2 -0
  319. package/dist/managed-pages/web/default-translations.js +11 -0
  320. package/dist/managed-pages/web/i18n.d.ts +5 -2
  321. package/dist/managed-pages/web/i18n.js +53 -12
  322. package/dist/managed-pages/web/index.d.ts +1 -1
  323. package/dist/managed-pages/web/index.js +1 -2
  324. package/dist/metrics/compute.d.ts +1 -1
  325. package/dist/metrics/compute.js +1 -1
  326. package/dist/metrics/feature.js +1 -1
  327. package/dist/metrics/index.d.ts +1 -1
  328. package/dist/metrics/index.js +1 -1
  329. package/dist/metrics/types.d.ts +1 -1
  330. package/dist/metrics/validate.js +1 -1
  331. package/dist/metrics/{constants.js → web/constants.js} +0 -1
  332. package/dist/metrics/window.d.ts +1 -1
  333. package/dist/notes-history/feature.js +1 -1
  334. package/dist/notes-history/handlers/add-note.write.js +1 -1
  335. package/dist/notes-history/index.d.ts +1 -1
  336. package/dist/notes-history/index.js +1 -1
  337. package/dist/notes-history/web/client-plugin.js +1 -2
  338. package/dist/notes-history/{constants.js → web/constants.js} +0 -1
  339. package/dist/notes-history/web/i18n.js +0 -1
  340. package/dist/notes-history/web/index.d.ts +1 -1
  341. package/dist/notes-history/web/index.js +1 -2
  342. package/dist/notes-history/web/notes-section.js +2 -3
  343. package/dist/personal-access-tokens/feature.d.ts +2 -2
  344. package/dist/personal-access-tokens/feature.js +6 -4
  345. package/dist/personal-access-tokens/handlers/available-scopes.query.d.ts +1 -1
  346. package/dist/personal-access-tokens/handlers/create.write.js +1 -1
  347. package/dist/personal-access-tokens/handlers/revoke.write.js +1 -1
  348. package/dist/personal-access-tokens/hash.js +1 -1
  349. package/dist/personal-access-tokens/i18n.d.ts +1 -1
  350. package/dist/personal-access-tokens/i18n.js +1 -1
  351. package/dist/personal-access-tokens/index.d.ts +5 -5
  352. package/dist/personal-access-tokens/index.js +3 -3
  353. package/dist/personal-access-tokens/resolver.d.ts +1 -1
  354. package/dist/personal-access-tokens/resolver.js +1 -1
  355. package/dist/personal-access-tokens/schema/api-token.js +1 -1
  356. package/dist/personal-access-tokens/screens.d.ts +1 -1
  357. package/dist/personal-access-tokens/screens.js +1 -1
  358. package/dist/personal-access-tokens/{constants.js → web/constants.js} +0 -1
  359. package/dist/presets/index.d.ts +0 -1
  360. package/dist/presets/index.js +0 -1
  361. package/dist/presets/security-baseline.d.ts +1 -1
  362. package/dist/presets/security-baseline.js +1 -1
  363. package/dist/secrets/feature.js +1 -1
  364. package/dist/secrets/handlers/delete.write.js +1 -1
  365. package/dist/secrets/handlers/list.query.js +1 -1
  366. package/dist/secrets/handlers/set.write.js +1 -1
  367. package/dist/secrets/i18n.js +1 -1
  368. package/dist/secrets/index.d.ts +1 -1
  369. package/dist/secrets/index.js +1 -1
  370. package/dist/secrets/{constants.js → web/constants.js} +0 -1
  371. package/dist/secrets/write-gate.js +1 -1
  372. package/dist/sessions/feature.js +7 -4
  373. package/dist/sessions/{i18n.js → web/i18n.js} +0 -1
  374. package/dist/shared/index.d.ts +1 -1
  375. package/dist/shared/index.js +1 -1
  376. package/dist/shared/purge-files-reaching-subject.js +7 -3
  377. package/dist/subscription-stripe/feature.js +2 -1
  378. package/dist/subscription-stripe/plugin-methods.d.ts +3 -0
  379. package/dist/subscription-stripe/plugin-methods.js +14 -0
  380. package/dist/subscription-stripe/verify-webhook.js +1 -0
  381. package/dist/tags/feature.js +1 -1
  382. package/dist/tags/handlers/assign-tag.write.js +11 -7
  383. package/dist/tags/handlers/create-tag.write.js +1 -1
  384. package/dist/tags/handlers/delete-tag.write.js +4 -1
  385. package/dist/tags/handlers/remove-tag.write.js +1 -1
  386. package/dist/tags/handlers/update-tag.write.js +1 -1
  387. package/dist/tags/index.d.ts +1 -1
  388. package/dist/tags/index.js +1 -1
  389. package/dist/tags/screens.js +1 -1
  390. package/dist/tags/web/client-plugin.js +1 -2
  391. package/dist/tags/{constants.d.ts → web/constants.d.ts} +1 -0
  392. package/dist/tags/{constants.js → web/constants.js} +3 -1
  393. package/dist/tags/web/entity-tags.js +1 -2
  394. package/dist/tags/web/i18n.js +2 -2
  395. package/dist/tags/web/index.d.ts +1 -1
  396. package/dist/tags/web/index.js +1 -2
  397. package/dist/tags/web/tag-filter.js +1 -2
  398. package/dist/tags/web/tag-manager.js +5 -4
  399. package/dist/tags/web/tag-picker.js +0 -1
  400. package/dist/tags/web/tag-section.js +1 -2
  401. package/dist/tags/web/tags-cell.js +1 -2
  402. package/dist/template-resolver/api.d.ts +21 -23
  403. package/dist/template-resolver/api.js +34 -6
  404. package/dist/template-resolver/compile-document-body.d.ts +3 -0
  405. package/dist/template-resolver/compile-document-body.js +51 -4
  406. package/dist/template-resolver/compile-steps-block.js +2 -2
  407. package/dist/template-resolver/document-ops.d.ts +1 -1
  408. package/dist/template-resolver/document-ops.js +3 -3
  409. package/dist/template-resolver/document-sanitizer.d.ts +2 -2
  410. package/dist/template-resolver/document-sanitizer.js +23 -3
  411. package/dist/template-resolver/feature.d.ts +11 -0
  412. package/dist/template-resolver/feature.js +68 -35
  413. package/dist/template-resolver/handlers/by-slug.query.js +6 -1
  414. package/dist/template-resolver/handlers/by-tenant.query.js +6 -2
  415. package/dist/template-resolver/handlers/collection-item.query.js +2 -1
  416. package/dist/template-resolver/handlers/collection-list.query.js +2 -1
  417. package/dist/template-resolver/handlers/collection-set.write.d.ts +2 -1
  418. package/dist/template-resolver/handlers/collection-set.write.js +15 -3
  419. package/dist/template-resolver/handlers/collection-shared.d.ts +1 -2
  420. package/dist/template-resolver/handlers/collection-shared.js +0 -4
  421. package/dist/template-resolver/handlers/copy-locale.write.d.ts +2 -1
  422. package/dist/template-resolver/handlers/copy-locale.write.js +69 -65
  423. package/dist/template-resolver/handlers/diff-to-system.query.js +5 -1
  424. package/dist/template-resolver/handlers/discard-draft.write.d.ts +3 -2
  425. package/dist/template-resolver/handlers/discard-draft.write.js +19 -7
  426. package/dist/template-resolver/handlers/document-base.d.ts +1 -1
  427. package/dist/template-resolver/handlers/document-base.js +6 -1
  428. package/dist/template-resolver/handlers/document-blocks.query.d.ts +1 -1
  429. package/dist/template-resolver/handlers/document-blocks.query.js +2 -2
  430. package/dist/template-resolver/handlers/export-bundle.query.js +5 -2
  431. package/dist/template-resolver/handlers/find-by-id.query.js +4 -2
  432. package/dist/template-resolver/handlers/import-bundle.write.d.ts +2 -1
  433. package/dist/template-resolver/handlers/import-bundle.write.js +30 -25
  434. package/dist/template-resolver/handlers/layout-source.query.js +5 -5
  435. package/dist/template-resolver/handlers/list.query.js +5 -2
  436. package/dist/template-resolver/handlers/overview.query.d.ts +12 -3
  437. package/dist/template-resolver/handlers/overview.query.js +87 -51
  438. package/dist/template-resolver/handlers/patch-draft.write.d.ts +2 -1
  439. package/dist/template-resolver/handlers/patch-draft.write.js +93 -87
  440. package/dist/template-resolver/handlers/reset-to-system.write.d.ts +2 -1
  441. package/dist/template-resolver/handlers/reset-to-system.write.js +51 -44
  442. package/dist/template-resolver/handlers/resource-link-pdf.write.d.ts +2 -1
  443. package/dist/template-resolver/handlers/resource-link-pdf.write.js +34 -28
  444. package/dist/template-resolver/handlers/resource-remove.write.d.ts +2 -1
  445. package/dist/template-resolver/handlers/resource-remove.write.js +39 -33
  446. package/dist/template-resolver/handlers/resource-shared.js +1 -1
  447. package/dist/template-resolver/handlers/resource-upload.write.d.ts +2 -1
  448. package/dist/template-resolver/handlers/resource-upload.write.js +105 -97
  449. package/dist/template-resolver/handlers/send-test-shared.d.ts +5 -0
  450. package/dist/template-resolver/handlers/send-test-shared.js +19 -0
  451. package/dist/template-resolver/handlers/send-test-status.query.d.ts +9 -0
  452. package/dist/template-resolver/handlers/send-test-status.query.js +18 -0
  453. package/dist/template-resolver/handlers/send-test.write.d.ts +2 -1
  454. package/dist/template-resolver/handlers/send-test.write.js +89 -91
  455. package/dist/template-resolver/handlers/set.write.d.ts +2 -1
  456. package/dist/template-resolver/handlers/set.write.js +95 -91
  457. package/dist/template-resolver/handlers/shared.js +1 -1
  458. package/dist/template-resolver/handlers/template-gates.d.ts +1 -1
  459. package/dist/template-resolver/handlers/template-gates.js +1 -1
  460. package/dist/template-resolver/handlers/template-write.d.ts +1 -1
  461. package/dist/template-resolver/handlers/template-write.js +1 -1
  462. package/dist/template-resolver/handlers/toggle-status.write.d.ts +6 -7
  463. package/dist/template-resolver/handlers/toggle-status.write.js +28 -10
  464. package/dist/template-resolver/handlers/upsert-tenant.write.d.ts +2 -1
  465. package/dist/template-resolver/handlers/upsert-tenant.write.js +30 -24
  466. package/dist/template-resolver/handlers/usage.query.js +3 -2
  467. package/dist/template-resolver/handlers/validate.query.d.ts +1 -1
  468. package/dist/template-resolver/handlers/validate.query.js +3 -1
  469. package/dist/template-resolver/i18n.d.ts +3 -0
  470. package/dist/template-resolver/i18n.js +24 -0
  471. package/dist/template-resolver/index.d.ts +8 -5
  472. package/dist/template-resolver/index.js +6 -4
  473. package/dist/template-resolver/layout-appearance.js +1 -1
  474. package/dist/template-resolver/layout-regions.d.ts +1 -1
  475. package/dist/template-resolver/seeding.d.ts +4 -1
  476. package/dist/template-resolver/seeding.js +13 -7
  477. package/dist/template-resolver/store-template-resource.js +2 -2
  478. package/dist/template-resolver/table.js +1 -1
  479. package/dist/template-resolver/template-bundle.js +2 -2
  480. package/dist/template-resolver/template-delivery-policy.d.ts +22 -0
  481. package/dist/template-resolver/template-delivery-policy.js +40 -0
  482. package/dist/template-resolver/template-draft.d.ts +1 -1
  483. package/dist/template-resolver/template-draft.js +1 -1
  484. package/dist/template-resolver/template-edit-policy.d.ts +22 -0
  485. package/dist/template-resolver/template-edit-policy.js +45 -0
  486. package/dist/template-resolver/template-meta.d.ts +2 -2
  487. package/dist/template-resolver/template-meta.js +2 -2
  488. package/dist/template-resolver/template-preview.d.ts +1 -1
  489. package/dist/template-resolver/template-preview.js +15 -6
  490. package/dist/template-resolver/template-usage.d.ts +1 -1
  491. package/dist/template-resolver/template-usage.js +1 -1
  492. package/dist/template-resolver/template-validation.js +34 -14
  493. package/dist/template-resolver/testing.js +1 -1
  494. package/dist/template-resolver/user-content-table.js +1 -1
  495. package/dist/template-resolver/web/client-plugin.js +1 -2
  496. package/dist/template-resolver/{constants.d.ts → web/constants.d.ts} +4 -1
  497. package/dist/template-resolver/{constants.js → web/constants.js} +9 -10
  498. package/dist/template-resolver/{document-blocks.d.ts → web/document-blocks.d.ts} +2 -2
  499. package/dist/template-resolver/{document-blocks.js → web/document-blocks.js} +1 -0
  500. package/dist/template-resolver/web/document-editor-extensions.d.ts +1 -0
  501. package/dist/template-resolver/web/document-editor-extensions.js +22 -2
  502. package/dist/template-resolver/web/document-editor.js +0 -1
  503. package/dist/template-resolver/web/document-images.d.ts +2 -0
  504. package/dist/template-resolver/web/document-images.js +27 -0
  505. package/dist/template-resolver/{document-schema.d.ts → web/document-schema.d.ts} +2 -1
  506. package/dist/template-resolver/{document-schema.js → web/document-schema.js} +4 -1
  507. package/dist/template-resolver/{document-steps.js → web/document-steps.js} +0 -1
  508. package/dist/template-resolver/web/document-tiptap-editor.d.ts +1 -1
  509. package/dist/template-resolver/web/document-tiptap-editor.js +24 -9
  510. package/dist/template-resolver/web/document-toolbar-blocks.d.ts +4 -2
  511. package/dist/template-resolver/web/document-toolbar-blocks.js +1 -1
  512. package/dist/template-resolver/web/editor-handle.js +1 -1
  513. package/dist/template-resolver/web/i18n.js +5 -1
  514. package/dist/template-resolver/web/index.d.ts +3 -3
  515. package/dist/template-resolver/web/index.js +3 -4
  516. package/dist/template-resolver/{mail-constants.js → web/mail-constants.js} +0 -1
  517. package/dist/template-resolver/{pdf-constants.js → web/pdf-constants.js} +0 -1
  518. package/dist/template-resolver/web/placeholder-line-editor-lazy.js +0 -1
  519. package/dist/template-resolver/web/placeholder-line-editor.js +6 -4
  520. package/dist/template-resolver/{qualified-names.d.ts → web/qualified-names.d.ts} +2 -0
  521. package/dist/template-resolver/{qualified-names.js → web/qualified-names.js} +2 -1
  522. package/dist/template-resolver/web/use-stable-by-key.js +0 -1
  523. package/dist/tenant/handlers/add-member.write.js +1 -1
  524. package/dist/tenant/index.d.ts +1 -1
  525. package/dist/tenant/index.js +1 -1
  526. package/dist/tenant/invitation-table.js +1 -1
  527. package/dist/tenant/invited-membership.js +1 -1
  528. package/dist/tenant/last-tenant-admin.js +1 -1
  529. package/dist/tenant/member-role-options.js +1 -1
  530. package/dist/tenant/screens.js +1 -1
  531. package/dist/tenant/web/client-plugin.js +1 -2
  532. package/dist/tenant/{constants.js → web/constants.js} +3 -6
  533. package/dist/tenant/web/index.js +0 -1
  534. package/dist/tenant/web/member-roles-cell.js +0 -1
  535. package/dist/tenant/web/member-status-cell.js +0 -1
  536. package/dist/tenant-lifecycle/stages.js +2 -3
  537. package/dist/tier-engine/entity.d.ts +1 -1
  538. package/dist/tier-engine/entity.js +1 -1
  539. package/dist/tier-engine/feature.js +2 -2
  540. package/dist/tier-engine/handlers/set-tenant-tier.write.js +1 -1
  541. package/dist/tier-engine/index.d.ts +1 -1
  542. package/dist/tier-engine/index.js +1 -1
  543. package/dist/tier-engine/web/client-plugin.js +2 -3
  544. package/dist/tier-engine/{constants.js → web/constants.js} +2 -3
  545. package/dist/tier-engine/{i18n.js → web/i18n.js} +0 -1
  546. package/dist/tier-engine/web/index.js +0 -1
  547. package/dist/user/handlers/create.write.js +1 -1
  548. package/dist/user/handlers/update-roles.js +1 -1
  549. package/dist/user/handlers/update.write.js +1 -1
  550. package/dist/user/index.d.ts +1 -1
  551. package/dist/user/index.js +1 -1
  552. package/dist/user/invited-global-roles.d.ts +1 -1
  553. package/dist/user/invited-global-roles.js +1 -1
  554. package/dist/user/schema/user.js +1 -1
  555. package/dist/user/{constants.js → web/constants.js} +0 -1
  556. package/dist/user-data-rights/env.js +1 -1
  557. package/dist/user-data-rights/feature.js +3 -3
  558. package/dist/user-data-rights/index.d.ts +1 -1
  559. package/dist/user-data-rights/index.js +1 -1
  560. package/dist/user-data-rights/lib/resolve-tenant-model.js +1 -1
  561. package/dist/user-data-rights/mail-notifications.js +1 -1
  562. package/dist/user-data-rights/web/client-plugin.js +2 -3
  563. package/dist/user-data-rights/web/confirm-deletion-screen.js +0 -1
  564. package/dist/user-data-rights/{constants.js → web/constants.js} +11 -12
  565. package/dist/user-data-rights/web/default-translations.d.ts +2 -0
  566. package/dist/user-data-rights/web/default-translations.js +59 -0
  567. package/dist/user-data-rights/web/i18n.d.ts +5 -2
  568. package/dist/user-data-rights/web/i18n.js +37 -59
  569. package/dist/user-data-rights/web/index.d.ts +1 -1
  570. package/dist/user-data-rights/web/index.js +1 -2
  571. package/dist/user-data-rights/web/privacy-center-screen.js +1 -2
  572. package/dist/user-data-rights/web/request-deletion-screen.js +0 -1
  573. package/dist/user-data-rights-defaults/hooks/file-ref.userdata-hook.js +6 -1
  574. package/dist/user-profile/feature.js +1 -1
  575. package/dist/user-profile/handlers/change-email.write.js +1 -1
  576. package/dist/user-profile/index.d.ts +1 -1
  577. package/dist/user-profile/index.js +1 -1
  578. package/dist/user-profile/web/client-plugin.js +2 -3
  579. package/dist/user-profile/{constants.js → web/constants.js} +0 -1
  580. package/dist/user-profile/{i18n.js → web/i18n.js} +0 -1
  581. package/dist/user-profile/web/profile-screen.js +2 -3
  582. package/dist/waitlist/entity.js +1 -1
  583. package/dist/waitlist/feature.js +1 -1
  584. package/dist/waitlist/handlers/export-purge.write.js +1 -1
  585. package/dist/waitlist/handlers/invite.write.js +1 -1
  586. package/dist/waitlist/handlers/reject.write.js +1 -1
  587. package/dist/waitlist/handlers/submit.write.js +4 -3
  588. package/dist/waitlist/import.d.ts +1 -1
  589. package/dist/waitlist/index.d.ts +1 -1
  590. package/dist/waitlist/index.js +1 -1
  591. package/dist/waitlist/legacy-migrate.js +1 -1
  592. package/dist/waitlist/link-on-signup.js +1 -1
  593. package/dist/waitlist/mail.d.ts +0 -1
  594. package/dist/waitlist/mail.js +6 -4
  595. package/dist/waitlist/payloads.js +1 -1
  596. package/dist/waitlist/screens.js +1 -1
  597. package/dist/waitlist/{constants.js → web/constants.js} +0 -1
  598. package/kumiko-es-tables.json +102 -0
  599. package/package.json +30 -29
  600. package/src/audit/changes.json +7 -0
  601. package/src/auth-email-password/changes.json +6 -0
  602. package/src/auth-mfa/changes.json +6 -0
  603. package/src/billing-foundation/changes.json +18 -0
  604. package/src/cap-counter/changes.json +12 -0
  605. package/src/delivery/changes.json +6 -0
  606. package/src/document-ingest-foundation/changes.json +6 -0
  607. package/src/files/changes.json +7 -0
  608. package/src/form-draft/changes.json +7 -0
  609. package/src/inbound-mail-foundation/changes.json +6 -0
  610. package/src/ledger/changes.json +7 -0
  611. package/src/mail-foundation/changes.json +6 -0
  612. package/src/presets/changes.json +7 -0
  613. package/src/tags/changes.json +6 -0
  614. package/src/template-resolver/changes.json +63 -0
  615. package/src/user-data-rights/changes.json +14 -0
  616. package/src/waitlist/changes.json +6 -0
  617. package/dist/admin-shell/i18n.d.ts +0 -5
  618. package/dist/admin-shell/i18n.js +0 -51
  619. package/dist/audit/i18n.d.ts +0 -5
  620. package/dist/audit/i18n.js +0 -22
  621. package/dist/jobs/i18n.d.ts +0 -5
  622. package/dist/jobs/i18n.js +0 -52
  623. package/dist/managed-pages/i18n.d.ts +0 -5
  624. package/dist/managed-pages/i18n.js +0 -55
  625. package/dist/presets/dsgvo-self-service.d.ts +0 -10
  626. package/dist/presets/dsgvo-self-service.js +0 -24
  627. package/dist/user-data-rights/i18n.d.ts +0 -5
  628. package/dist/user-data-rights/i18n.js +0 -39
  629. /package/dist/account-security/{constants.d.ts → web/constants.d.ts} +0 -0
  630. /package/dist/account-security/{i18n.d.ts → web/i18n.d.ts} +0 -0
  631. /package/dist/admin-shell/{constants.d.ts → web/constants.d.ts} +0 -0
  632. /package/dist/auth-email-password/{constants.d.ts → web/constants.d.ts} +0 -0
  633. /package/dist/auth-email-password/{i18n.d.ts → web/i18n.d.ts} +0 -0
  634. /package/dist/auth-email-password/{mail-i18n.d.ts → web/mail-i18n.d.ts} +0 -0
  635. /package/dist/auth-mfa/{constants.d.ts → web/constants.d.ts} +0 -0
  636. /package/dist/billing-foundation/{consumer-protection → web/consumer-protection}/consent-locale.d.ts +0 -0
  637. /package/dist/billing-foundation/{contact-card.d.ts → web/contact-card.d.ts} +0 -0
  638. /package/dist/cap-overview/{constants.d.ts → web/constants.d.ts} +0 -0
  639. /package/dist/cap-overview/{usage-math.js → web/usage-math.js} +0 -0
  640. /package/dist/compliance-profiles/{constants.d.ts → web/constants.d.ts} +0 -0
  641. /package/dist/config/{constants.d.ts → web/constants.d.ts} +0 -0
  642. /package/dist/custom-fields/{constants.d.ts → web/constants.d.ts} +0 -0
  643. /package/dist/delivery/{public-names.d.ts → web/public-names.d.ts} +0 -0
  644. /package/dist/feature-toggles/{constants.d.ts → web/constants.d.ts} +0 -0
  645. /package/dist/folders/{constants.d.ts → web/constants.d.ts} +0 -0
  646. /package/dist/form-draft/{constants.d.ts → web/constants.d.ts} +0 -0
  647. /package/dist/jobs/{constants.d.ts → web/constants.d.ts} +0 -0
  648. /package/dist/ledger/{constants.d.ts → web/constants.d.ts} +0 -0
  649. /package/dist/legal-pages/{constants.d.ts → web/constants.d.ts} +0 -0
  650. /package/dist/metrics/{constants.d.ts → web/constants.d.ts} +0 -0
  651. /package/dist/notes-history/{constants.d.ts → web/constants.d.ts} +0 -0
  652. /package/dist/personal-access-tokens/{constants.d.ts → web/constants.d.ts} +0 -0
  653. /package/dist/personal-access-tokens/{scopes.d.ts → web/scopes.d.ts} +0 -0
  654. /package/dist/personal-access-tokens/{scopes.js → web/scopes.js} +0 -0
  655. /package/dist/secrets/{constants.d.ts → web/constants.d.ts} +0 -0
  656. /package/dist/sessions/{i18n.d.ts → web/i18n.d.ts} +0 -0
  657. /package/dist/template-resolver/{document-steps.d.ts → web/document-steps.d.ts} +0 -0
  658. /package/dist/template-resolver/{mail-constants.d.ts → web/mail-constants.d.ts} +0 -0
  659. /package/dist/template-resolver/{pdf-constants.d.ts → web/pdf-constants.d.ts} +0 -0
  660. /package/dist/template-resolver/{placeholder-text.d.ts → web/placeholder-text.d.ts} +0 -0
  661. /package/dist/template-resolver/{placeholder-text.js → web/placeholder-text.js} +0 -0
  662. /package/dist/tenant/{constants.d.ts → web/constants.d.ts} +0 -0
  663. /package/dist/tier-engine/{constants.d.ts → web/constants.d.ts} +0 -0
  664. /package/dist/tier-engine/{i18n.d.ts → web/i18n.d.ts} +0 -0
  665. /package/dist/user/{constants.d.ts → web/constants.d.ts} +0 -0
  666. /package/dist/user-data-rights/{constants.d.ts → web/constants.d.ts} +0 -0
  667. /package/dist/user-profile/{constants.d.ts → web/constants.d.ts} +0 -0
  668. /package/dist/user-profile/{i18n.d.ts → web/i18n.d.ts} +0 -0
  669. /package/dist/waitlist/{constants.d.ts → web/constants.d.ts} +0 -0
@@ -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
+ ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-bundled-features",
3
- "version": "0.377.0",
3
+ "version": "0.379.0",
4
4
  "description": "Built-in features — tenant, user, auth, delivery. The stuff you'd rewrite anyway, already typed.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -279,8 +279,8 @@
279
279
  "default": "./dist/tenant/index.js"
280
280
  },
281
281
  "./tenant/constants": {
282
- "types": "./dist/tenant/constants.d.ts",
283
- "default": "./dist/tenant/constants.js"
282
+ "types": "./dist/tenant/web/constants.d.ts",
283
+ "default": "./dist/tenant/web/constants.js"
284
284
  },
285
285
  "./tenant/web": {
286
286
  "types": "./dist/tenant/web/index.d.ts",
@@ -335,8 +335,8 @@
335
335
  "default": "./dist/auth-email-password/email-templates.js"
336
336
  },
337
337
  "./auth-email-password/constants": {
338
- "types": "./dist/auth-email-password/constants.d.ts",
339
- "default": "./dist/auth-email-password/constants.js"
338
+ "types": "./dist/auth-email-password/web/constants.d.ts",
339
+ "default": "./dist/auth-email-password/web/constants.js"
340
340
  },
341
341
  "./auth-email-password/seeding": {
342
342
  "types": "./dist/auth-email-password/seeding.d.ts",
@@ -459,8 +459,8 @@
459
459
  "default": "./dist/template-resolver/index.js"
460
460
  },
461
461
  "./template-resolver/document-schema": {
462
- "types": "./dist/template-resolver/document-schema.d.ts",
463
- "default": "./dist/template-resolver/document-schema.js"
462
+ "types": "./dist/template-resolver/web/document-schema.d.ts",
463
+ "default": "./dist/template-resolver/web/document-schema.js"
464
464
  },
465
465
  "./template-resolver/seeding": {
466
466
  "types": "./dist/template-resolver/seeding.d.ts",
@@ -483,8 +483,8 @@
483
483
  "default": "./dist/account-security/index.js"
484
484
  },
485
485
  "./account-security/constants": {
486
- "types": "./dist/account-security/constants.d.ts",
487
- "default": "./dist/account-security/constants.js"
486
+ "types": "./dist/account-security/web/constants.d.ts",
487
+ "default": "./dist/account-security/web/constants.js"
488
488
  },
489
489
  "./host-routing": {
490
490
  "types": "./dist/host-routing/index.d.ts",
@@ -495,8 +495,8 @@
495
495
  "default": "./dist/legal-pages/index.js"
496
496
  },
497
497
  "./legal-pages/constants": {
498
- "types": "./dist/legal-pages/constants.d.ts",
499
- "default": "./dist/legal-pages/constants.js"
498
+ "types": "./dist/legal-pages/web/constants.d.ts",
499
+ "default": "./dist/legal-pages/web/constants.js"
500
500
  },
501
501
  "./legal-pages/web": {
502
502
  "types": "./dist/legal-pages/web/index.d.ts",
@@ -540,9 +540,9 @@
540
540
  }
541
541
  },
542
542
  "dependencies": {
543
- "@cosmicdrift/kumiko-framework": "0.377.0",
544
- "@cosmicdrift/kumiko-renderer": "0.377.0",
545
- "@cosmicdrift/kumiko-types": "0.377.0",
543
+ "@cosmicdrift/kumiko-framework": "0.379.0",
544
+ "@cosmicdrift/kumiko-renderer": "0.379.0",
545
+ "@cosmicdrift/kumiko-types": "0.379.0",
546
546
  "@mollie/api-client": "^4.5.0",
547
547
  "@node-rs/argon2": "^2.0.2",
548
548
  "@tiptap/core": "3.31.3",
@@ -838,8 +838,8 @@
838
838
  "default": "./dist/tenant/index.js"
839
839
  },
840
840
  "./tenant/constants": {
841
- "types": "./dist/tenant/constants.d.ts",
842
- "default": "./dist/tenant/constants.js"
841
+ "types": "./dist/tenant/web/constants.d.ts",
842
+ "default": "./dist/tenant/web/constants.js"
843
843
  },
844
844
  "./tenant/web": {
845
845
  "types": "./dist/tenant/web/index.d.ts",
@@ -894,8 +894,8 @@
894
894
  "default": "./dist/auth-email-password/email-templates.js"
895
895
  },
896
896
  "./auth-email-password/constants": {
897
- "types": "./dist/auth-email-password/constants.d.ts",
898
- "default": "./dist/auth-email-password/constants.js"
897
+ "types": "./dist/auth-email-password/web/constants.d.ts",
898
+ "default": "./dist/auth-email-password/web/constants.js"
899
899
  },
900
900
  "./auth-email-password/seeding": {
901
901
  "types": "./dist/auth-email-password/seeding.d.ts",
@@ -1018,8 +1018,8 @@
1018
1018
  "default": "./dist/template-resolver/index.js"
1019
1019
  },
1020
1020
  "./template-resolver/document-schema": {
1021
- "types": "./dist/template-resolver/document-schema.d.ts",
1022
- "default": "./dist/template-resolver/document-schema.js"
1021
+ "types": "./dist/template-resolver/web/document-schema.d.ts",
1022
+ "default": "./dist/template-resolver/web/document-schema.js"
1023
1023
  },
1024
1024
  "./template-resolver/seeding": {
1025
1025
  "types": "./dist/template-resolver/seeding.d.ts",
@@ -1042,8 +1042,8 @@
1042
1042
  "default": "./dist/account-security/index.js"
1043
1043
  },
1044
1044
  "./account-security/constants": {
1045
- "types": "./dist/account-security/constants.d.ts",
1046
- "default": "./dist/account-security/constants.js"
1045
+ "types": "./dist/account-security/web/constants.d.ts",
1046
+ "default": "./dist/account-security/web/constants.js"
1047
1047
  },
1048
1048
  "./host-routing": {
1049
1049
  "types": "./dist/host-routing/index.d.ts",
@@ -1054,8 +1054,8 @@
1054
1054
  "default": "./dist/legal-pages/index.js"
1055
1055
  },
1056
1056
  "./legal-pages/constants": {
1057
- "types": "./dist/legal-pages/constants.d.ts",
1058
- "default": "./dist/legal-pages/constants.js"
1057
+ "types": "./dist/legal-pages/web/constants.d.ts",
1058
+ "default": "./dist/legal-pages/web/constants.js"
1059
1059
  },
1060
1060
  "./legal-pages/web": {
1061
1061
  "types": "./dist/legal-pages/web/index.d.ts",
@@ -1101,21 +1101,22 @@
1101
1101
  },
1102
1102
  "files": [
1103
1103
  "dist",
1104
+ "kumiko-es-tables.json",
1104
1105
  "src/*/changes.json",
1105
1106
  "README.md",
1106
1107
  "LICENSE"
1107
1108
  ],
1108
1109
  "devDependencies": {
1109
1110
  "@testing-library/user-event": "^14.6.1",
1110
- "@cosmicdrift/kumiko-locale-de": "0.377.0",
1111
- "@cosmicdrift/kumiko-locale-es": "0.377.0",
1112
- "@cosmicdrift/kumiko-renderer-mail-html": "0.377.0",
1111
+ "@cosmicdrift/kumiko-locale-de": "0.379.0",
1112
+ "@cosmicdrift/kumiko-locale-es": "0.379.0",
1113
+ "@cosmicdrift/kumiko-renderer-mail-html": "0.379.0",
1113
1114
  "jsqr": "^1.4.0",
1114
1115
  "unpdf": "^1.8.1",
1115
- "@cosmicdrift/kumiko-testing": "0.377.0"
1116
+ "@cosmicdrift/kumiko-testing": "0.379.0"
1116
1117
  },
1117
1118
  "peerDependencies": {
1118
- "@cosmicdrift/kumiko-testing": ">=0.366.0 <1.0.0"
1119
+ "@cosmicdrift/kumiko-testing": "0.379.0"
1119
1120
  },
1120
1121
  "peerDependenciesMeta": {
1121
1122
  "@cosmicdrift/kumiko-testing": {
@@ -1,4 +1,11 @@
1
1
  [
2
+ {
3
+ "version": "0.379.0",
4
+ "type": "improvement",
5
+ "title": "SystemAdmin audit log across all tenants",
6
+ "detail": "New queries audit:query:list-all-tenants and audit:query:details-all-tenants (SystemAdmin only) return the audit trail of every tenant, each row with its tenantId, filterable by tenant. Screens audit-log-all-tenants and audit-log-all-tenants-detail show the tenant name; the admin-shell platform workspace lists the new nav audit:nav:audit-log-all-tenants. Events of the system tenant are not included. The audit feature now declares r.systemScope(), so its handlers read through ctx.systemDb instead of ctx.db, and list and details rows carry tenantId too. A targetless cross-tenant read (acknowledgeCrossTenant or cross-tenant-read) is now recorded at most once per actor, handler, tenant and reason per hour, so the reference lookups of a SystemAdmin list no longer flood the trail on every page load; all other escape-hatch kinds keep the 60 s window. The audit events keep metadata free of PII ciphertext, a cursor or id beyond bigint is a 422 and the all-tenants tenant filter takes at most 100 ids. Applies to every user:user reference column and read-only reference field in all apps, not only the audit screens: an actor without a visible row no longer shows the raw id but reads \"Unknown\" (kumiko.reference.unknown-user), once the lookup finished without error (while it loads or after it failed the cell keeps a placeholder), and the \"system\" createdBy literal reads \"System\". The audit screen descriptions are now short user-facing sentences.",
7
+ "migration": "Apps with their own platform workspace add the nav `audit:nav:audit-log-all-tenants` (screen `audit:screen:audit-log-all-tenants`) to its navs; apps using the admin-shell platform workspace get it automatically."
8
+ },
2
9
  {
3
10
  "version": "0.365.0",
4
11
  "type": "fix",
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": "0.379.0",
4
+ "type": "fix",
5
+ "title": "Unknown e-mail addresses count towards the login lockout",
6
+ "detail": "Failed logins for unknown or deleted addresses are counted under a keyed digest of the normalized address (ctx.rateLimitDigest, derived from the JWT secret), so after the threshold they answer account_locked like a registered address and the lock no longer reveals which addresses exist. Without a digest key the old invalid_credentials answer stays."
7
+ },
2
8
  {
3
9
  "version": "0.374.0",
4
10
  "type": "improvement",