@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
@@ -5,8 +5,8 @@ import * as z from "zod";
5
5
  import { subscriptionsProjectionTable } from "../../billing-foundation/index.js";
6
6
  import { decryptTenantNames, tenantTable } from "../../tenant/index.js";
7
7
  import { tierAssignmentEntity } from "../../tier-engine/index.js";
8
- import { capFieldName } from "../constants.js";
9
- import { computeFraction } from "../usage-math.js";
8
+ import { capFieldName } from "../web/constants.js";
9
+ import { computeFraction } from "../web/usage-math.js";
10
10
  // tier-resolver.ts rebuilds the same drizzle table locally rather than
11
11
  // importing a pre-built one — tier-engine's public barrel only exports the
12
12
  // entity, not a built table (see tier-engine/tier-resolver.ts).
@@ -1,6 +1,6 @@
1
1
  export { DEFAULT_CAP_USAGE_ROLES } from "./access.ts";
2
- export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./constants.ts";
3
2
  export { type CreateCapOverviewOptions, createCapOverviewFeature } from "./feature.ts";
4
3
  export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.ts";
5
4
  export type { CapSpec, CapUsage, CapUsageTone, CapUsageWithMeta } from "./types.ts";
6
- export { computeFraction, computeTone } from "./usage-math.ts";
5
+ export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./web/constants.ts";
6
+ export { computeFraction, computeTone } from "./web/usage-math.ts";
@@ -1,6 +1,6 @@
1
1
  // Public API of the cap-overview bundled-feature.
2
2
  export { DEFAULT_CAP_USAGE_ROLES } from "./access.js";
3
- export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./constants.js";
4
3
  export { createCapOverviewFeature } from "./feature.js";
5
4
  export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.js";
6
- export { computeFraction, computeTone } from "./usage-math.js";
5
+ export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./web/constants.js";
6
+ export { computeFraction, computeTone } from "./web/usage-math.js";
@@ -1,4 +1,4 @@
1
- import { CAP_CARDS_PANEL_COMPONENT, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./constants.js";
1
+ import { CAP_CARDS_PANEL_COMPONENT, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./web/constants.js";
2
2
  // `tiers` has no room for a separate per-tier display label (it's just
3
3
  // `readonly string[]`) — tier-engine itself has no enumerated tier list to
4
4
  // derive one from either (it's generic over tier values, see tier-engine's
@@ -3,8 +3,8 @@ import { usePrimitives, useQuery, useTranslation } from "@cosmicdrift/kumiko-ren
3
3
  import { EMPTY_VALUE_PLACEHOLDER } from "@cosmicdrift/kumiko-renderer/headless";
4
4
  import { EmptyState, StatCard, StatusBadge, } from "@cosmicdrift/kumiko-renderer/web";
5
5
  import { Database, FileText, Gauge, Hash, Mail, Users } from "lucide-react";
6
- import { CapOverviewQueries } from "../constants.js";
7
6
  import { CapUsageBar } from "./cap-usage-bar.js";
7
+ import { CapOverviewQueries } from "./constants.js";
8
8
  // caps:usage's wire tone stays "default"/"warn"/"danger" (matches the
9
9
  // server-side thresholds literally); mapped here to the renderer's actual
10
10
  // StatusTone vocabulary instead of inventing new CSS ("danger" has no
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @runtime client
3
2
  import { usePrimitives, useTranslation } from "@cosmicdrift/kumiko-renderer";
4
- import { computeTone } from "../usage-math.js";
3
+ import { computeTone } from "./usage-math.js";
5
4
  export function CapUsageBar({ usage, showLabel = true, }) {
6
5
  const { Progress, Text, Banner } = usePrimitives();
7
6
  const t = useTranslation();
@@ -1,6 +1,6 @@
1
- import { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, } from "../constants.js";
2
1
  import { CapCardsPanel } from "./cap-cards-panel.js";
3
2
  import { CapUsageCell } from "./cap-usage-cell.js";
3
+ import { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, } from "./constants.js";
4
4
  export function capOverviewClient(options) {
5
5
  return {
6
6
  name: CAP_OVERVIEW_FEATURE,
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Pure string-literal constants — imported by both server (feature.ts,
3
2
  // handlers/) and client (web/) code. See tier-engine/constants.ts for the
4
3
  // same convention.
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Public exports for the browser side of the cap-overview feature.
3
2
  // Consumed via `@cosmicdrift/kumiko-bundled-features/cap-overview/web` —
4
3
  // the server side (createCapOverviewFeature) lives under
@@ -1,4 +1,4 @@
1
- import type { CapUsageTone } from "./types.ts";
1
+ import type { CapUsageTone } from "../types.ts";
2
2
  export declare function computeFraction(used: number, limit: number | null): number;
3
3
  export declare function computeUnclampedFraction(used: number, limit: number | null): number;
4
4
  export declare function computeTone(fraction: number): CapUsageTone;
@@ -1,6 +1,5 @@
1
1
  import { SELECTABLE_PROFILE_KEYS } from "@cosmicdrift/kumiko-framework/compliance";
2
2
  import { access, defineFeature, } from "@cosmicdrift/kumiko-framework/engine";
3
- import { COMPLIANCE_PROFILE_CATALOG_EXTENSION_NAME, COMPLIANCE_PROFILE_SCREEN_ID, ComplianceProfileHandlers, } from "./constants.js";
4
3
  import { forTenantQuery } from "./handlers/for-tenant.query.js";
5
4
  import { listProfilesQuery } from "./handlers/list-profiles.query.js";
6
5
  import { createNeedsProfileQuery } from "./handlers/needs-profile.query.js";
@@ -8,6 +7,7 @@ import { setProfileWrite } from "./handlers/set-profile.write.js";
8
7
  import { subProcessorsQuery } from "./handlers/sub-processors.query.js";
9
8
  import { COMPLIANCE_PROFILES_I18N } from "./i18n.js";
10
9
  import { tenantComplianceProfileEntity } from "./schema/profile-selection.js";
10
+ import { COMPLIANCE_PROFILE_CATALOG_EXTENSION_NAME, COMPLIANCE_PROFILE_SCREEN_ID, ComplianceProfileHandlers, } from "./web/constants.js";
11
11
  export { tenantComplianceProfileEntity, tenantComplianceProfileTable, } from "./schema/profile-selection.js";
12
12
  export function createComplianceProfilesFeature(options) {
13
13
  const resolvedAccess = options?.access ?? access.admin;
@@ -1,3 +1,3 @@
1
- export { COMPLIANCE_PROFILE_SCREEN_ID, COMPLIANCE_PROFILES_FEATURE, ComplianceProfileHandlers, ComplianceProfileQueries, } from "./constants.ts";
2
1
  export { type ComplianceProfilesFeatureOptions, createComplianceProfilesFeature, tenantComplianceProfileEntity, tenantComplianceProfileTable, } from "./feature.ts";
3
2
  export { resolveProfileForTenant } from "./resolve-for-tenant.ts";
3
+ export { COMPLIANCE_PROFILE_SCREEN_ID, COMPLIANCE_PROFILES_FEATURE, ComplianceProfileHandlers, ComplianceProfileQueries, } from "./web/constants.ts";
@@ -1,3 +1,3 @@
1
- export { COMPLIANCE_PROFILE_SCREEN_ID, COMPLIANCE_PROFILES_FEATURE, ComplianceProfileHandlers, ComplianceProfileQueries, } from "./constants.js";
2
1
  export { createComplianceProfilesFeature, tenantComplianceProfileEntity, tenantComplianceProfileTable, } from "./feature.js";
3
2
  export { resolveProfileForTenant } from "./resolve-for-tenant.js";
3
+ export { COMPLIANCE_PROFILE_SCREEN_ID, COMPLIANCE_PROFILES_FEATURE, ComplianceProfileHandlers, ComplianceProfileQueries, } from "./web/constants.js";
@@ -1,7 +1,6 @@
1
- // @runtime client
2
1
  import { mergeTranslations } from "@cosmicdrift/kumiko-renderer";
3
- import { COMPLIANCE_PROFILE_CATALOG_EXTENSION_NAME, COMPLIANCE_PROFILES_FEATURE, } from "../constants.js";
4
2
  import { ComplianceProfileCatalog } from "./compliance-profile-catalog.js";
3
+ import { COMPLIANCE_PROFILE_CATALOG_EXTENSION_NAME, COMPLIANCE_PROFILES_FEATURE, } from "./constants.js";
5
4
  import { defaultTranslations } from "./i18n.js";
6
5
  export function complianceProfilesClient(options) {
7
6
  return {
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @runtime client
3
2
  // Extension-section component for the profile-picker actionForm's catalog
4
3
  // block — read-only list of the selectable compliance profiles (region +
5
4
  // supervisory authority). The select field above owns the actual choice;
6
5
  // this is reference material for the tenant admin.
7
6
  import { usePrimitives, useQuery, useTranslation, } from "@cosmicdrift/kumiko-renderer";
8
- import { ComplianceProfileQueries } from "../constants.js";
7
+ import { ComplianceProfileQueries } from "./constants.js";
9
8
  export function ComplianceProfileCatalog(_props) {
10
9
  const { Banner, Text } = usePrimitives();
11
10
  const t = useTranslation();
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  export const COMPLIANCE_PROFILES_FEATURE = "compliance-profiles";
3
2
  export const ComplianceProfileHandlers = {
4
3
  setProfile: "compliance-profiles:write:set-profile",
@@ -1,3 +1,2 @@
1
- // @runtime client
2
1
  export { complianceProfilesClient, } from "./client-plugin.js";
3
2
  export { ComplianceProfileCatalog } from "./compliance-profile-catalog.js";
@@ -1,7 +1,6 @@
1
1
  import type { DbConnection } from "@cosmicdrift/kumiko-framework/db";
2
2
  import type { Registry } from "@cosmicdrift/kumiko-framework/engine";
3
3
  import type { EnvelopeCipher } from "@cosmicdrift/kumiko-framework/secrets";
4
- export { CONFIG_FEATURE, ConfigErrors, ConfigHandlers, ConfigQueries, } from "./constants.ts";
5
4
  export type { ConfigContext } from "./feature.ts";
6
5
  export { createConfigAccessor, createConfigAccessorFactory, createConfigFeature, } from "./feature.ts";
7
6
  export type { ReadinessMissingKey, RequiredKeyGate } from "./handlers/readiness.query.ts";
@@ -9,6 +8,7 @@ export { buildProviderSelectionGate, collectMissingRequiredConfig, } from "./han
9
8
  export type { AppConfigOverrides, ConfigResolver } from "./resolver.ts";
10
9
  export { buildEnvConfigOverrides, createConfigResolver, validateAppOverrides } from "./resolver.ts";
11
10
  export { configValueEntity, configValuesTable } from "./table.ts";
11
+ export { CONFIG_FEATURE, ConfigErrors, ConfigHandlers, ConfigQueries, } from "./web/constants.ts";
12
12
  export declare function seedAllConfigValues(registry: Registry, db: DbConnection, cipher?: EnvelopeCipher): Promise<{
13
13
  created: number;
14
14
  skipped: number;
@@ -1,10 +1,10 @@
1
1
  import { seedConfigValues } from "@cosmicdrift/kumiko-framework/db";
2
2
  import { configValueEntity, configValuesTable } from "./table.js";
3
- export { CONFIG_FEATURE, ConfigErrors, ConfigHandlers, ConfigQueries, } from "./constants.js";
4
3
  export { createConfigAccessor, createConfigAccessorFactory, createConfigFeature, } from "./feature.js";
5
4
  export { buildProviderSelectionGate, collectMissingRequiredConfig, } from "./handlers/readiness.query.js";
6
5
  export { buildEnvConfigOverrides, createConfigResolver, validateAppOverrides } from "./resolver.js";
7
6
  export { configValueEntity, configValuesTable } from "./table.js";
7
+ export { CONFIG_FEATURE, ConfigErrors, ConfigHandlers, ConfigQueries, } from "./web/constants.js";
8
8
  // Boot helper for runDevApp / runProdApp: pulls every ConfigSeedDef from
9
9
  // the registry and writes the matching system/tenant/user rows via the
10
10
  // event-store executor. Idempotent across boots — see config-seeding.md.
@@ -1,5 +1,5 @@
1
1
  import { type TranslationsByLocale } from "@cosmicdrift/kumiko-renderer";
2
- import { CONFIG_FEATURE } from "../constants.ts";
2
+ import { CONFIG_FEATURE } from "./constants.ts";
3
3
  export type ConfigClientOptions = {
4
4
  /** Key-wise overrides over the default bundles (de/en). */
5
5
  readonly translations?: TranslationsByLocale;
@@ -1,6 +1,5 @@
1
- // @runtime client
2
1
  import { mergeTranslations } from "@cosmicdrift/kumiko-renderer";
3
- import { CONFIG_FEATURE } from "../constants.js";
2
+ import { CONFIG_FEATURE } from "./constants.js";
4
3
  import { defaultTranslations } from "./i18n.js";
5
4
  // Ships the generic Settings-Hub labels (config.settings.*). Mount it in
6
5
  // clientFeatures next to the app's own feature client — without it the
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Pure name/string constants — browser-safe, importable from web client code
3
2
  // (configClient() pins its feature name to CONFIG_FEATURE).
4
3
  export const CONFIG_FEATURE = "config";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Default labels for the auto-generated Settings-Hub. The generator
3
2
  // (buildConfigFeatureSchema) emits `config.settings.<scope>` for the audience
4
3
  // groups and `config.settings.title` for the synthetic workspace — generic
@@ -1,3 +1,3 @@
1
- export { ConfigQueries } from "../constants.ts";
2
1
  export { type ConfigClientFeature, type ConfigClientOptions, configClient, } from "./client-plugin.ts";
2
+ export { ConfigQueries } from "./constants.ts";
3
3
  export { defaultTranslations } from "./i18n.ts";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
- export { ConfigQueries } from "../constants.js";
3
1
  export { configClient, } from "./client-plugin.js";
2
+ export { ConfigQueries } from "./constants.js";
4
3
  export { defaultTranslations } from "./i18n.js";
@@ -5,9 +5,9 @@ import { fetchOne } from "@cosmicdrift/kumiko-framework/db";
5
5
  import { ConfigScopes, extensionSelectorTargets, isEncryptedAtRest, SYSTEM_ROLE, SYSTEM_TENANT_ID, selectablePluginIds, } from "@cosmicdrift/kumiko-framework/engine";
6
6
  import { AccessDeniedError, InternalError, NotFoundError, UnprocessableError, ValidationError, writeFailure, } from "@cosmicdrift/kumiko-framework/errors";
7
7
  import { assertUnreachable } from "@cosmicdrift/kumiko-framework/utils";
8
- import { ConfigErrors } from "./constants.js";
9
8
  import { decryptStoredValue } from "./resolver.js";
10
9
  import { configValuesTable } from "./table.js";
10
+ import { ConfigErrors } from "./web/constants.js";
11
11
  // Locate an existing config_values row by the (key, tenant, user) triple —
12
12
  // the effective natural key. System-scope rows carry SYSTEM_TENANT_ID on
13
13
  // the tenant_id column (the post-ES projection is NOT NULL), so callers
@@ -47,7 +47,6 @@
47
47
  // alle erledigt.)
48
48
  import { defineEntityListHandler, defineFeature, } from "@cosmicdrift/kumiko-framework/engine";
49
49
  import * as z from "zod";
50
- import { CUSTOM_FIELD_CLEARED_EVENT, CUSTOM_FIELD_SET_EVENT, CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, DEFAULT_FIELD_DEFINITION_LIST_ROLES, FIELD_DEFINITION_DELETED_EVENT, } from "./constants.js";
51
50
  import { fieldDefinitionEntity } from "./entity.js";
52
51
  import { customFieldClearedSchema, customFieldSetSchema } from "./events.js";
53
52
  import { clearCustomFieldHandler, createClearCustomFieldHandler, } from "./handlers/clear-custom-field.write.js";
@@ -57,6 +56,7 @@ import { deleteSystemFieldHandler } from "./handlers/delete-system-field.write.j
57
56
  import { createDeleteTenantFieldHandler, deleteTenantFieldHandler, } from "./handlers/delete-tenant-field.write.js";
58
57
  import { createSetCustomFieldHandler, setCustomFieldHandler, } from "./handlers/set-custom-field.write.js";
59
58
  import { createUpdateTenantFieldHandler, updateTenantFieldHandler, } from "./handlers/update-tenant-field.write.js";
59
+ import { CUSTOM_FIELD_CLEARED_EVENT, CUSTOM_FIELD_SET_EVENT, CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, DEFAULT_FIELD_DEFINITION_LIST_ROLES, FIELD_DEFINITION_DELETED_EVENT, } from "./web/constants.js";
60
60
  const fieldDefinitionDeletedSchema = z.object({
61
61
  entityName: z.string(),
62
62
  fieldKey: z.string(),
@@ -1,8 +1,8 @@
1
1
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
2
2
  import * as z from "zod";
3
- import { DEFAULT_VALUE_WRITE_ROLES } from "../constants.js";
4
3
  import { createCustomFieldsFeature } from "../feature.js";
5
4
  import { checkFieldAccessForWrite } from "../lib/field-access.js";
5
+ import { DEFAULT_VALUE_WRITE_ROLES } from "../web/constants.js";
6
6
  export const clearCustomFieldPayloadSchema = z.object({
7
7
  entityName: z.string().min(1).max(64),
8
8
  entityId: z.string().min(1),
@@ -1,11 +1,11 @@
1
1
  import { isSystemTenant } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.js";
4
- import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../constants.js";
5
4
  import { defineOrResurrectFieldDefinition } from "../lib/define-or-resurrect.js";
6
5
  import { buildFieldDefinitionColumns } from "../lib/field-definition-row.js";
7
6
  import { countTenantFieldDefinitions } from "../lib/quota.js";
8
7
  import { defineFieldPayloadSchema } from "../schemas.js";
8
+ import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../web/constants.js";
9
9
  const DEFINE_TENANT_FIELD_REASON = "counts custom field definitions with an explicit tenant_id = caller tenant via raw SQL with read retry";
10
10
  export function createDefineTenantFieldHandler(opts = {}) {
11
11
  const limit = opts.fieldDefinitionLimitPerTenant;
@@ -1,10 +1,10 @@
1
1
  import { SYSTEM_TENANT_ID } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { requireForTenant } from "../../shared/index.js";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.js";
4
- import { FIELD_DEFINITION_AGGREGATE_TYPE } from "../constants.js";
5
4
  import { fieldDefinitionExecutor } from "../executor.js";
6
5
  import { createCustomFieldsFeature } from "../feature.js";
7
6
  import { deleteFieldPayloadSchema } from "../schemas.js";
7
+ import { FIELD_DEFINITION_AGGREGATE_TYPE } from "../web/constants.js";
8
8
  // delete-system-field — SystemAdmin entfernt eine system-weite Field-
9
9
  // Definition. Konsequenz: KEIN Tenant kann mehr neue Werte dafür setzen,
10
10
  // existing Werte in read_<entity>.customFields jsonb bleiben aber bestehen
@@ -1,9 +1,9 @@
1
1
  import { isSystemTenant } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { fieldDefinitionAggregateId } from "../aggregate-id.js";
3
- import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES, FIELD_DEFINITION_AGGREGATE_TYPE, } from "../constants.js";
4
3
  import { fieldDefinitionExecutor } from "../executor.js";
5
4
  import { createCustomFieldsFeature } from "../feature.js";
6
5
  import { deleteFieldPayloadSchema } from "../schemas.js";
6
+ import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES, FIELD_DEFINITION_AGGREGATE_TYPE, } from "../web/constants.js";
7
7
  export function createDeleteTenantFieldHandler(opts = {}) {
8
8
  return {
9
9
  name: "delete-tenant-field",
@@ -1,9 +1,9 @@
1
1
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
2
2
  import * as z from "zod";
3
- import { DEFAULT_VALUE_WRITE_ROLES } from "../constants.js";
4
3
  import { createCustomFieldsFeature } from "../feature.js";
5
4
  import { fieldWriteAccessDeniedRoles, loadFieldDefinition } from "../lib/field-access.js";
6
5
  import { buildCustomFieldValueSchema } from "../lib/value-schema.js";
6
+ import { DEFAULT_VALUE_WRITE_ROLES } from "../web/constants.js";
7
7
  export const setCustomFieldPayloadSchema = z.object({
8
8
  entityName: z.string().min(1).max(64),
9
9
  entityId: z.string().min(1),
@@ -1,10 +1,10 @@
1
1
  import { isSystemTenant } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.js";
4
- import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../constants.js";
5
4
  import { fieldDefinitionExecutor } from "../executor.js";
6
5
  import { buildFieldDefinitionColumns } from "../lib/field-definition-row.js";
7
6
  import { fieldTypeSchema, updateFieldPayloadSchema } from "../schemas.js";
7
+ import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../web/constants.js";
8
8
  export function createUpdateTenantFieldHandler(opts = {}) {
9
9
  return {
10
10
  name: "update-tenant-field",
@@ -1,5 +1,4 @@
1
1
  export { fieldDefinitionAggregateId } from "./aggregate-id.ts";
2
- export { CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, FIELD_DEFINITION_CREATED_EVENT, FIELD_DEFINITION_UPDATED_EVENT, SUPPORTED_FIELD_TYPES, type SupportedFieldType, } from "./constants.ts";
3
2
  export { fieldDefinitionEntity } from "./entity.ts";
4
3
  export { type CustomFieldClearedPayload, type CustomFieldSetPayload, customFieldClearedSchema, customFieldSetSchema, } from "./events.ts";
5
4
  export { type CustomFieldsFeatureOptions, createCustomFieldsFeature, } from "./feature.ts";
@@ -7,4 +6,5 @@ export { type ClearCustomFieldPayload, clearCustomFieldPayloadSchema, } from "./
7
6
  export { type SetCustomFieldPayload, setCustomFieldPayloadSchema, } from "./handlers/set-custom-field.write.ts";
8
7
  export { isFieldDefinitionRow, parseSerializedField, } from "./lib/parse-serialized-field.ts";
9
8
  export { type DefineFieldPayload, type DeleteFieldPayload, defineFieldPayloadSchema, deleteFieldPayloadSchema, } from "./schemas.ts";
9
+ export { CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, FIELD_DEFINITION_CREATED_EVENT, FIELD_DEFINITION_UPDATED_EVENT, SUPPORTED_FIELD_TYPES, type SupportedFieldType, } from "./web/constants.ts";
10
10
  export { customFieldsField, wireCustomFieldsFor } from "./wire-for-entity.ts";
@@ -1,5 +1,4 @@
1
1
  export { fieldDefinitionAggregateId } from "./aggregate-id.js";
2
- export { CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, FIELD_DEFINITION_CREATED_EVENT, FIELD_DEFINITION_UPDATED_EVENT, SUPPORTED_FIELD_TYPES, } from "./constants.js";
3
2
  export { fieldDefinitionEntity } from "./entity.js";
4
3
  export { customFieldClearedSchema, customFieldSetSchema, } from "./events.js";
5
4
  export { createCustomFieldsFeature, } from "./feature.js";
@@ -7,4 +6,5 @@ export { clearCustomFieldPayloadSchema, } from "./handlers/clear-custom-field.wr
7
6
  export { setCustomFieldPayloadSchema, } from "./handlers/set-custom-field.write.js";
8
7
  export { isFieldDefinitionRow, parseSerializedField, } from "./lib/parse-serialized-field.js";
9
8
  export { defineFieldPayloadSchema, deleteFieldPayloadSchema, } from "./schemas.js";
9
+ export { CUSTOM_FIELDS_EXTENSION, CUSTOM_FIELDS_FEATURE_NAME, FIELD_DEFINITION_CREATED_EVENT, FIELD_DEFINITION_UPDATED_EVENT, SUPPORTED_FIELD_TYPES, } from "./web/constants.js";
10
10
  export { customFieldsField, wireCustomFieldsFor } from "./wire-for-entity.js";
@@ -1,6 +1,6 @@
1
1
  import { DEFAULT_CURRENCIES, fieldToZod, } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { isPlainObject } from "@cosmicdrift/kumiko-types/type-guards";
3
- import { SUPPORTED_FIELD_TYPES } from "../constants.js";
3
+ import { SUPPORTED_FIELD_TYPES } from "../web/constants.js";
4
4
  // Builds a Zod schema that validates a custom-field VALUE against its
5
5
  // fieldDefinition. Reuses the framework's `fieldToZod` (Builder-Reuse /
6
6
  // Stammfeld-Identität, Plan-Doc) — one field-type-schema source, no drift
@@ -1,5 +1,5 @@
1
1
  import * as z from "zod";
2
- import { SUPPORTED_FIELD_TYPES } from "./constants.js";
2
+ import { SUPPORTED_FIELD_TYPES } from "./web/constants.js";
3
3
  // Field-Type-Validator — pinnt valid type-Werte für fieldDefinition.
4
4
  export const fieldTypeSchema = z.enum(SUPPORTED_FIELD_TYPES);
5
5
  // Per-field access-control. When set, `set/clear-custom-field` handlers
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Client-Feature-Factory für custom-fields. Wird vom App-Code in
3
2
  // createKumikoApp({ clientFeatures: [customFieldsClient()] }) eingehängt
4
3
  // und registriert die CustomFieldsFormSection unter dem Namen
@@ -10,7 +9,7 @@
10
9
  // react: { __component: CUSTOM_FIELDS_FORM_EXTENSION_NAME }
11
10
  // } },
12
11
  // ]}
13
- import { CUSTOM_FIELDS_FEATURE_NAME, CUSTOM_FIELDS_FORM_EXTENSION_NAME } from "../constants.js";
12
+ import { CUSTOM_FIELDS_FEATURE_NAME, CUSTOM_FIELDS_FORM_EXTENSION_NAME } from "./constants.js";
14
13
  import { CustomFieldsFormSection } from "./custom-fields-form-section.js";
15
14
  import { defaultTranslations } from "./i18n.js";
16
15
  export function customFieldsClient() {
@@ -1,13 +1,12 @@
1
- // @runtime client
2
1
  // custom-fields bundle constants — feature-name + event-names.
3
2
  //
4
3
  // Spec: kumiko-platform/docs/plans/features/custom-fields.md
5
4
  // Sprint plan: kumiko-platform/docs/plans/custom-fields-sprint.md
6
5
  export const CUSTOM_FIELDS_FEATURE_NAME = "custom-fields";
7
- // Qualified handler names (QN format: scope:type:name). Mirror text-
8
- // content's Handler/Queries object pattern — Clients (z.B. die
9
- // CustomFieldsFormSection web-component) referenzieren über das Object
10
- // statt magic-strings.
6
+ // Qualified handler names (QN format: scope:type:name). Mirrors text-
7
+ // content's Handler/Queries object pattern: clients (e.g. the
8
+ // CustomFieldsFormSection web component) reference the object instead of
9
+ // magic strings.
11
10
  export const CustomFieldsHandlers = {
12
11
  defineTenantField: "custom-fields:write:define-tenant-field",
13
12
  defineSystemField: "custom-fields:write:define-system-field",
@@ -31,22 +30,22 @@ export const FIELD_DEFINITION_UPDATED_EVENT = "field-definition.updated";
31
30
  // `custom-fields:event:field-definition-deleted`. Short-name MUST be kebab
32
31
  // (no dots): qualifyEntityName runs toKebab which collapses dots to dashes.
33
32
  export const FIELD_DEFINITION_DELETED_EVENT = "field-definition-deleted";
34
- // Custom-field-VALUE events. Live auf host-aggregate stream (ES-Option-B).
35
- // Short-names werden via r.defineEvent qualified zu `custom-fields:event:
33
+ // Custom-field VALUE events. They live on the host aggregate stream (ES option B).
34
+ // Short names are qualified via r.defineEvent to `custom-fields:event:
36
35
  // custom-field-set` etc. (qualifyEntityName runs toKebab which collapses dots
37
- // to dashes — so the short-name MUST already be in dash form, otherwise
36
+ // to dashes, so the short name MUST already be in dash form, otherwise
38
37
  // handler-built strings won't match the registry key).
39
38
  export const CUSTOM_FIELD_SET_EVENT = "custom-field-set";
40
39
  export const CUSTOM_FIELD_CLEARED_EVENT = "custom-field-cleared";
41
- // Extension-name für r.useExtension("customFields", "<entity>") — registriert
42
- // dass eine host-entity Custom-Fields haben darf.
40
+ // Extension name for r.useExtension("customFields", "<entity>"): registers
41
+ // that a host entity may have custom fields.
43
42
  export const CUSTOM_FIELDS_EXTENSION = "customFields";
44
- // Default-RBAC der Value-Write- und List-Pfade. Apps mit eigenem Rollen-
45
- // Vokabular (publicstatus: "Admin"/"Editor" statt "TenantAdmin"/
46
- // "TenantMember") überschreiben via createCustomFieldsFeature({
47
- // valueWriteRoles, fieldDefinitionListRoles }) — sonst sind die hart
48
- // verdrahteten Bundle-QNs, die die CustomFieldsFormSection dispatcht,
49
- // für jeden App-User access_denied.
43
+ // Default RBAC of the value-write and list paths. Apps with their own role
44
+ // vocabulary (publicstatus: "Admin"/"Editor" instead of "TenantAdmin"/
45
+ // "TenantMember") override via createCustomFieldsFeature({
46
+ // valueWriteRoles, fieldDefinitionListRoles }); otherwise the hard-wired
47
+ // bundle QNs that CustomFieldsFormSection dispatches are access_denied for
48
+ // every app user.
50
49
  export const DEFAULT_VALUE_WRITE_ROLES = ["TenantAdmin", "TenantMember"];
51
50
  export const DEFAULT_FIELD_DEFINITION_LIST_ROLES = ["TenantAdmin"];
52
51
  // Default-RBAC of the definition-CRUD triad (define-/update-/delete-tenant-field,
@@ -55,9 +54,9 @@ export const DEFAULT_FIELD_DEFINITION_LIST_ROLES = ["TenantAdmin"];
55
54
  // hard-wired handler QNs are access_denied for every app-user without a
56
55
  // "TenantAdmin" role (same Role-Naming-Drift as DEFAULT_VALUE_WRITE_ROLES above).
57
56
  export const DEFAULT_FIELD_DEFINITION_WRITE_ROLES = ["TenantAdmin"];
58
- // Field-type union — identisch zu Stammfeld-Field-Type-System (Spec Z.59-73:
59
- // `Identisch zu Entity-Feld-Typen`). Builder-Reuse-Promise: was `r.field.X()`
60
- // kann, kann eine Custom-Field-Definition auch.
57
+ // Field-type union, identical to the core field type system (spec lines 59-73:
58
+ // `identical to entity field types`). Builder-reuse promise: whatever
59
+ // `r.field.X()` can do, a custom field definition can do too.
61
60
  export const SUPPORTED_FIELD_TYPES = [
62
61
  "text",
63
62
  "number",
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @runtime client
3
2
  // CustomFieldsFormSection — extension-section component für entityEdit-
4
3
  // Screens. Lädt die fieldDefinition-Liste des Tenants, filtert auf die
5
4
  // host-Entity, rendert pro Definition einen typed Input, dispatched
@@ -12,7 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
11
  // referenziert.
13
12
  import { useDispatcher, useExtensionFormSubmit, usePrimitives, useQuery, useTranslation, } from "@cosmicdrift/kumiko-renderer";
14
13
  import { useState } from "react";
15
- import { CustomFieldsHandlers, CustomFieldsQueries } from "../constants.js";
14
+ import { CustomFieldsHandlers, CustomFieldsQueries } from "./constants.js";
16
15
  export function CustomFieldsFormSection({ entityName, entityId, initialValues, }) {
17
16
  const { Banner, Button, Field, Input, Text } = usePrimitives();
18
17
  const t = useTranslation();
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Default translation bundle for the custom-fields UI. customFieldsClient()
3
2
  // hangs it into the LocaleProvider as a fallback bundle — apps override
4
3
  // individual keys via `customFieldsClient({ translations })`.
@@ -1,3 +1,3 @@
1
- export { CUSTOM_FIELDS_FORM_EXTENSION_NAME, CustomFieldsHandlers, CustomFieldsQueries, } from "../constants.ts";
2
1
  export { customFieldsClient } from "./client-plugin.tsx";
2
+ export { CUSTOM_FIELDS_FORM_EXTENSION_NAME, CustomFieldsHandlers, CustomFieldsQueries, } from "./constants.ts";
3
3
  export { CustomFieldsFormSection } from "./custom-fields-form-section.tsx";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
- export { CUSTOM_FIELDS_FORM_EXTENSION_NAME, CustomFieldsHandlers, CustomFieldsQueries, } from "../constants.js";
3
1
  export { customFieldsClient } from "./client-plugin.js";
2
+ export { CUSTOM_FIELDS_FORM_EXTENSION_NAME, CustomFieldsHandlers, CustomFieldsQueries, } from "./constants.js";
4
3
  export { CustomFieldsFormSection } from "./custom-fields-form-section.js";
@@ -1,8 +1,8 @@
1
1
  import { extractTableName } from "@cosmicdrift/kumiko-framework/db";
2
2
  import { createJsonbField, isSystemTenant, } from "@cosmicdrift/kumiko-framework/engine";
3
- import { CUSTOM_FIELDS_EXTENSION, FIELD_DEFINITION_AGGREGATE_TYPE } from "./constants.js";
4
3
  import { clearCustomFieldKey, removeCustomFieldKeyForTenant, removeCustomFieldKeyFromAllTenants, setCustomFieldValue, } from "./db/queries/projection.js";
5
4
  import { createCustomFieldsFeature } from "./feature.js";
5
+ import { CUSTOM_FIELDS_EXTENSION, FIELD_DEFINITION_AGGREGATE_TYPE } from "./web/constants.js";
6
6
  // Helper für entity-definitions — fügt eine `customFields jsonb`-Spalte
7
7
  // hinzu. Consumer:
8
8
  //
@@ -2,8 +2,8 @@ import { computeBlindIndex, configuredBlindIndexKey } from "@cosmicdrift/kumiko-
2
2
  import { createEventStoreExecutor, fetchOne, } from "@cosmicdrift/kumiko-framework/db";
3
3
  import { ConflictError, writeFailure } from "@cosmicdrift/kumiko-framework/errors";
4
4
  import { generateDeterministicId } from "@cosmicdrift/kumiko-framework/utils";
5
- import { DeliveryErrors } from "./public-names.js";
6
5
  import { notificationAddressOptOutEntity, notificationAddressOptOutsTable } from "./tables.js";
6
+ import { DeliveryErrors } from "./web/public-names.js";
7
7
  const executor = createEventStoreExecutor(notificationAddressOptOutsTable, notificationAddressOptOutEntity, { entityName: "notification-address-opt-out" });
8
8
  // Keyed hash of a recipient address that never had a user account — the
9
9
  // plaintext address must never reach the opt-out row or the unsubscribe token.
@@ -1,4 +1,5 @@
1
- import { deleteManyBatched } from "@cosmicdrift/kumiko-framework/db";
1
+ import { selectMany } from "@cosmicdrift/kumiko-framework/db";
2
+ import { deleteRowsWithoutReplayableStream } from "@cosmicdrift/kumiko-framework/event-store";
2
3
  import { pruneEvents } from "@cosmicdrift/kumiko-framework/pipeline";
3
4
  import { deliveryAttemptsTable } from "./tables.js";
4
5
  export const DEFAULT_ATTEMPT_LOG_RETENTION_DAYS = 90;
@@ -18,6 +19,23 @@ export function resolveAttemptLogRetentionDays(option) {
18
19
  // the caller retries on its next run.
19
20
  export async function runAttemptLogRetention(db, options) {
20
21
  const pruned = await pruneEvents(db, { ...options, aggregateTypes: ["deliveryAttempt"] });
21
- const rows = await deleteManyBatched(db, deliveryAttemptsTable, { createdAt: { lt: pruned.cutoff } }, { limit: ROW_DELETE_BATCH_SIZE });
22
- return { deletedEvents: pruned.deletedCount, deletedRows: rows.deleted };
22
+ let deletedRows = 0;
23
+ let afterId;
24
+ for (;;) {
25
+ const page = await selectMany(db, deliveryAttemptsTable, {
26
+ createdAt: { lt: pruned.cutoff },
27
+ ...(afterId === undefined ? {} : { id: { gt: afterId } }),
28
+ }, { fields: ["id"], orderBy: { col: "id", direction: "asc" }, limit: ROW_DELETE_BATCH_SIZE });
29
+ if (page.length === 0)
30
+ break;
31
+ const deleted = await deleteRowsWithoutReplayableStream(db, {
32
+ table: deliveryAttemptsTable,
33
+ ids: page.map((row) => row.id),
34
+ });
35
+ deletedRows += deleted.length;
36
+ if (page.length < ROW_DELETE_BATCH_SIZE)
37
+ break;
38
+ afterId = page[page.length - 1]?.id;
39
+ }
40
+ return { deletedEvents: pruned.deletedCount, deletedRows };
23
41
  }
@@ -1,7 +1,7 @@
1
1
  import type { NotifyPriority } from "@cosmicdrift/kumiko-framework/engine";
2
2
  export declare const DELIVERY_CHANNEL_EXTENSION: "deliveryChannel";
3
3
  export declare const EMAIL_CHANNEL_NAME: "email";
4
- export { DELIVERY_ATTEMPT_ADDRESS_ERASED_EVENT, DELIVERY_ATTEMPT_EVENT, DELIVERY_CHANNEL_CELL_COMPONENT, DELIVERY_ERROR_CELL_COMPONENT, DELIVERY_FEATURE, DELIVERY_LOG_SCREEN_ID, DELIVERY_RESUBSCRIBE_PATH, DELIVERY_STATUS_CELL_COMPONENT, DELIVERY_TIME_CELL_COMPONENT, DELIVERY_TYPE_CELL_COMPONENT, DELIVERY_UNSUBSCRIBE_PATH, DeliveryErrors, DeliveryHandlers, DeliveryJobNames, DeliveryQueries, DeliveryStatus, type DeliveryStatusValue, } from "./public-names.ts";
4
+ export { DELIVERY_ATTEMPT_ADDRESS_ERASED_EVENT, DELIVERY_ATTEMPT_EVENT, DELIVERY_CHANNEL_CELL_COMPONENT, DELIVERY_ERROR_CELL_COMPONENT, DELIVERY_FEATURE, DELIVERY_LOG_SCREEN_ID, DELIVERY_RESUBSCRIBE_PATH, DELIVERY_STATUS_CELL_COMPONENT, DELIVERY_TIME_CELL_COMPONENT, DELIVERY_TYPE_CELL_COMPONENT, DELIVERY_UNSUBSCRIBE_PATH, DeliveryErrors, DeliveryHandlers, DeliveryJobNames, DeliveryQueries, DeliveryStatus, type DeliveryStatusValue, } from "./web/public-names.ts";
5
5
  export declare function deliveryIdempotencyRedisKey(tenantId: string, key: string): string;
6
6
  export declare const deliveryPriorityRank: Record<NotifyPriority, number>;
7
7
  export declare const DeliveryJobs: {
@@ -1,10 +1,10 @@
1
1
  import { QnTypes, qn } from "@cosmicdrift/kumiko-framework/engine";
2
- import { DELIVERY_FEATURE, DeliveryJobNames } from "./public-names.js";
2
+ import { DELIVERY_FEATURE, DeliveryJobNames } from "./web/public-names.js";
3
3
  // Extension-point name for delivery-channel plugins (channel-email,
4
4
  // channel-in-app, channel-push, ...).
5
5
  export const DELIVERY_CHANNEL_EXTENSION = "deliveryChannel";
6
6
  export const EMAIL_CHANNEL_NAME = "email";
7
- export { DELIVERY_ATTEMPT_ADDRESS_ERASED_EVENT, DELIVERY_ATTEMPT_EVENT, DELIVERY_CHANNEL_CELL_COMPONENT, DELIVERY_ERROR_CELL_COMPONENT, DELIVERY_FEATURE, DELIVERY_LOG_SCREEN_ID, DELIVERY_RESUBSCRIBE_PATH, DELIVERY_STATUS_CELL_COMPONENT, DELIVERY_TIME_CELL_COMPONENT, DELIVERY_TYPE_CELL_COMPONENT, DELIVERY_UNSUBSCRIBE_PATH, DeliveryErrors, DeliveryHandlers, DeliveryJobNames, DeliveryQueries, DeliveryStatus, } from "./public-names.js";
7
+ export { DELIVERY_ATTEMPT_ADDRESS_ERASED_EVENT, DELIVERY_ATTEMPT_EVENT, DELIVERY_CHANNEL_CELL_COMPONENT, DELIVERY_ERROR_CELL_COMPONENT, DELIVERY_FEATURE, DELIVERY_LOG_SCREEN_ID, DELIVERY_RESUBSCRIBE_PATH, DELIVERY_STATUS_CELL_COMPONENT, DELIVERY_TIME_CELL_COMPONENT, DELIVERY_TYPE_CELL_COMPONENT, DELIVERY_UNSUBSCRIBE_PATH, DeliveryErrors, DeliveryHandlers, DeliveryJobNames, DeliveryQueries, DeliveryStatus, } from "./web/public-names.js";
8
8
  // Single source for claim (delivery-service) and terminal-failure release (jobs).
9
9
  export function deliveryIdempotencyRedisKey(tenantId, key) {
10
10
  return `delivery:idem:${tenantId}:${key}`;
@@ -1,5 +1,5 @@
1
1
  import { DELIVERY_FAILURE_CODES, DELIVERY_SKIP_REASONS, } from "@cosmicdrift/kumiko-framework/engine";
2
- import { DeliveryStatus } from "./public-names.js";
2
+ import { DeliveryStatus } from "./web/public-names.js";
3
3
  // Typed over the code vocabularies, so a new code without a label fails to compile.
4
4
  const ERROR_LABELS = {
5
5
  timeout: "Timed out",