@cosmicdrift/kumiko-samples 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 (506) hide show
  1. package/package.json +1 -1
  2. package/packages/bundled-features/package.json +18 -17
  3. package/packages/bundled-features/src/account-security/feature.ts +2 -2
  4. package/packages/bundled-features/src/account-security/index.ts +8 -8
  5. package/packages/bundled-features/src/account-security/{constants.ts → web/constants.ts} +0 -2
  6. package/packages/bundled-features/src/account-security/{i18n.ts → web/i18n.ts} +0 -1
  7. package/packages/bundled-features/src/admin-shell/feature.ts +10 -9
  8. package/packages/bundled-features/src/admin-shell/index.ts +8 -8
  9. package/packages/bundled-features/src/admin-shell/web/client-plugin.tsx +2 -3
  10. package/packages/bundled-features/src/admin-shell/{constants.ts → web/constants.ts} +0 -1
  11. package/packages/bundled-features/src/admin-shell/web/default-translations.ts +10 -0
  12. package/packages/bundled-features/src/admin-shell/web/i18n.ts +51 -9
  13. package/packages/bundled-features/src/admin-shell/web/index.ts +0 -1
  14. package/packages/bundled-features/src/audit/changes.json +7 -0
  15. package/packages/bundled-features/src/audit/feature.ts +72 -64
  16. package/packages/bundled-features/src/audit/handlers/audit-events.ts +153 -0
  17. package/packages/bundled-features/src/audit/handlers/audit-system-db.ts +13 -0
  18. package/packages/bundled-features/src/audit/handlers/details-all-tenants.query.ts +26 -0
  19. package/packages/bundled-features/src/audit/handlers/details.query.ts +11 -39
  20. package/packages/bundled-features/src/audit/handlers/list-all-tenants.query.ts +47 -0
  21. package/packages/bundled-features/src/audit/handlers/list.query.ts +16 -123
  22. package/packages/bundled-features/src/audit/handlers/resolve-audit-tenant.ts +21 -7
  23. package/packages/bundled-features/src/audit/index.ts +1 -1
  24. package/packages/bundled-features/src/audit/run-escape-hatch-retention.ts +4 -4
  25. package/packages/bundled-features/src/audit/screens.ts +82 -0
  26. package/packages/bundled-features/src/audit/web/client-plugin.tsx +2 -3
  27. package/packages/bundled-features/src/audit/{constants.ts → web/constants.ts} +11 -1
  28. package/packages/bundled-features/src/audit/web/default-translations.ts +7 -0
  29. package/packages/bundled-features/src/audit/web/i18n.ts +33 -7
  30. package/packages/bundled-features/src/audit/web/index.ts +0 -2
  31. package/packages/bundled-features/src/auth-email-password/bootstrap.ts +6 -6
  32. package/packages/bundled-features/src/auth-email-password/changes.json +6 -0
  33. package/packages/bundled-features/src/auth-email-password/errors.ts +1 -1
  34. package/packages/bundled-features/src/auth-email-password/feature.ts +2 -2
  35. package/packages/bundled-features/src/auth-email-password/handlers/confirm-account-unlock.write.ts +1 -1
  36. package/packages/bundled-features/src/auth-email-password/handlers/invite-accept-with-login.write.ts +4 -4
  37. package/packages/bundled-features/src/auth-email-password/handlers/invite-create.write.ts +3 -3
  38. package/packages/bundled-features/src/auth-email-password/handlers/invite-info.query.ts +1 -1
  39. package/packages/bundled-features/src/auth-email-password/handlers/login.write.ts +38 -4
  40. package/packages/bundled-features/src/auth-email-password/handlers/request-account-unlock.write.ts +1 -1
  41. package/packages/bundled-features/src/auth-email-password/handlers/request-email-verification.write.ts +1 -1
  42. package/packages/bundled-features/src/auth-email-password/handlers/request-password-reset.write.ts +1 -1
  43. package/packages/bundled-features/src/auth-email-password/handlers/reset-password.write.ts +1 -1
  44. package/packages/bundled-features/src/auth-email-password/handlers/verify-email.write.ts +1 -1
  45. package/packages/bundled-features/src/auth-email-password/index.ts +6 -1
  46. package/packages/bundled-features/src/auth-email-password/mail-notifications.ts +1 -1
  47. package/packages/bundled-features/src/auth-email-password/signup-activation.ts +1 -1
  48. package/packages/bundled-features/src/auth-email-password/web/auth-client.ts +0 -1
  49. package/packages/bundled-features/src/auth-email-password/web/auth-form-logic.ts +0 -1
  50. package/packages/bundled-features/src/auth-email-password/web/auth-form-primitives.tsx +0 -1
  51. package/packages/bundled-features/src/auth-email-password/web/auth-gate.tsx +0 -1
  52. package/packages/bundled-features/src/auth-email-password/web/auth-redirect.ts +0 -1
  53. package/packages/bundled-features/src/auth-email-password/web/client-actions.ts +0 -1
  54. package/packages/bundled-features/src/auth-email-password/web/client-plugin.ts +1 -2
  55. package/packages/bundled-features/src/auth-email-password/web/confirm-account-unlock-screen.tsx +0 -1
  56. package/packages/bundled-features/src/auth-email-password/{constants.ts → web/constants.ts} +3 -6
  57. package/packages/bundled-features/src/auth-email-password/web/default-topbar-actions.tsx +0 -1
  58. package/packages/bundled-features/src/auth-email-password/web/forgot-password-screen.tsx +0 -1
  59. package/packages/bundled-features/src/auth-email-password/{i18n.ts → web/i18n.ts} +3 -4
  60. package/packages/bundled-features/src/auth-email-password/web/index.ts +1 -2
  61. package/packages/bundled-features/src/auth-email-password/web/invite-accept-screen.tsx +2 -3
  62. package/packages/bundled-features/src/auth-email-password/web/login-screen.tsx +0 -1
  63. package/packages/bundled-features/src/auth-email-password/{mail-i18n.ts → web/mail-i18n.ts} +0 -1
  64. package/packages/bundled-features/src/auth-email-password/web/request-account-unlock-screen.tsx +0 -1
  65. package/packages/bundled-features/src/auth-email-password/web/reset-password-screen.tsx +0 -1
  66. package/packages/bundled-features/src/auth-email-password/web/session-bootstrap-error.tsx +0 -1
  67. package/packages/bundled-features/src/auth-email-password/web/session.tsx +0 -1
  68. package/packages/bundled-features/src/auth-email-password/web/signup-complete-screen.tsx +2 -3
  69. package/packages/bundled-features/src/auth-email-password/web/signup-screen.tsx +0 -1
  70. package/packages/bundled-features/src/auth-email-password/web/tenant-menu-items.tsx +0 -1
  71. package/packages/bundled-features/src/auth-email-password/web/tenant-switcher.tsx +0 -1
  72. package/packages/bundled-features/src/auth-email-password/web/use-shell-user.ts +0 -1
  73. package/packages/bundled-features/src/auth-email-password/web/user-menu.tsx +0 -1
  74. package/packages/bundled-features/src/auth-email-password/web/verify-email-screen.tsx +0 -1
  75. package/packages/bundled-features/src/auth-mfa/changes.json +6 -0
  76. package/packages/bundled-features/src/auth-mfa/errors.ts +2 -2
  77. package/packages/bundled-features/src/auth-mfa/handlers/enable-confirm-preauth.write.ts +1 -1
  78. package/packages/bundled-features/src/auth-mfa/handlers/enable-start-preauth.write.ts +1 -1
  79. package/packages/bundled-features/src/auth-mfa/handlers/enable-start.write.ts +1 -1
  80. package/packages/bundled-features/src/auth-mfa/handlers/verify.write.ts +1 -1
  81. package/packages/bundled-features/src/auth-mfa/index.ts +8 -8
  82. package/packages/bundled-features/src/auth-mfa/mfa-status-checker.ts +4 -4
  83. package/packages/bundled-features/src/auth-mfa/screens.ts +1 -1
  84. package/packages/bundled-features/src/auth-mfa/web/client-plugin.ts +0 -1
  85. package/packages/bundled-features/src/auth-mfa/{constants.ts → web/constants.ts} +0 -1
  86. package/packages/bundled-features/src/auth-mfa/web/i18n.ts +0 -1
  87. package/packages/bundled-features/src/auth-mfa/web/index.ts +0 -1
  88. package/packages/bundled-features/src/auth-mfa/web/mfa-client.ts +0 -1
  89. package/packages/bundled-features/src/auth-mfa/web/mfa-disable-dialog.tsx +1 -2
  90. package/packages/bundled-features/src/auth-mfa/web/mfa-recovery-codes-reveal.tsx +0 -1
  91. package/packages/bundled-features/src/auth-mfa/web/mfa-regenerate-recovery-dialog.tsx +1 -2
  92. package/packages/bundled-features/src/auth-mfa/web/mfa-setup-preauth-screen.tsx +21 -23
  93. package/packages/bundled-features/src/auth-mfa/web/mfa-verify-screen.tsx +0 -1
  94. package/packages/bundled-features/src/billing-foundation/changes.json +18 -0
  95. package/packages/bundled-features/src/billing-foundation/checkout-core.ts +3 -3
  96. package/packages/bundled-features/src/billing-foundation/consumer-protection/consent-text.ts +2 -2
  97. package/packages/bundled-features/src/billing-foundation/consumer-protection/issue-confirmation.ts +11 -3
  98. package/packages/bundled-features/src/billing-foundation/consumer-protection/mail-notifications.ts +11 -1
  99. package/packages/bundled-features/src/billing-foundation/consumer-protection/register-consent.ts +1 -1
  100. package/packages/bundled-features/src/billing-foundation/consumer-protection/register-termination.ts +12 -1
  101. package/packages/bundled-features/src/billing-foundation/consumer-protection/stored-user-email.ts +12 -0
  102. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-mail.ts +6 -1
  103. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-notify.ts +1 -1
  104. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-pages.ts +167 -28
  105. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-record.ts +102 -3
  106. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-request.ts +43 -12
  107. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-revoke.ts +202 -0
  108. package/packages/bundled-features/src/billing-foundation/consumer-protection/termination-texts.ts +70 -0
  109. package/packages/bundled-features/src/billing-foundation/events.ts +20 -2
  110. package/packages/bundled-features/src/billing-foundation/feature.ts +5 -5
  111. package/packages/bundled-features/src/billing-foundation/handlers/process-event.write.ts +82 -9
  112. package/packages/bundled-features/src/billing-foundation/handlers/switch-plan.write.ts +1 -1
  113. package/packages/bundled-features/src/billing-foundation/handlers/sync-subscription.write.ts +1 -1
  114. package/packages/bundled-features/src/billing-foundation/index.ts +27 -27
  115. package/packages/bundled-features/src/billing-foundation/plan-catalog.ts +7 -7
  116. package/packages/bundled-features/src/billing-foundation/screens.ts +1 -1
  117. package/packages/bundled-features/src/billing-foundation/subscription-tier-sync.ts +1 -1
  118. package/packages/bundled-features/src/billing-foundation/types.ts +17 -3
  119. package/packages/bundled-features/src/billing-foundation/validate-options.ts +3 -3
  120. package/packages/bundled-features/src/billing-foundation/web/billing-contact-plan.tsx +1 -3
  121. package/packages/bundled-features/src/billing-foundation/web/billing-plans-panel.tsx +5 -7
  122. package/packages/bundled-features/src/billing-foundation/web/cancel-contract-dialog.tsx +1 -3
  123. package/packages/bundled-features/src/billing-foundation/web/checkout-consent-dialog.tsx +1 -3
  124. package/packages/bundled-features/src/billing-foundation/web/client-plugin.tsx +1 -2
  125. package/packages/bundled-features/src/billing-foundation/{constants.ts → web/constants.ts} +37 -31
  126. package/packages/bundled-features/src/billing-foundation/{consumer-protection → web/consumer-protection}/consent-locale.ts +0 -1
  127. package/packages/bundled-features/src/billing-foundation/{contact-card.ts → web/contact-card.ts} +0 -2
  128. package/packages/bundled-features/src/billing-foundation/web/index.ts +14 -15
  129. package/packages/bundled-features/src/billing-foundation/web/localized-params.ts +0 -2
  130. package/packages/bundled-features/src/billing-foundation/webhook-handler.ts +5 -2
  131. package/packages/bundled-features/src/cap-overview/feature.ts +1 -1
  132. package/packages/bundled-features/src/cap-overview/handlers/caps-usage.query.ts +1 -1
  133. package/packages/bundled-features/src/cap-overview/handlers/tenant-caps-list.query.ts +2 -2
  134. package/packages/bundled-features/src/cap-overview/index.ts +9 -9
  135. package/packages/bundled-features/src/cap-overview/screens.ts +2 -2
  136. package/packages/bundled-features/src/cap-overview/web/cap-cards-panel.tsx +1 -2
  137. package/packages/bundled-features/src/cap-overview/web/cap-usage-bar.tsx +1 -2
  138. package/packages/bundled-features/src/cap-overview/web/cap-usage-cell.tsx +0 -2
  139. package/packages/bundled-features/src/cap-overview/web/client-plugin.tsx +3 -4
  140. package/packages/bundled-features/src/cap-overview/{constants.ts → web/constants.ts} +0 -1
  141. package/packages/bundled-features/src/cap-overview/web/index.ts +0 -1
  142. package/packages/bundled-features/src/cap-overview/{usage-math.ts → web/usage-math.ts} +1 -2
  143. package/packages/bundled-features/src/compliance-profiles/feature.ts +5 -5
  144. package/packages/bundled-features/src/compliance-profiles/index.ts +6 -6
  145. package/packages/bundled-features/src/compliance-profiles/web/client-plugin.tsx +2 -3
  146. package/packages/bundled-features/src/compliance-profiles/web/compliance-profile-catalog.tsx +1 -2
  147. package/packages/bundled-features/src/compliance-profiles/{constants.ts → web/constants.ts} +0 -1
  148. package/packages/bundled-features/src/compliance-profiles/web/i18n.ts +0 -1
  149. package/packages/bundled-features/src/compliance-profiles/web/index.ts +0 -1
  150. package/packages/bundled-features/src/config/index.ts +6 -6
  151. package/packages/bundled-features/src/config/web/client-plugin.ts +1 -2
  152. package/packages/bundled-features/src/config/{constants.ts → web/constants.ts} +0 -1
  153. package/packages/bundled-features/src/config/web/i18n.ts +0 -1
  154. package/packages/bundled-features/src/config/web/index.ts +1 -3
  155. package/packages/bundled-features/src/config/write-helpers.ts +1 -1
  156. package/packages/bundled-features/src/custom-fields/feature.ts +8 -8
  157. package/packages/bundled-features/src/custom-fields/handlers/clear-custom-field.write.ts +1 -1
  158. package/packages/bundled-features/src/custom-fields/handlers/define-tenant-field.write.ts +1 -1
  159. package/packages/bundled-features/src/custom-fields/handlers/delete-system-field.write.ts +1 -1
  160. package/packages/bundled-features/src/custom-fields/handlers/delete-tenant-field.write.ts +4 -4
  161. package/packages/bundled-features/src/custom-fields/handlers/set-custom-field.write.ts +1 -1
  162. package/packages/bundled-features/src/custom-fields/handlers/update-tenant-field.write.ts +1 -1
  163. package/packages/bundled-features/src/custom-fields/index.ts +8 -8
  164. package/packages/bundled-features/src/custom-fields/lib/value-schema.ts +1 -1
  165. package/packages/bundled-features/src/custom-fields/schemas.ts +1 -1
  166. package/packages/bundled-features/src/custom-fields/web/client-plugin.tsx +1 -2
  167. package/packages/bundled-features/src/custom-fields/{constants.ts → web/constants.ts} +18 -19
  168. package/packages/bundled-features/src/custom-fields/web/custom-fields-form-section.tsx +1 -2
  169. package/packages/bundled-features/src/custom-fields/web/i18n.ts +0 -1
  170. package/packages/bundled-features/src/custom-fields/web/index.ts +2 -3
  171. package/packages/bundled-features/src/custom-fields/wire-for-entity.ts +1 -2
  172. package/packages/bundled-features/src/delivery/address-opt-out.ts +1 -1
  173. package/packages/bundled-features/src/delivery/attempt-log-retention.ts +24 -8
  174. package/packages/bundled-features/src/delivery/changes.json +6 -0
  175. package/packages/bundled-features/src/delivery/constants.ts +2 -2
  176. package/packages/bundled-features/src/delivery/i18n.ts +1 -1
  177. package/packages/bundled-features/src/delivery/unsubscribe-page.ts +1 -1
  178. package/packages/bundled-features/src/delivery/web/client-plugin.tsx +6 -7
  179. package/packages/bundled-features/src/delivery/web/delivery-channel-cell.tsx +0 -1
  180. package/packages/bundled-features/src/delivery/web/delivery-error-cell.tsx +0 -1
  181. package/packages/bundled-features/src/delivery/web/delivery-status-cell.tsx +1 -2
  182. package/packages/bundled-features/src/delivery/web/delivery-time-cell.tsx +0 -1
  183. package/packages/bundled-features/src/delivery/web/delivery-type-cell.tsx +0 -1
  184. package/packages/bundled-features/src/delivery/web/index.ts +0 -1
  185. package/packages/bundled-features/src/delivery/{public-names.ts → web/public-names.ts} +0 -1
  186. package/packages/bundled-features/src/document-ingest-foundation/changes.json +6 -0
  187. package/packages/bundled-features/src/document-ingest-foundation/events.ts +4 -0
  188. package/packages/bundled-features/src/document-ingest-foundation/executor.ts +2 -1
  189. package/packages/bundled-features/src/document-ingest-foundation/feature.ts +18 -4
  190. package/packages/bundled-features/src/document-ingest-foundation/index.ts +1 -0
  191. package/packages/bundled-features/src/feature-toggles/feature.ts +7 -7
  192. package/packages/bundled-features/src/feature-toggles/handlers/list.query.ts +1 -1
  193. package/packages/bundled-features/src/feature-toggles/handlers/registered.query.ts +1 -1
  194. package/packages/bundled-features/src/feature-toggles/handlers/set.write.ts +3 -3
  195. package/packages/bundled-features/src/feature-toggles/index.ts +6 -6
  196. package/packages/bundled-features/src/feature-toggles/web/client-plugin.tsx +1 -2
  197. package/packages/bundled-features/src/feature-toggles/{constants.ts → web/constants.ts} +0 -1
  198. package/packages/bundled-features/src/feature-toggles/web/i18n.ts +0 -1
  199. package/packages/bundled-features/src/feature-toggles/web/index.ts +0 -1
  200. package/packages/bundled-features/src/files/changes.json +7 -0
  201. package/packages/bundled-features/src/folders/feature.ts +1 -1
  202. package/packages/bundled-features/src/folders/handlers/clear-folder.write.ts +1 -1
  203. package/packages/bundled-features/src/folders/handlers/delete-folder.write.ts +1 -1
  204. package/packages/bundled-features/src/folders/handlers/set-folder.write.ts +1 -1
  205. package/packages/bundled-features/src/folders/index.ts +8 -8
  206. package/packages/bundled-features/src/folders/web/client-plugin.tsx +1 -3
  207. package/packages/bundled-features/src/folders/{constants.ts → web/constants.ts} +0 -1
  208. package/packages/bundled-features/src/folders/web/folder-manager.tsx +1 -2
  209. package/packages/bundled-features/src/folders/web/folder-section.tsx +1 -2
  210. package/packages/bundled-features/src/folders/web/i18n.ts +0 -1
  211. package/packages/bundled-features/src/folders/web/index.ts +1 -2
  212. package/packages/bundled-features/src/folders/web/tree.ts +0 -1
  213. package/packages/bundled-features/src/form-draft/changes.json +7 -0
  214. package/packages/bundled-features/src/form-draft/db/queries/cleanup.ts +25 -11
  215. package/packages/bundled-features/src/form-draft/decrypt-draft.ts +24 -0
  216. package/packages/bundled-features/src/form-draft/entity.ts +6 -9
  217. package/packages/bundled-features/src/form-draft/feature.ts +1 -1
  218. package/packages/bundled-features/src/form-draft/handlers/cleanup.job.ts +26 -5
  219. package/packages/bundled-features/src/form-draft/handlers/discard.write.ts +1 -1
  220. package/packages/bundled-features/src/form-draft/handlers/get.query.ts +6 -7
  221. package/packages/bundled-features/src/form-draft/handlers/list.query.ts +13 -7
  222. package/packages/bundled-features/src/form-draft/handlers/save.write.ts +5 -5
  223. package/packages/bundled-features/src/form-draft/index.ts +8 -8
  224. package/packages/bundled-features/src/form-draft/lookup.ts +10 -4
  225. package/packages/bundled-features/src/form-draft/schemas.ts +1 -1
  226. package/packages/bundled-features/src/form-draft/{constants.ts → web/constants.ts} +0 -1
  227. package/packages/bundled-features/src/form-draft-user-data/hooks.ts +2 -2
  228. package/packages/bundled-features/src/inbound-mail-foundation/retention-sweep.ts +10 -10
  229. package/packages/bundled-features/src/jobs/feature.ts +7 -7
  230. package/packages/bundled-features/src/jobs/handlers/retry.write.ts +1 -1
  231. package/packages/bundled-features/src/jobs/handlers/trigger.write.ts +1 -1
  232. package/packages/bundled-features/src/jobs/index.ts +1 -1
  233. package/packages/bundled-features/src/jobs/web/client-plugin.tsx +2 -3
  234. package/packages/bundled-features/src/jobs/{constants.ts → web/constants.ts} +0 -1
  235. package/packages/bundled-features/src/jobs/web/default-translations.ts +7 -0
  236. package/packages/bundled-features/src/jobs/web/i18n.ts +53 -7
  237. package/packages/bundled-features/src/jobs/web/index.ts +0 -1
  238. package/packages/bundled-features/src/ledger/changes.json +7 -0
  239. package/packages/bundled-features/src/ledger/entity.ts +1 -1
  240. package/packages/bundled-features/src/ledger/feature.ts +1 -1
  241. package/packages/bundled-features/src/ledger/handlers/confirm-schedule-period.write.ts +2 -10
  242. package/packages/bundled-features/src/ledger/handlers/create-transaction.write.ts +1 -1
  243. package/packages/bundled-features/src/ledger/handlers/reports.query.ts +1 -1
  244. package/packages/bundled-features/src/ledger/handlers/reverse-transaction.write.ts +1 -1
  245. package/packages/bundled-features/src/ledger/index.ts +13 -13
  246. package/packages/bundled-features/src/ledger/recurring.ts +1 -1
  247. package/packages/bundled-features/src/ledger/reports.ts +1 -1
  248. package/packages/bundled-features/src/ledger/schemas.ts +1 -1
  249. package/packages/bundled-features/src/ledger/{constants.ts → web/constants.ts} +0 -1
  250. package/packages/bundled-features/src/ledger/web/index.ts +11 -12
  251. package/packages/bundled-features/src/legal-pages/README.md +1 -1
  252. package/packages/bundled-features/src/legal-pages/feature.ts +5 -5
  253. package/packages/bundled-features/src/legal-pages/index.ts +11 -11
  254. package/packages/bundled-features/src/legal-pages/lib/boot-check.ts +1 -1
  255. package/packages/bundled-features/src/legal-pages/lib/validate-routes.ts +1 -1
  256. package/packages/bundled-features/src/legal-pages/web/client-plugin.ts +1 -2
  257. package/packages/bundled-features/src/legal-pages/{constants.ts → web/constants.ts} +6 -8
  258. package/packages/bundled-features/src/legal-pages/web/index.ts +0 -1
  259. package/packages/bundled-features/src/managed-pages/feature.ts +1 -1
  260. package/packages/bundled-features/src/managed-pages/web/client-plugin.tsx +1 -2
  261. package/packages/bundled-features/src/managed-pages/web/default-translations.ts +17 -0
  262. package/packages/bundled-features/src/managed-pages/web/i18n.ts +59 -16
  263. package/packages/bundled-features/src/managed-pages/web/index.ts +1 -2
  264. package/packages/bundled-features/src/metrics/compute.ts +1 -1
  265. package/packages/bundled-features/src/metrics/feature.ts +6 -6
  266. package/packages/bundled-features/src/metrics/index.ts +8 -8
  267. package/packages/bundled-features/src/metrics/types.ts +1 -1
  268. package/packages/bundled-features/src/metrics/validate.ts +1 -1
  269. package/packages/bundled-features/src/metrics/{constants.ts → web/constants.ts} +0 -1
  270. package/packages/bundled-features/src/metrics/window.ts +1 -1
  271. package/packages/bundled-features/src/notes-history/feature.ts +1 -1
  272. package/packages/bundled-features/src/notes-history/handlers/add-note.write.ts +1 -1
  273. package/packages/bundled-features/src/notes-history/index.ts +8 -8
  274. package/packages/bundled-features/src/notes-history/web/client-plugin.tsx +1 -3
  275. package/packages/bundled-features/src/notes-history/{constants.ts → web/constants.ts} +0 -1
  276. package/packages/bundled-features/src/notes-history/web/i18n.ts +0 -1
  277. package/packages/bundled-features/src/notes-history/web/index.ts +2 -3
  278. package/packages/bundled-features/src/notes-history/web/notes-section.tsx +2 -3
  279. package/packages/bundled-features/src/personal-access-tokens/feature.ts +12 -10
  280. package/packages/bundled-features/src/personal-access-tokens/handlers/available-scopes.query.ts +1 -1
  281. package/packages/bundled-features/src/personal-access-tokens/handlers/create.write.ts +1 -1
  282. package/packages/bundled-features/src/personal-access-tokens/handlers/revoke.write.ts +1 -1
  283. package/packages/bundled-features/src/personal-access-tokens/hash.ts +1 -1
  284. package/packages/bundled-features/src/personal-access-tokens/i18n.ts +2 -2
  285. package/packages/bundled-features/src/personal-access-tokens/index.ts +5 -5
  286. package/packages/bundled-features/src/personal-access-tokens/resolver.ts +1 -1
  287. package/packages/bundled-features/src/personal-access-tokens/schema/api-token.ts +1 -1
  288. package/packages/bundled-features/src/personal-access-tokens/screens.ts +2 -2
  289. package/packages/bundled-features/src/personal-access-tokens/{constants.ts → web/constants.ts} +0 -1
  290. package/packages/bundled-features/src/personal-access-tokens/{scopes.ts → web/scopes.ts} +0 -1
  291. package/packages/bundled-features/src/presets/changes.json +7 -0
  292. package/packages/bundled-features/src/presets/index.ts +0 -1
  293. package/packages/bundled-features/src/presets/security-baseline.ts +1 -1
  294. package/packages/bundled-features/src/renderer-foundation/types.ts +1 -1
  295. package/packages/bundled-features/src/secrets/feature.ts +1 -1
  296. package/packages/bundled-features/src/secrets/handlers/delete.write.ts +1 -1
  297. package/packages/bundled-features/src/secrets/handlers/list.query.ts +1 -1
  298. package/packages/bundled-features/src/secrets/handlers/set.write.ts +1 -1
  299. package/packages/bundled-features/src/secrets/i18n.ts +1 -1
  300. package/packages/bundled-features/src/secrets/index.ts +8 -8
  301. package/packages/bundled-features/src/secrets/{constants.ts → web/constants.ts} +0 -1
  302. package/packages/bundled-features/src/secrets/write-gate.ts +1 -1
  303. package/packages/bundled-features/src/sessions/feature.ts +7 -4
  304. package/packages/bundled-features/src/sessions/{i18n.ts → web/i18n.ts} +0 -1
  305. package/packages/bundled-features/src/shared/index.ts +6 -1
  306. package/packages/bundled-features/src/shared/purge-files-reaching-subject.ts +10 -2
  307. package/packages/bundled-features/src/shared/web/translate-or-raw.ts +0 -1
  308. package/packages/bundled-features/src/subscription-stripe/feature.ts +2 -0
  309. package/packages/bundled-features/src/subscription-stripe/plugin-methods.ts +19 -0
  310. package/packages/bundled-features/src/subscription-stripe/verify-webhook.ts +1 -0
  311. package/packages/bundled-features/src/tags/changes.json +6 -0
  312. package/packages/bundled-features/src/tags/feature.ts +1 -1
  313. package/packages/bundled-features/src/tags/handlers/assign-tag.write.ts +11 -7
  314. package/packages/bundled-features/src/tags/handlers/create-tag.write.ts +1 -1
  315. package/packages/bundled-features/src/tags/handlers/delete-tag.write.ts +4 -1
  316. package/packages/bundled-features/src/tags/handlers/remove-tag.write.ts +1 -1
  317. package/packages/bundled-features/src/tags/handlers/update-tag.write.ts +1 -1
  318. package/packages/bundled-features/src/tags/index.ts +12 -12
  319. package/packages/bundled-features/src/tags/screens.ts +1 -1
  320. package/packages/bundled-features/src/tags/web/client-plugin.tsx +1 -3
  321. package/packages/bundled-features/src/tags/{constants.ts → web/constants.ts} +4 -1
  322. package/packages/bundled-features/src/tags/web/entity-tags.tsx +1 -2
  323. package/packages/bundled-features/src/tags/web/i18n.ts +2 -2
  324. package/packages/bundled-features/src/tags/web/index.ts +2 -3
  325. package/packages/bundled-features/src/tags/web/tag-chip.tsx +0 -1
  326. package/packages/bundled-features/src/tags/web/tag-filter.tsx +1 -2
  327. package/packages/bundled-features/src/tags/web/tag-manager.tsx +5 -4
  328. package/packages/bundled-features/src/tags/web/tag-picker.tsx +0 -1
  329. package/packages/bundled-features/src/tags/web/tag-section.tsx +1 -2
  330. package/packages/bundled-features/src/tags/web/tags-cell.tsx +1 -2
  331. package/packages/bundled-features/src/template-resolver/README.md +1 -1
  332. package/packages/bundled-features/src/template-resolver/api.ts +75 -28
  333. package/packages/bundled-features/src/template-resolver/changes.json +43 -0
  334. package/packages/bundled-features/src/template-resolver/compile-document-body.ts +1 -1
  335. package/packages/bundled-features/src/template-resolver/compile-steps-block.ts +2 -2
  336. package/packages/bundled-features/src/template-resolver/document-ops.ts +5 -5
  337. package/packages/bundled-features/src/template-resolver/document-sanitizer.ts +4 -4
  338. package/packages/bundled-features/src/template-resolver/feature.ts +13 -4
  339. package/packages/bundled-features/src/template-resolver/handlers/by-slug.query.ts +6 -1
  340. package/packages/bundled-features/src/template-resolver/handlers/by-tenant.query.ts +6 -2
  341. package/packages/bundled-features/src/template-resolver/handlers/collection-item.query.ts +1 -1
  342. package/packages/bundled-features/src/template-resolver/handlers/collection-list.query.ts +1 -1
  343. package/packages/bundled-features/src/template-resolver/handlers/collection-set.write.ts +19 -2
  344. package/packages/bundled-features/src/template-resolver/handlers/copy-locale.write.ts +2 -2
  345. package/packages/bundled-features/src/template-resolver/handlers/diff-to-system.query.ts +7 -1
  346. package/packages/bundled-features/src/template-resolver/handlers/discard-draft.write.ts +1 -1
  347. package/packages/bundled-features/src/template-resolver/handlers/document-base.ts +8 -2
  348. package/packages/bundled-features/src/template-resolver/handlers/document-blocks.query.ts +2 -2
  349. package/packages/bundled-features/src/template-resolver/handlers/export-bundle.query.ts +5 -2
  350. package/packages/bundled-features/src/template-resolver/handlers/find-by-id.query.ts +4 -2
  351. package/packages/bundled-features/src/template-resolver/handlers/layout-source.query.ts +10 -5
  352. package/packages/bundled-features/src/template-resolver/handlers/list.query.ts +5 -2
  353. package/packages/bundled-features/src/template-resolver/handlers/overview.query.ts +68 -10
  354. package/packages/bundled-features/src/template-resolver/handlers/patch-draft.write.ts +1 -1
  355. package/packages/bundled-features/src/template-resolver/handlers/resource-shared.ts +1 -1
  356. package/packages/bundled-features/src/template-resolver/handlers/resource-upload.write.ts +1 -1
  357. package/packages/bundled-features/src/template-resolver/handlers/send-test.write.ts +2 -2
  358. package/packages/bundled-features/src/template-resolver/handlers/set.write.ts +1 -1
  359. package/packages/bundled-features/src/template-resolver/handlers/shared.ts +1 -1
  360. package/packages/bundled-features/src/template-resolver/handlers/template-gates.ts +6 -6
  361. package/packages/bundled-features/src/template-resolver/handlers/template-write.ts +2 -2
  362. package/packages/bundled-features/src/template-resolver/handlers/usage.query.ts +8 -2
  363. package/packages/bundled-features/src/template-resolver/handlers/validate.query.ts +4 -2
  364. package/packages/bundled-features/src/template-resolver/i18n.ts +25 -0
  365. package/packages/bundled-features/src/template-resolver/index.ts +60 -59
  366. package/packages/bundled-features/src/template-resolver/layout-appearance.ts +1 -1
  367. package/packages/bundled-features/src/template-resolver/layout-regions.ts +1 -1
  368. package/packages/bundled-features/src/template-resolver/seeding.ts +16 -7
  369. package/packages/bundled-features/src/template-resolver/store-template-resource.ts +2 -2
  370. package/packages/bundled-features/src/template-resolver/table.ts +1 -1
  371. package/packages/bundled-features/src/template-resolver/template-bundle.ts +2 -2
  372. package/packages/bundled-features/src/template-resolver/template-delivery-policy.ts +82 -0
  373. package/packages/bundled-features/src/template-resolver/template-draft.ts +1 -1
  374. package/packages/bundled-features/src/template-resolver/template-edit-policy.ts +2 -2
  375. package/packages/bundled-features/src/template-resolver/template-meta.ts +2 -2
  376. package/packages/bundled-features/src/template-resolver/template-preview.ts +14 -10
  377. package/packages/bundled-features/src/template-resolver/template-usage.ts +1 -1
  378. package/packages/bundled-features/src/template-resolver/template-validation.ts +2 -2
  379. package/packages/bundled-features/src/template-resolver/testing.ts +2 -2
  380. package/packages/bundled-features/src/template-resolver/user-content-table.ts +1 -1
  381. package/packages/bundled-features/src/template-resolver/web/client-plugin.tsx +4 -5
  382. package/packages/bundled-features/src/template-resolver/{constants.ts → web/constants.ts} +7 -10
  383. package/packages/bundled-features/src/template-resolver/{document-blocks.ts → web/document-blocks.ts} +0 -1
  384. package/packages/bundled-features/src/template-resolver/web/document-editor-extensions.ts +2 -3
  385. package/packages/bundled-features/src/template-resolver/web/document-editor.tsx +0 -1
  386. package/packages/bundled-features/src/template-resolver/{document-images.ts → web/document-images.ts} +0 -1
  387. package/packages/bundled-features/src/template-resolver/{document-schema.ts → web/document-schema.ts} +0 -1
  388. package/packages/bundled-features/src/template-resolver/{document-steps.ts → web/document-steps.ts} +0 -1
  389. package/packages/bundled-features/src/template-resolver/web/document-tiptap-editor.tsx +6 -7
  390. package/packages/bundled-features/src/template-resolver/web/document-toolbar-blocks.ts +2 -3
  391. package/packages/bundled-features/src/template-resolver/web/editor-handle.ts +1 -2
  392. package/packages/bundled-features/src/template-resolver/web/i18n.ts +2 -1
  393. package/packages/bundled-features/src/template-resolver/web/index.ts +13 -14
  394. package/packages/bundled-features/src/template-resolver/{mail-constants.ts → web/mail-constants.ts} +0 -1
  395. package/packages/bundled-features/src/template-resolver/{pdf-constants.ts → web/pdf-constants.ts} +0 -1
  396. package/packages/bundled-features/src/template-resolver/web/placeholder-line-editor-lazy.tsx +0 -1
  397. package/packages/bundled-features/src/template-resolver/web/placeholder-line-editor.tsx +5 -4
  398. package/packages/bundled-features/src/template-resolver/{placeholder-text.ts → web/placeholder-text.ts} +0 -1
  399. package/packages/bundled-features/src/template-resolver/{qualified-names.ts → web/qualified-names.ts} +0 -1
  400. package/packages/bundled-features/src/template-resolver/web/use-stable-by-key.ts +0 -1
  401. package/packages/bundled-features/src/tenant/handlers/add-member.write.ts +1 -1
  402. package/packages/bundled-features/src/tenant/index.ts +7 -7
  403. package/packages/bundled-features/src/tenant/invitation-table.ts +1 -1
  404. package/packages/bundled-features/src/tenant/invited-membership.ts +1 -1
  405. package/packages/bundled-features/src/tenant/last-tenant-admin.ts +1 -1
  406. package/packages/bundled-features/src/tenant/member-role-options.ts +1 -1
  407. package/packages/bundled-features/src/tenant/screens.ts +2 -2
  408. package/packages/bundled-features/src/tenant/web/client-plugin.tsx +1 -2
  409. package/packages/bundled-features/src/tenant/{constants.ts → web/constants.ts} +3 -6
  410. package/packages/bundled-features/src/tenant/web/index.ts +0 -1
  411. package/packages/bundled-features/src/tenant/web/member-roles-cell.tsx +0 -1
  412. package/packages/bundled-features/src/tenant/web/member-status-cell.tsx +0 -1
  413. package/packages/bundled-features/src/tenant-lifecycle/stages.ts +2 -2
  414. package/packages/bundled-features/src/tier-engine/entity.ts +1 -1
  415. package/packages/bundled-features/src/tier-engine/feature.ts +7 -7
  416. package/packages/bundled-features/src/tier-engine/handlers/set-tenant-tier.write.ts +1 -1
  417. package/packages/bundled-features/src/tier-engine/index.ts +8 -8
  418. package/packages/bundled-features/src/tier-engine/web/client-plugin.tsx +2 -3
  419. package/packages/bundled-features/src/tier-engine/{constants.ts → web/constants.ts} +2 -3
  420. package/packages/bundled-features/src/tier-engine/{i18n.ts → web/i18n.ts} +0 -1
  421. package/packages/bundled-features/src/tier-engine/web/index.ts +0 -1
  422. package/packages/bundled-features/src/user/handlers/create.write.ts +1 -1
  423. package/packages/bundled-features/src/user/handlers/update-roles.ts +1 -1
  424. package/packages/bundled-features/src/user/handlers/update.write.ts +1 -1
  425. package/packages/bundled-features/src/user/index.ts +1 -1
  426. package/packages/bundled-features/src/user/invited-global-roles.ts +1 -1
  427. package/packages/bundled-features/src/user/schema/user.ts +1 -1
  428. package/packages/bundled-features/src/user/{constants.ts → web/constants.ts} +0 -1
  429. package/packages/bundled-features/src/user-data-rights/changes.json +14 -0
  430. package/packages/bundled-features/src/user-data-rights/env.ts +1 -1
  431. package/packages/bundled-features/src/user-data-rights/feature.ts +9 -9
  432. package/packages/bundled-features/src/user-data-rights/index.ts +1 -1
  433. package/packages/bundled-features/src/user-data-rights/lib/resolve-tenant-model.ts +1 -1
  434. package/packages/bundled-features/src/user-data-rights/mail-notifications.ts +1 -1
  435. package/packages/bundled-features/src/user-data-rights/web/client-plugin.tsx +2 -3
  436. package/packages/bundled-features/src/user-data-rights/web/confirm-deletion-screen.tsx +0 -1
  437. package/packages/bundled-features/src/user-data-rights/{constants.ts → web/constants.ts} +11 -12
  438. package/packages/bundled-features/src/user-data-rights/web/default-translations.ts +91 -0
  439. package/packages/bundled-features/src/user-data-rights/web/i18n.ts +41 -91
  440. package/packages/bundled-features/src/user-data-rights/web/index.ts +1 -2
  441. package/packages/bundled-features/src/user-data-rights/web/privacy-center-screen.tsx +1 -2
  442. package/packages/bundled-features/src/user-data-rights/web/public-deletion-gate.tsx +0 -1
  443. package/packages/bundled-features/src/user-data-rights/web/request-deletion-screen.tsx +0 -1
  444. package/packages/bundled-features/src/user-data-rights-defaults/hooks/file-ref.userdata-hook.ts +10 -1
  445. package/packages/bundled-features/src/user-profile/feature.ts +2 -2
  446. package/packages/bundled-features/src/user-profile/handlers/change-email.write.ts +1 -1
  447. package/packages/bundled-features/src/user-profile/index.ts +3 -2
  448. package/packages/bundled-features/src/user-profile/web/client-plugin.ts +2 -3
  449. package/packages/bundled-features/src/user-profile/{constants.ts → web/constants.ts} +0 -1
  450. package/packages/bundled-features/src/user-profile/{i18n.ts → web/i18n.ts} +0 -1
  451. package/packages/bundled-features/src/user-profile/web/profile-screen.tsx +2 -3
  452. package/packages/bundled-features/src/waitlist/changes.json +6 -0
  453. package/packages/bundled-features/src/waitlist/entity.ts +1 -1
  454. package/packages/bundled-features/src/waitlist/feature.ts +5 -5
  455. package/packages/bundled-features/src/waitlist/handlers/export-purge.write.ts +3 -3
  456. package/packages/bundled-features/src/waitlist/handlers/invite.write.ts +5 -1
  457. package/packages/bundled-features/src/waitlist/handlers/reject.write.ts +1 -1
  458. package/packages/bundled-features/src/waitlist/handlers/submit.write.ts +3 -3
  459. package/packages/bundled-features/src/waitlist/import.ts +1 -1
  460. package/packages/bundled-features/src/waitlist/index.ts +11 -11
  461. package/packages/bundled-features/src/waitlist/legacy-migrate.ts +1 -1
  462. package/packages/bundled-features/src/waitlist/link-on-signup.ts +1 -1
  463. package/packages/bundled-features/src/waitlist/mail.ts +7 -6
  464. package/packages/bundled-features/src/waitlist/payloads.ts +1 -1
  465. package/packages/bundled-features/src/waitlist/screens.ts +1 -1
  466. package/packages/bundled-features/src/waitlist/{constants.ts → web/constants.ts} +0 -1
  467. package/samples/apps/styleguide/src/features/content/web.tsx +0 -1
  468. package/samples/apps/ui-walkthrough/src/app/client.tsx +2 -0
  469. package/samples/apps/ui-walkthrough/src/app/seed-rental.ts +17 -1
  470. package/samples/apps/ui-walkthrough/src/app/seed-templates.ts +11 -0
  471. package/samples/apps/ui-walkthrough/src/app/server.ts +2 -1
  472. package/samples/apps/ui-walkthrough/src/features/billing/feature.ts +35 -7
  473. package/samples/apps/ui-walkthrough/src/features/billing/i18n.ts +6 -0
  474. package/samples/apps/ui-walkthrough/src/features/rental/entities.ts +27 -0
  475. package/samples/apps/ui-walkthrough/src/features/rental/feature.ts +61 -7
  476. package/samples/apps/ui-walkthrough/src/features/rental/i18n.ts +48 -24
  477. package/samples/apps/ui-walkthrough/src/features/rental/invoice-receive.ts +0 -1
  478. package/samples/apps/ui-walkthrough/src/features/rental/lease-support.ts +17 -1
  479. package/samples/apps/ui-walkthrough/src/features/rental/qualified-names.ts +3 -0
  480. package/samples/apps/ui-walkthrough/src/features/rental/receipts-upload.ts +70 -0
  481. package/samples/apps/ui-walkthrough/src/features/rental/screens.ts +90 -13
  482. package/samples/apps/ui-walkthrough/src/features/rental/web/index.ts +0 -2
  483. package/samples/apps/ui-walkthrough/src/features/subscription-plans/feature.ts +103 -0
  484. package/samples/apps/ui-walkthrough/src/features/subscription-plans/i18n.ts +36 -0
  485. package/samples/apps/ui-walkthrough/src/features/subscription-plans/index.ts +2 -0
  486. package/samples/apps/ui-walkthrough/src/features/subscription-plans/seed.ts +21 -0
  487. package/samples/apps/ui-walkthrough/src/run-config.ts +11 -0
  488. package/samples/apps/use-all-bundled/e2e-billing-gallery/server.ts +1 -1
  489. package/samples/apps/use-all-bundled/feature-manifest.json +4 -4
  490. package/samples/apps/use-all-bundled/scripts/check-coverage.ts +1 -1
  491. package/samples/apps/use-all-bundled/src/app/dev-app-options.ts +3 -1
  492. package/samples/recipes/compose-stacks/README.md +1 -2
  493. package/samples/recipes/embedded/README.md +5 -5
  494. package/samples/recipes/embedded/src/handlers/invoice-receive.write.ts +0 -1
  495. package/samples/recipes/embedded/src/screens/invoice-receive.screen.ts +9 -12
  496. package/samples/recipes/legal-pages/README.md +2 -2
  497. package/samples/recipes/legal-pages/src/feature.ts +1 -1
  498. package/samples/recipes/reference-data/src/feature.ts +3 -7
  499. package/packages/bundled-features/src/admin-shell/i18n.ts +0 -54
  500. package/packages/bundled-features/src/audit/i18n.ts +0 -25
  501. package/packages/bundled-features/src/auth-mfa/web/qrcode-browser.d.ts +0 -11
  502. package/packages/bundled-features/src/jobs/i18n.ts +0 -55
  503. package/packages/bundled-features/src/managed-pages/i18n.ts +0 -63
  504. package/packages/bundled-features/src/presets/dsgvo-self-service.ts +0 -35
  505. package/packages/bundled-features/src/user-data-rights/i18n.ts +0 -44
  506. package/samples/apps/ui-walkthrough/src/features/rental/web/upload-standard-layout.tsx +0 -61
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  export {
3
2
  type ComplianceProfilesClientOptions,
4
3
  complianceProfilesClient,
@@ -4,12 +4,6 @@ import type { Registry } from "@cosmicdrift/kumiko-framework/engine";
4
4
  import type { EnvelopeCipher } from "@cosmicdrift/kumiko-framework/secrets";
5
5
  import { configValueEntity, configValuesTable } from "./table.ts";
6
6
 
7
- export {
8
- CONFIG_FEATURE,
9
- ConfigErrors,
10
- ConfigHandlers,
11
- ConfigQueries,
12
- } from "./constants.ts";
13
7
  export type { ConfigContext } from "./feature.ts";
14
8
  export {
15
9
  createConfigAccessor,
@@ -24,6 +18,12 @@ export {
24
18
  export type { AppConfigOverrides, ConfigResolver } from "./resolver.ts";
25
19
  export { buildEnvConfigOverrides, createConfigResolver, validateAppOverrides } from "./resolver.ts";
26
20
  export { configValueEntity, configValuesTable } from "./table.ts";
21
+ export {
22
+ CONFIG_FEATURE,
23
+ ConfigErrors,
24
+ ConfigHandlers,
25
+ ConfigQueries,
26
+ } from "./web/constants.ts";
27
27
 
28
28
  // Boot helper for runDevApp / runProdApp: pulls every ConfigSeedDef from
29
29
  // the registry and writes the matching system/tenant/user rows via the
@@ -1,6 +1,5 @@
1
- // @runtime client
2
1
  import { mergeTranslations, type TranslationsByLocale } from "@cosmicdrift/kumiko-renderer";
3
- import { CONFIG_FEATURE } from "../constants.ts";
2
+ import { CONFIG_FEATURE } from "./constants.ts";
4
3
  import { defaultTranslations } from "./i18n.ts";
5
4
 
6
5
  export type ConfigClientOptions = {
@@ -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" as const;
@@ -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,9 +1,7 @@
1
- // @runtime client
2
-
3
- export { ConfigQueries } from "../constants.ts";
4
1
  export {
5
2
  type ConfigClientFeature,
6
3
  type ConfigClientOptions,
7
4
  configClient,
8
5
  } from "./client-plugin.ts";
6
+ export { ConfigQueries } from "./constants.ts";
9
7
  export { defaultTranslations } from "./i18n.ts";
@@ -30,9 +30,9 @@ import {
30
30
  } from "@cosmicdrift/kumiko-framework/errors";
31
31
  import type { EnvelopeCipher } from "@cosmicdrift/kumiko-framework/secrets";
32
32
  import { assertUnreachable } from "@cosmicdrift/kumiko-framework/utils";
33
- import { ConfigErrors } from "./constants.ts";
34
33
  import { decryptStoredValue } from "./resolver.ts";
35
34
  import { configValuesTable } from "./table.ts";
35
+ import { ConfigErrors } from "./web/constants.ts";
36
36
 
37
37
  export type ConfigRowLookup = {
38
38
  readonly id: string;
@@ -53,14 +53,6 @@ import {
53
53
  type WriteHandlerDef,
54
54
  } from "@cosmicdrift/kumiko-framework/engine";
55
55
  import * as z from "zod";
56
- import {
57
- CUSTOM_FIELD_CLEARED_EVENT,
58
- CUSTOM_FIELD_SET_EVENT,
59
- CUSTOM_FIELDS_EXTENSION,
60
- CUSTOM_FIELDS_FEATURE_NAME,
61
- DEFAULT_FIELD_DEFINITION_LIST_ROLES,
62
- FIELD_DEFINITION_DELETED_EVENT,
63
- } from "./constants.ts";
64
56
  import { fieldDefinitionEntity } from "./entity.ts";
65
57
  import { customFieldClearedSchema, customFieldSetSchema } from "./events.ts";
66
58
  import {
@@ -85,6 +77,14 @@ import {
85
77
  createUpdateTenantFieldHandler,
86
78
  updateTenantFieldHandler,
87
79
  } from "./handlers/update-tenant-field.write.ts";
80
+ import {
81
+ CUSTOM_FIELD_CLEARED_EVENT,
82
+ CUSTOM_FIELD_SET_EVENT,
83
+ CUSTOM_FIELDS_EXTENSION,
84
+ CUSTOM_FIELDS_FEATURE_NAME,
85
+ DEFAULT_FIELD_DEFINITION_LIST_ROLES,
86
+ FIELD_DEFINITION_DELETED_EVENT,
87
+ } from "./web/constants.ts";
88
88
 
89
89
  const fieldDefinitionDeletedSchema = z.object({
90
90
  entityName: z.string(),
@@ -1,9 +1,9 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import * as z from "zod";
4
- import { DEFAULT_VALUE_WRITE_ROLES } from "../constants.ts";
5
4
  import { createCustomFieldsFeature } from "../feature.ts";
6
5
  import { checkFieldAccessForWrite } from "../lib/field-access.ts";
6
+ import { DEFAULT_VALUE_WRITE_ROLES } from "../web/constants.ts";
7
7
 
8
8
  export const clearCustomFieldPayloadSchema = z.object({
9
9
  entityName: z.string().min(1).max(64),
@@ -1,11 +1,11 @@
1
1
  import { isSystemTenant, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.ts";
4
- import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../constants.ts";
5
4
  import { defineOrResurrectFieldDefinition } from "../lib/define-or-resurrect.ts";
6
5
  import { buildFieldDefinitionColumns } from "../lib/field-definition-row.ts";
7
6
  import { countTenantFieldDefinitions } from "../lib/quota.ts";
8
7
  import { type DefineFieldPayload, defineFieldPayloadSchema } from "../schemas.ts";
8
+ import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../web/constants.ts";
9
9
 
10
10
  // define-tenant-field — TenantAdmin definiert eine Custom-Field-Definition
11
11
  // für seinen eigenen Tenant. tenantId wird automatisch aus event.user.tenantId
@@ -1,10 +1,10 @@
1
1
  import { SYSTEM_TENANT_ID, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { requireForTenant } from "../../shared/index.ts";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.ts";
4
- import { FIELD_DEFINITION_AGGREGATE_TYPE } from "../constants.ts";
5
4
  import { fieldDefinitionExecutor } from "../executor.ts";
6
5
  import { createCustomFieldsFeature } from "../feature.ts";
7
6
  import { type DeleteFieldPayload, deleteFieldPayloadSchema } from "../schemas.ts";
7
+ import { FIELD_DEFINITION_AGGREGATE_TYPE } from "../web/constants.ts";
8
8
 
9
9
  // delete-system-field — SystemAdmin entfernt eine system-weite Field-
10
10
  // Definition. Konsequenz: KEIN Tenant kann mehr neue Werte dafür setzen,
@@ -1,12 +1,12 @@
1
1
  import { isSystemTenant, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { fieldDefinitionAggregateId } from "../aggregate-id.ts";
3
- import {
4
- DEFAULT_FIELD_DEFINITION_WRITE_ROLES,
5
- FIELD_DEFINITION_AGGREGATE_TYPE,
6
- } from "../constants.ts";
7
3
  import { fieldDefinitionExecutor } from "../executor.ts";
8
4
  import { createCustomFieldsFeature } from "../feature.ts";
9
5
  import { type DeleteFieldPayload, deleteFieldPayloadSchema } from "../schemas.ts";
6
+ import {
7
+ DEFAULT_FIELD_DEFINITION_WRITE_ROLES,
8
+ FIELD_DEFINITION_AGGREGATE_TYPE,
9
+ } from "../web/constants.ts";
10
10
 
11
11
  // delete-tenant-field — TenantAdmin löscht eigene Field-Definition.
12
12
  // Spec-Promise (Plan-Doc v2 "wie Entity-Delete"): Events bleiben im event-
@@ -1,10 +1,10 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import * as z from "zod";
4
- import { DEFAULT_VALUE_WRITE_ROLES } from "../constants.ts";
5
4
  import { createCustomFieldsFeature } from "../feature.ts";
6
5
  import { fieldWriteAccessDeniedRoles, loadFieldDefinition } from "../lib/field-access.ts";
7
6
  import { buildCustomFieldValueSchema } from "../lib/value-schema.ts";
7
+ import { DEFAULT_VALUE_WRITE_ROLES } from "../web/constants.ts";
8
8
 
9
9
  export const setCustomFieldPayloadSchema = z.object({
10
10
  entityName: z.string().min(1).max(64),
@@ -1,10 +1,10 @@
1
1
  import { isSystemTenant, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { failNotFound, failUnprocessable } from "@cosmicdrift/kumiko-framework/errors";
3
3
  import { fieldDefinitionAggregateId } from "../aggregate-id.ts";
4
- import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../constants.ts";
5
4
  import { fieldDefinitionExecutor } from "../executor.ts";
6
5
  import { buildFieldDefinitionColumns } from "../lib/field-definition-row.ts";
7
6
  import { fieldTypeSchema, type UpdateFieldPayload, updateFieldPayloadSchema } from "../schemas.ts";
7
+ import { DEFAULT_FIELD_DEFINITION_WRITE_ROLES } from "../web/constants.ts";
8
8
 
9
9
  // update-tenant-field: a TenantAdmin replaces the state of an existing field
10
10
  // definition (full replacement: payload shape = define except that
@@ -1,12 +1,4 @@
1
1
  export { fieldDefinitionAggregateId } from "./aggregate-id.ts";
2
- export {
3
- CUSTOM_FIELDS_EXTENSION,
4
- CUSTOM_FIELDS_FEATURE_NAME,
5
- FIELD_DEFINITION_CREATED_EVENT,
6
- FIELD_DEFINITION_UPDATED_EVENT,
7
- SUPPORTED_FIELD_TYPES,
8
- type SupportedFieldType,
9
- } from "./constants.ts";
10
2
  export { fieldDefinitionEntity } from "./entity.ts";
11
3
  export {
12
4
  type CustomFieldClearedPayload,
@@ -36,4 +28,12 @@ export {
36
28
  defineFieldPayloadSchema,
37
29
  deleteFieldPayloadSchema,
38
30
  } from "./schemas.ts";
31
+ export {
32
+ CUSTOM_FIELDS_EXTENSION,
33
+ CUSTOM_FIELDS_FEATURE_NAME,
34
+ FIELD_DEFINITION_CREATED_EVENT,
35
+ FIELD_DEFINITION_UPDATED_EVENT,
36
+ SUPPORTED_FIELD_TYPES,
37
+ type SupportedFieldType,
38
+ } from "./web/constants.ts";
39
39
  export { customFieldsField, wireCustomFieldsFor } from "./wire-for-entity.ts";
@@ -5,7 +5,7 @@ import {
5
5
  } from "@cosmicdrift/kumiko-framework/engine";
6
6
  import { isPlainObject } from "@cosmicdrift/kumiko-types/type-guards";
7
7
  import type * as z from "zod";
8
- import { SUPPORTED_FIELD_TYPES } from "../constants.ts";
8
+ import { SUPPORTED_FIELD_TYPES } from "../web/constants.ts";
9
9
 
10
10
  // Builds a Zod schema that validates a custom-field VALUE against its
11
11
  // fieldDefinition. Reuses the framework's `fieldToZod` (Builder-Reuse /
@@ -1,5 +1,5 @@
1
1
  import * as z from "zod";
2
- import { SUPPORTED_FIELD_TYPES } from "./constants.ts";
2
+ import { SUPPORTED_FIELD_TYPES } from "./web/constants.ts";
3
3
 
4
4
  // Field-Type-Validator — pinnt valid type-Werte für fieldDefinition.
5
5
  export const fieldTypeSchema = z.enum(SUPPORTED_FIELD_TYPES);
@@ -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
@@ -12,7 +11,7 @@
12
11
  // ]}
13
12
 
14
13
  import type { ClientFeatureDefinition } from "@cosmicdrift/kumiko-renderer/web";
15
- import { CUSTOM_FIELDS_FEATURE_NAME, CUSTOM_FIELDS_FORM_EXTENSION_NAME } from "../constants.ts";
14
+ import { CUSTOM_FIELDS_FEATURE_NAME, CUSTOM_FIELDS_FORM_EXTENSION_NAME } from "./constants.ts";
16
15
  import { CustomFieldsFormSection } from "./custom-fields-form-section.tsx";
17
16
  import { defaultTranslations } from "./i18n.ts";
18
17
 
@@ -1,4 +1,3 @@
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
@@ -6,10 +5,10 @@
6
5
 
7
6
  export const CUSTOM_FIELDS_FEATURE_NAME = "custom-fields";
8
7
 
9
- // Qualified handler names (QN format: scope:type:name). Mirror text-
10
- // content's Handler/Queries object pattern — Clients (z.B. die
11
- // CustomFieldsFormSection web-component) referenzieren über das Object
12
- // statt magic-strings.
8
+ // Qualified handler names (QN format: scope:type:name). Mirrors text-
9
+ // content's Handler/Queries object pattern: clients (e.g. the
10
+ // CustomFieldsFormSection web component) reference the object instead of
11
+ // magic strings.
13
12
  export const CustomFieldsHandlers = {
14
13
  defineTenantField: "custom-fields:write:define-tenant-field",
15
14
  defineSystemField: "custom-fields:write:define-system-field",
@@ -37,24 +36,24 @@ export const FIELD_DEFINITION_UPDATED_EVENT = "field-definition.updated";
37
36
  // (no dots): qualifyEntityName runs toKebab which collapses dots to dashes.
38
37
  export const FIELD_DEFINITION_DELETED_EVENT = "field-definition-deleted";
39
38
 
40
- // Custom-field-VALUE events. Live auf host-aggregate stream (ES-Option-B).
41
- // Short-names werden via r.defineEvent qualified zu `custom-fields:event:
39
+ // Custom-field VALUE events. They live on the host aggregate stream (ES option B).
40
+ // Short names are qualified via r.defineEvent to `custom-fields:event:
42
41
  // custom-field-set` etc. (qualifyEntityName runs toKebab which collapses dots
43
- // to dashes — so the short-name MUST already be in dash form, otherwise
42
+ // to dashes, so the short name MUST already be in dash form, otherwise
44
43
  // handler-built strings won't match the registry key).
45
44
  export const CUSTOM_FIELD_SET_EVENT = "custom-field-set";
46
45
  export const CUSTOM_FIELD_CLEARED_EVENT = "custom-field-cleared";
47
46
 
48
- // Extension-name für r.useExtension("customFields", "<entity>") — registriert
49
- // dass eine host-entity Custom-Fields haben darf.
47
+ // Extension name for r.useExtension("customFields", "<entity>"): registers
48
+ // that a host entity may have custom fields.
50
49
  export const CUSTOM_FIELDS_EXTENSION = "customFields";
51
50
 
52
- // Default-RBAC der Value-Write- und List-Pfade. Apps mit eigenem Rollen-
53
- // Vokabular (publicstatus: "Admin"/"Editor" statt "TenantAdmin"/
54
- // "TenantMember") überschreiben via createCustomFieldsFeature({
55
- // valueWriteRoles, fieldDefinitionListRoles }) — sonst sind die hart
56
- // verdrahteten Bundle-QNs, die die CustomFieldsFormSection dispatcht,
57
- // für jeden App-User access_denied.
51
+ // Default RBAC of the value-write and list paths. Apps with their own role
52
+ // vocabulary (publicstatus: "Admin"/"Editor" instead of "TenantAdmin"/
53
+ // "TenantMember") override via createCustomFieldsFeature({
54
+ // valueWriteRoles, fieldDefinitionListRoles }); otherwise the hard-wired
55
+ // bundle QNs that CustomFieldsFormSection dispatches are access_denied for
56
+ // every app user.
58
57
  export const DEFAULT_VALUE_WRITE_ROLES = ["TenantAdmin", "TenantMember"] as const;
59
58
  export const DEFAULT_FIELD_DEFINITION_LIST_ROLES = ["TenantAdmin"] as const;
60
59
  // Default-RBAC of the definition-CRUD triad (define-/update-/delete-tenant-field,
@@ -64,9 +63,9 @@ export const DEFAULT_FIELD_DEFINITION_LIST_ROLES = ["TenantAdmin"] as const;
64
63
  // "TenantAdmin" role (same Role-Naming-Drift as DEFAULT_VALUE_WRITE_ROLES above).
65
64
  export const DEFAULT_FIELD_DEFINITION_WRITE_ROLES = ["TenantAdmin"] as const;
66
65
 
67
- // Field-type union — identisch zu Stammfeld-Field-Type-System (Spec Z.59-73:
68
- // `Identisch zu Entity-Feld-Typen`). Builder-Reuse-Promise: was `r.field.X()`
69
- // kann, kann eine Custom-Field-Definition auch.
66
+ // Field-type union, identical to the core field type system (spec lines 59-73:
67
+ // `identical to entity field types`). Builder-reuse promise: whatever
68
+ // `r.field.X()` can do, a custom field definition can do too.
70
69
  export const SUPPORTED_FIELD_TYPES = [
71
70
  "text",
72
71
  "number",
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // CustomFieldsFormSection — extension-section component für entityEdit-
3
2
  // Screens. Lädt die fieldDefinition-Liste des Tenants, filtert auf die
4
3
  // host-Entity, rendert pro Definition einen typed Input, dispatched
@@ -19,7 +18,7 @@ import {
19
18
  useTranslation,
20
19
  } from "@cosmicdrift/kumiko-renderer";
21
20
  import { type ReactNode, useState } from "react";
22
- import { CustomFieldsHandlers, CustomFieldsQueries } from "../constants.ts";
21
+ import { CustomFieldsHandlers, CustomFieldsQueries } from "./constants.ts";
23
22
 
24
23
  type FieldDefinitionRow = {
25
24
  readonly id: string;
@@ -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,8 +1,7 @@
1
- // @runtime client
1
+ export { customFieldsClient } from "./client-plugin.tsx";
2
2
  export {
3
3
  CUSTOM_FIELDS_FORM_EXTENSION_NAME,
4
4
  CustomFieldsHandlers,
5
5
  CustomFieldsQueries,
6
- } from "../constants.ts";
7
- export { customFieldsClient } from "./client-plugin.tsx";
6
+ } from "./constants.ts";
8
7
  export { CustomFieldsFormSection } from "./custom-fields-form-section.tsx";
@@ -7,16 +7,15 @@ import {
7
7
  type TenantId,
8
8
  } from "@cosmicdrift/kumiko-framework/engine";
9
9
  import type { StoredEvent } from "@cosmicdrift/kumiko-framework/event-store";
10
- import { CUSTOM_FIELDS_EXTENSION, FIELD_DEFINITION_AGGREGATE_TYPE } from "./constants.ts";
11
10
  import {
12
11
  clearCustomFieldKey,
13
12
  removeCustomFieldKeyForTenant,
14
13
  removeCustomFieldKeyFromAllTenants,
15
14
  setCustomFieldValue,
16
15
  } from "./db/queries/projection.ts";
17
-
18
16
  import type { CustomFieldClearedPayload, CustomFieldSetPayload } from "./events.ts";
19
17
  import { createCustomFieldsFeature } from "./feature.ts";
18
+ import { CUSTOM_FIELDS_EXTENSION, FIELD_DEFINITION_AGGREGATE_TYPE } from "./web/constants.ts";
20
19
 
21
20
  // Helper für entity-definitions — fügt eine `customFields jsonb`-Spalte
22
21
  // hinzu. Consumer:
@@ -7,8 +7,8 @@ import {
7
7
  import type { SessionUser, TenantId, WriteResult } from "@cosmicdrift/kumiko-framework/engine";
8
8
  import { ConflictError, writeFailure } from "@cosmicdrift/kumiko-framework/errors";
9
9
  import { generateDeterministicId } from "@cosmicdrift/kumiko-framework/utils";
10
- import { DeliveryErrors } from "./public-names.ts";
11
10
  import { notificationAddressOptOutEntity, notificationAddressOptOutsTable } from "./tables.ts";
11
+ import { DeliveryErrors } from "./web/public-names.ts";
12
12
 
13
13
  const executor = createEventStoreExecutor(
14
14
  notificationAddressOptOutsTable,
@@ -1,5 +1,6 @@
1
1
  import type { DbConnection } from "@cosmicdrift/kumiko-framework/db";
2
- import { deleteManyBatched } from "@cosmicdrift/kumiko-framework/db";
2
+ import { selectMany } from "@cosmicdrift/kumiko-framework/db";
3
+ import { deleteRowsWithoutReplayableStream } from "@cosmicdrift/kumiko-framework/event-store";
3
4
  import { type PruneEventsOptions, pruneEvents } from "@cosmicdrift/kumiko-framework/pipeline";
4
5
  import { deliveryAttemptsTable } from "./tables.ts";
5
6
 
@@ -30,11 +31,26 @@ export async function runAttemptLogRetention(
30
31
  options: AttemptLogRetentionOptions,
31
32
  ): Promise<{ readonly deletedEvents: number; readonly deletedRows: number }> {
32
33
  const pruned = await pruneEvents(db, { ...options, aggregateTypes: ["deliveryAttempt"] });
33
- const rows = await deleteManyBatched(
34
- db,
35
- deliveryAttemptsTable,
36
- { createdAt: { lt: pruned.cutoff } },
37
- { limit: ROW_DELETE_BATCH_SIZE },
38
- );
39
- return { deletedEvents: pruned.deletedCount, deletedRows: rows.deleted };
34
+ let deletedRows = 0;
35
+ let afterId: string | undefined;
36
+ for (;;) {
37
+ const page = await selectMany<{ id: string }>(
38
+ db,
39
+ deliveryAttemptsTable,
40
+ {
41
+ createdAt: { lt: pruned.cutoff },
42
+ ...(afterId === undefined ? {} : { id: { gt: afterId } }),
43
+ },
44
+ { fields: ["id"], orderBy: { col: "id", direction: "asc" }, limit: ROW_DELETE_BATCH_SIZE },
45
+ );
46
+ if (page.length === 0) break;
47
+ const deleted = await deleteRowsWithoutReplayableStream(db, {
48
+ table: deliveryAttemptsTable,
49
+ ids: page.map((row) => row.id),
50
+ });
51
+ deletedRows += deleted.length;
52
+ if (page.length < ROW_DELETE_BATCH_SIZE) break;
53
+ afterId = page[page.length - 1]?.id;
54
+ }
55
+ return { deletedEvents: pruned.deletedCount, deletedRows };
40
56
  }
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": "0.379.0",
4
+ "type": "improvement",
5
+ "title": "Package ships its event-store table catalog",
6
+ "detail": "kumiko-es-tables.json is included in the published files; no runtime change."
7
+ },
2
8
  {
3
9
  "version": "0.372.0",
4
10
  "type": "breaking",
@@ -1,6 +1,6 @@
1
1
  import type { NotifyPriority } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import { QnTypes, qn } from "@cosmicdrift/kumiko-framework/engine";
3
- import { DELIVERY_FEATURE, DeliveryJobNames } from "./public-names.ts";
3
+ import { DELIVERY_FEATURE, DeliveryJobNames } from "./web/public-names.ts";
4
4
 
5
5
  // Extension-point name for delivery-channel plugins (channel-email,
6
6
  // channel-in-app, channel-push, ...).
@@ -26,7 +26,7 @@ export {
26
26
  DeliveryQueries,
27
27
  DeliveryStatus,
28
28
  type DeliveryStatusValue,
29
- } from "./public-names.ts";
29
+ } from "./web/public-names.ts";
30
30
 
31
31
  // Single source for claim (delivery-service) and terminal-failure release (jobs).
32
32
  export function deliveryIdempotencyRedisKey(tenantId: string, key: string): string {
@@ -4,7 +4,7 @@ import {
4
4
  type DeliveryFailureCode,
5
5
  type DeliverySkipReason,
6
6
  } from "@cosmicdrift/kumiko-framework/engine";
7
- import { DeliveryStatus, type DeliveryStatusValue } from "./public-names.ts";
7
+ import { DeliveryStatus, type DeliveryStatusValue } from "./web/public-names.ts";
8
8
 
9
9
  type LocalizedString = { readonly en: string };
10
10
 
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { mailT } from "@cosmicdrift/kumiko-framework/i18n";
3
3
  import { escapeHtml, escapeHtmlAttr } from "@cosmicdrift/kumiko-renderer/headless";
4
4
  import type { MailChrome, MailChromeLink } from "../renderer-foundation/index.ts";
5
- import { DELIVERY_RESUBSCRIBE_PATH, DELIVERY_UNSUBSCRIBE_PATH } from "./public-names.ts";
5
+ import { DELIVERY_RESUBSCRIBE_PATH, DELIVERY_UNSUBSCRIBE_PATH } from "./web/public-names.ts";
6
6
  import "./unsubscribe-page-strings.ts";
7
7
 
8
8
  export type UnsubscribePageState =
@@ -1,6 +1,10 @@
1
- // @runtime client
2
1
  import type { TranslationsByLocale } from "@cosmicdrift/kumiko-renderer";
3
2
  import type { ClientFeatureDefinition } from "@cosmicdrift/kumiko-renderer/web";
3
+ import { DeliveryChannelCell } from "./delivery-channel-cell.tsx";
4
+ import { DeliveryErrorCell } from "./delivery-error-cell.tsx";
5
+ import { DeliveryStatusCell } from "./delivery-status-cell.tsx";
6
+ import { DeliveryTimeCell } from "./delivery-time-cell.tsx";
7
+ import { DeliveryTypeCell } from "./delivery-type-cell.tsx";
4
8
  import {
5
9
  DELIVERY_CHANNEL_CELL_COMPONENT,
6
10
  DELIVERY_ERROR_CELL_COMPONENT,
@@ -8,12 +12,7 @@ import {
8
12
  DELIVERY_STATUS_CELL_COMPONENT,
9
13
  DELIVERY_TIME_CELL_COMPONENT,
10
14
  DELIVERY_TYPE_CELL_COMPONENT,
11
- } from "../public-names.ts";
12
- import { DeliveryChannelCell } from "./delivery-channel-cell.tsx";
13
- import { DeliveryErrorCell } from "./delivery-error-cell.tsx";
14
- import { DeliveryStatusCell } from "./delivery-status-cell.tsx";
15
- import { DeliveryTimeCell } from "./delivery-time-cell.tsx";
16
- import { DeliveryTypeCell } from "./delivery-type-cell.tsx";
15
+ } from "./public-names.ts";
17
16
 
18
17
  export type DeliveryClientOptions = {
19
18
  readonly translations?: TranslationsByLocale;
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Channel column: the label comes from `delivery.channel.<name>`, registered by each
3
2
  // channel feature; unknown channels show their raw name.
4
3
 
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Error column. The log only carries fixed codes (`DeliveryErrorCode`); `http_<status>`
3
2
  // takes the status as a parameter, anything unknown shows as the raw value.
4
3
 
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Column-renderer for the delivery-log screen's status column, registered
3
2
  // via `deliveryClient()`'s `columnRenderers` map (screen.columns[].renderer
4
3
  // in feature.ts). The list frame itself is the generic declarative
@@ -8,7 +7,7 @@ import { type ColumnRendererProps, useTranslation } from "@cosmicdrift/kumiko-re
8
7
  import { StatusBadge, type StatusTone } from "@cosmicdrift/kumiko-renderer/web";
9
8
  import type { ReactNode } from "react";
10
9
  import { translateOrRaw } from "../../shared/web/translate-or-raw.ts";
11
- import { DeliveryStatus } from "../public-names.ts";
10
+ import { DeliveryStatus } from "./public-names.ts";
12
11
 
13
12
  const STATUS_TONE: Readonly<Record<string, StatusTone>> = {
14
13
  [DeliveryStatus.sent]: "ok",
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  import { type ColumnRendererProps, formatWhen } from "@cosmicdrift/kumiko-renderer";
3
2
  import type { ReactNode } from "react";
4
3
 
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // Notification type column. Types are QNs like `<scope>:notify:<name>`; the
3
2
  // translation key is `<scope>.notification.<name>`, registered by the app that
4
3
  // owns the notification (bundled features register none). Falls back to the short
@@ -1,3 +1,2 @@
1
- // @runtime client
2
1
  export { type DeliveryClientOptions, deliveryClient } from "./client-plugin.tsx";
3
2
  export { DeliveryStatusCell } from "./delivery-status-cell.tsx";
@@ -1,4 +1,3 @@
1
- // @runtime client
2
1
  // String-only delivery QNs and screen ids — safe for client bundles.
3
2
 
4
3
  export const DELIVERY_FEATURE = "delivery" as const;
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": "0.379.0",
4
+ "type": "fix",
5
+ "title": "documentExtract projection survives a rebuild",
6
+ "detail": "DOCUMENT_EXTRACT_AGGREGATE_TYPE is exported, and the documentExtract entity projection applies the stored document-extract.* events, so rebuildProjection restores the rows. No event is rewritten."
7
+ },
2
8
  {
3
9
  "version": "0.370.0",
4
10
  "type": "breaking",
@@ -8,6 +8,10 @@ import * as z from "zod";
8
8
  // worker job (kumiko-enterprise LiteParse provider) subscribes to.
9
9
  export const DOCUMENT_INGEST_AGGREGATE_TYPE = "document-ingest";
10
10
 
11
+ // Stream name of stored extract events; differs from the camelCase r.entity name
12
+ // "documentExtract", so the projection replays this stream through an extension.
13
+ export const DOCUMENT_EXTRACT_AGGREGATE_TYPE = "document-extract";
14
+
11
15
  export const DOCUMENT_INGEST_REQUESTED_EVENT_SHORT = "documentIngest.requested" as const;
12
16
 
13
17
  // Qualified name — what ctx.unsafeAppendEvent's `type` actually needs
@@ -4,9 +4,10 @@
4
4
 
5
5
  import { createEventStoreExecutor } from "@cosmicdrift/kumiko-framework/db";
6
6
  import { documentExtractEntity, documentExtractsTable } from "./entity.ts";
7
+ import { DOCUMENT_EXTRACT_AGGREGATE_TYPE } from "./events.ts";
7
8
 
8
9
  export const documentExtractExecutor = createEventStoreExecutor(
9
10
  documentExtractsTable,
10
11
  documentExtractEntity,
11
- { entityName: "document-extract" },
12
+ { entityName: DOCUMENT_EXTRACT_AGGREGATE_TYPE },
12
13
  );