@cosmicdrift/kumiko-bundled-features 0.369.0 → 0.370.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 (606) hide show
  1. package/dist/account-security/constants.d.ts +4 -0
  2. package/dist/account-security/constants.js +5 -0
  3. package/dist/account-security/feature.d.ts +14 -0
  4. package/dist/account-security/feature.js +62 -0
  5. package/dist/account-security/i18n.d.ts +6 -0
  6. package/dist/account-security/i18n.js +6 -0
  7. package/dist/account-security/index.d.ts +3 -0
  8. package/dist/account-security/index.js +3 -0
  9. package/dist/admin-shell/feature.d.ts +1 -1
  10. package/dist/admin-shell/index.d.ts +4 -4
  11. package/dist/admin-shell/overview-panels.d.ts +1 -1
  12. package/dist/admin-shell/web/index.d.ts +1 -1
  13. package/dist/agent-tools/agent-manifest.d.ts +1 -1
  14. package/dist/agent-tools/index.d.ts +8 -8
  15. package/dist/agent-tools/manifest-deny-qns.d.ts +1 -1
  16. package/dist/agent-tools/tool-catalog.d.ts +1 -1
  17. package/dist/agent-tools/tool-dispatch.d.ts +1 -1
  18. package/dist/audit/handlers/resolve-audit-tenant.d.ts +1 -1
  19. package/dist/audit/index.d.ts +3 -3
  20. package/dist/audit/web/index.d.ts +1 -1
  21. package/dist/auth-email-password/bootstrap.d.ts +1 -1
  22. package/dist/auth-email-password/feature.d.ts +7 -6
  23. package/dist/auth-email-password/feature.js +3 -1
  24. package/dist/auth-email-password/handlers/confirm-token-flow.d.ts +1 -1
  25. package/dist/auth-email-password/handlers/invite-accept-with-login.write.d.ts +1 -1
  26. package/dist/auth-email-password/handlers/invite-create.write.d.ts +2 -2
  27. package/dist/auth-email-password/handlers/invite-signup-complete.write.d.ts +1 -1
  28. package/dist/auth-email-password/handlers/login.write.d.ts +1 -1
  29. package/dist/auth-email-password/handlers/request-account-unlock.write.d.ts +1 -1
  30. package/dist/auth-email-password/handlers/request-email-verification.write.d.ts +1 -1
  31. package/dist/auth-email-password/handlers/request-password-reset.write.d.ts +1 -1
  32. package/dist/auth-email-password/handlers/signup-confirm.write.d.ts +1 -1
  33. package/dist/auth-email-password/handlers/signup-request.write.d.ts +1 -1
  34. package/dist/auth-email-password/handlers/switch-tenant-mfa-gate.write.d.ts +1 -1
  35. package/dist/auth-email-password/handlers/token-request-handler.d.ts +2 -2
  36. package/dist/auth-email-password/index.d.ts +13 -13
  37. package/dist/auth-email-password/lockout-store.d.ts +1 -1
  38. package/dist/auth-email-password/magic-link-mail.d.ts +1 -1
  39. package/dist/auth-email-password/seeding.d.ts +3 -3
  40. package/dist/auth-email-password/signed-token.d.ts +1 -1
  41. package/dist/auth-email-password/signup-token-store.d.ts +1 -1
  42. package/dist/auth-email-password/testing.d.ts +1 -1
  43. package/dist/auth-email-password/web/auth-gate.d.ts +1 -1
  44. package/dist/auth-email-password/web/client-plugin.d.ts +2 -2
  45. package/dist/auth-email-password/web/index.d.ts +42 -42
  46. package/dist/auth-email-password/web/session-bootstrap-error.d.ts +1 -1
  47. package/dist/auth-email-password/web/session.d.ts +1 -1
  48. package/dist/auth-email-password/web/signup-complete-screen.d.ts +1 -1
  49. package/dist/auth-foundation/feature.d.ts +2 -6
  50. package/dist/auth-foundation/feature.js +0 -2
  51. package/dist/auth-foundation/index.d.ts +3 -3
  52. package/dist/auth-foundation/index.js +1 -1
  53. package/dist/auth-foundation/resolve-anonymous-access.d.ts +1 -1
  54. package/dist/auth-mfa/env.d.ts +13 -0
  55. package/dist/auth-mfa/env.js +24 -0
  56. package/dist/auth-mfa/errors.d.ts +1 -1
  57. package/dist/auth-mfa/feature-exports.d.ts +12 -0
  58. package/dist/auth-mfa/feature-exports.js +72 -0
  59. package/dist/auth-mfa/feature.d.ts +6 -12
  60. package/dist/auth-mfa/feature.js +53 -70
  61. package/dist/auth-mfa/handlers/reencrypt.job.d.ts +1 -1
  62. package/dist/auth-mfa/index.d.ts +12 -9
  63. package/dist/auth-mfa/index.js +4 -2
  64. package/dist/auth-mfa/mfa-challenge-token.d.ts +1 -1
  65. package/dist/auth-mfa/mfa-preauth-setup-token.d.ts +1 -1
  66. package/dist/auth-mfa/mfa-status-checker.d.ts +1 -1
  67. package/dist/auth-mfa/mfa-verify-attempts.d.ts +1 -1
  68. package/dist/auth-mfa/testing.d.ts +1 -1
  69. package/dist/auth-mfa/token-secrets.d.ts +7 -0
  70. package/dist/auth-mfa/token-secrets.js +13 -0
  71. package/dist/auth-mfa/verify-factor.d.ts +1 -1
  72. package/dist/auth-mfa/web/index.d.ts +15 -15
  73. package/dist/auth-mfa/web/mfa-client.d.ts +1 -1
  74. package/dist/auth-mfa-user-data/index.d.ts +0 -4
  75. package/dist/auth-mfa-user-data/index.js +0 -2
  76. package/dist/billing-foundation/checkout-core.d.ts +2 -2
  77. package/dist/billing-foundation/consumer-protection/confirmation-mail.d.ts +2 -2
  78. package/dist/billing-foundation/consumer-protection/consent-gate.d.ts +1 -1
  79. package/dist/billing-foundation/consumer-protection/consent-text.d.ts +2 -2
  80. package/dist/billing-foundation/consumer-protection/issue-confirmation.d.ts +1 -1
  81. package/dist/billing-foundation/consumer-protection/register-consent.d.ts +1 -1
  82. package/dist/billing-foundation/consumer-protection/register-termination.d.ts +1 -1
  83. package/dist/billing-foundation/consumer-protection/termination-mail.d.ts +3 -3
  84. package/dist/billing-foundation/consumer-protection/termination-notify.d.ts +5 -5
  85. package/dist/billing-foundation/consumer-protection/termination-pages.d.ts +2 -2
  86. package/dist/billing-foundation/consumer-protection/termination-record.d.ts +3 -3
  87. package/dist/billing-foundation/consumer-protection/termination-request.d.ts +2 -2
  88. package/dist/billing-foundation/consumer-protection/termination-texts.d.ts +2 -2
  89. package/dist/billing-foundation/feature.d.ts +1 -3
  90. package/dist/billing-foundation/feature.js +0 -2
  91. package/dist/billing-foundation/handlers/billing-plans.query.d.ts +1 -1
  92. package/dist/billing-foundation/handlers/create-checkout-session.write.d.ts +1 -1
  93. package/dist/billing-foundation/handlers/create-portal-session.write.d.ts +1 -1
  94. package/dist/billing-foundation/handlers/start-plan-checkout.write.d.ts +1 -1
  95. package/dist/billing-foundation/handlers/switch-plan.write.d.ts +1 -1
  96. package/dist/billing-foundation/index.d.ts +16 -16
  97. package/dist/billing-foundation/index.js +1 -1
  98. package/dist/billing-foundation/plan-catalog.d.ts +1 -1
  99. package/dist/billing-foundation/subscription-tier-sync.d.ts +3 -1
  100. package/dist/billing-foundation/subscription-tier-sync.js +3 -2
  101. package/dist/billing-foundation/types.d.ts +3 -3
  102. package/dist/billing-foundation/validate-options.d.ts +1 -1
  103. package/dist/billing-foundation/web/checkout-consent-dialog.d.ts +1 -1
  104. package/dist/billing-foundation/web/index.d.ts +6 -6
  105. package/dist/cap-counter/calendar-cap-usage-reservation.d.ts +4 -4
  106. package/dist/cap-counter/cap-reservation.d.ts +1 -1
  107. package/dist/cap-counter/enforce-cap.d.ts +1 -1
  108. package/dist/cap-counter/feature.d.ts +0 -4
  109. package/dist/cap-counter/feature.js +0 -2
  110. package/dist/cap-counter/index.d.ts +13 -13
  111. package/dist/cap-counter/index.js +1 -1
  112. package/dist/cap-counter/value-cap-guard.d.ts +1 -1
  113. package/dist/cap-counter/with-cap-enforcement.d.ts +1 -1
  114. package/dist/cap-overview/feature.d.ts +1 -1
  115. package/dist/cap-overview/handlers/caps-usage.query.d.ts +1 -1
  116. package/dist/cap-overview/handlers/tenant-caps-list.query.d.ts +1 -1
  117. package/dist/cap-overview/index.d.ts +6 -6
  118. package/dist/cap-overview/screens.d.ts +1 -1
  119. package/dist/cap-overview/types.d.ts +1 -1
  120. package/dist/cap-overview/usage-math.d.ts +1 -1
  121. package/dist/cap-overview/web/cap-usage-bar.d.ts +1 -1
  122. package/dist/cap-overview/web/index.d.ts +4 -4
  123. package/dist/channel-discord/discord-channel.d.ts +1 -1
  124. package/dist/channel-discord/feature.d.ts +1 -1
  125. package/dist/channel-discord/index.d.ts +2 -2
  126. package/dist/channel-email/email-channel.d.ts +2 -2
  127. package/dist/channel-email/env.d.ts +14 -0
  128. package/dist/channel-email/env.js +27 -0
  129. package/dist/channel-email/feature.d.ts +14 -3
  130. package/dist/channel-email/feature.js +5 -1
  131. package/dist/channel-email/index.d.ts +6 -5
  132. package/dist/channel-email/index.js +1 -0
  133. package/dist/channel-email/pii-guard.d.ts +1 -1
  134. package/dist/channel-email/smtp-transport.d.ts +1 -1
  135. package/dist/channel-email/types.d.ts +1 -1
  136. package/dist/channel-in-app/in-app-channel.d.ts +1 -1
  137. package/dist/channel-in-app/index.d.ts +4 -4
  138. package/dist/channel-push/feature.d.ts +1 -1
  139. package/dist/channel-push/index.d.ts +3 -3
  140. package/dist/channel-push/push-channel.d.ts +2 -2
  141. package/dist/channel-slack/feature.d.ts +1 -1
  142. package/dist/channel-slack/index.d.ts +2 -2
  143. package/dist/channel-slack/slack-channel.d.ts +1 -1
  144. package/dist/channel-teams/feature.d.ts +1 -1
  145. package/dist/channel-teams/index.d.ts +2 -2
  146. package/dist/channel-teams/teams-channel.d.ts +1 -1
  147. package/dist/channel-telegram/feature.d.ts +1 -1
  148. package/dist/channel-telegram/index.d.ts +2 -2
  149. package/dist/channel-telegram/telegram-channel.d.ts +1 -1
  150. package/dist/compliance-profiles/feature.d.ts +1 -1
  151. package/dist/compliance-profiles/index.d.ts +3 -3
  152. package/dist/compliance-profiles/web/index.d.ts +2 -2
  153. package/dist/compliance-profiles-ops/index.d.ts +0 -8
  154. package/dist/compliance-profiles-ops/index.js +0 -2
  155. package/dist/config/feature.d.ts +1 -1
  156. package/dist/config/handlers/reencrypt.job.d.ts +1 -1
  157. package/dist/config/index.d.ts +8 -8
  158. package/dist/config/web/client-plugin.d.ts +1 -1
  159. package/dist/config/web/index.d.ts +2 -2
  160. package/dist/crypto-shredding/env/index.d.ts +21 -0
  161. package/dist/crypto-shredding/env/index.js +78 -0
  162. package/dist/crypto-shredding/feature.d.ts +17 -2
  163. package/dist/crypto-shredding/feature.js +5 -1
  164. package/dist/crypto-shredding/index.d.ts +4 -3
  165. package/dist/crypto-shredding/index.js +1 -0
  166. package/dist/custom-fields/feature.d.ts +0 -17
  167. package/dist/custom-fields/feature.js +0 -2
  168. package/dist/custom-fields/index.d.ts +10 -10
  169. package/dist/custom-fields/index.js +1 -1
  170. package/dist/custom-fields/lib/define-or-resurrect.d.ts +2 -2
  171. package/dist/custom-fields/lib/field-access.d.ts +1 -1
  172. package/dist/custom-fields/lib/field-definition-row.d.ts +1 -1
  173. package/dist/custom-fields/lib/quota.d.ts +1 -1
  174. package/dist/custom-fields/web/index.d.ts +3 -3
  175. package/dist/data-retention/_internal/parse-override.d.ts +1 -1
  176. package/dist/data-retention/feature.d.ts +7 -7
  177. package/dist/data-retention/handlers/policy-for.query.d.ts +1 -1
  178. package/dist/data-retention/index.d.ts +3 -3
  179. package/dist/data-retention/resolve-for-tenant.d.ts +2 -2
  180. package/dist/data-retention/resolve-tenant-preset.d.ts +1 -1
  181. package/dist/data-retention/resolver.d.ts +1 -1
  182. package/dist/data-retention/run-retention-cleanup.d.ts +2 -2
  183. package/dist/delivery/attachment-ref.d.ts +1 -1
  184. package/dist/delivery/attempt-log.d.ts +1 -1
  185. package/dist/delivery/channel-context.d.ts +2 -2
  186. package/dist/delivery/chat-webhook-channel.d.ts +2 -2
  187. package/dist/delivery/constants.d.ts +1 -1
  188. package/dist/delivery/delivery-service.d.ts +2 -2
  189. package/dist/delivery/feature.js +2 -0
  190. package/dist/delivery/handlers/log.query.d.ts +1 -1
  191. package/dist/delivery/handlers/unsubscribe-page-chrome.query.d.ts +5 -0
  192. package/dist/delivery/handlers/unsubscribe-page-chrome.query.js +44 -0
  193. package/dist/delivery/index.d.ts +20 -20
  194. package/dist/delivery/notify-factory.d.ts +1 -1
  195. package/dist/delivery/public-names.d.ts +1 -0
  196. package/dist/delivery/public-names.js +1 -0
  197. package/dist/delivery/testing.d.ts +3 -3
  198. package/dist/delivery/types.d.ts +3 -3
  199. package/dist/delivery/unsubscribe-link.d.ts +1 -1
  200. package/dist/delivery/unsubscribe-page-strings.d.ts +4 -0
  201. package/dist/delivery/unsubscribe-page-strings.js +4 -0
  202. package/dist/delivery/unsubscribe-page.d.ts +27 -0
  203. package/dist/delivery/unsubscribe-page.js +192 -0
  204. package/dist/delivery/unsubscribe.d.ts +11 -3
  205. package/dist/delivery/unsubscribe.js +146 -64
  206. package/dist/delivery/web/index.d.ts +2 -2
  207. package/dist/derivatives-sharp/feature.d.ts +0 -4
  208. package/dist/derivatives-sharp/feature.js +0 -2
  209. package/dist/derivatives-sharp/index.d.ts +2 -2
  210. package/dist/derivatives-sharp/index.js +1 -1
  211. package/dist/document-ingest-foundation/feature.d.ts +0 -7
  212. package/dist/document-ingest-foundation/feature.js +0 -2
  213. package/dist/document-ingest-foundation/index.d.ts +7 -7
  214. package/dist/document-ingest-foundation/index.js +1 -1
  215. package/dist/document-ingest-foundation/pages.d.ts +1 -1
  216. package/dist/document-ingest-foundation/providers.d.ts +1 -1
  217. package/dist/document-ingest-foundation/write-document-extract.d.ts +1 -1
  218. package/dist/feature-toggles/compose-tier-resolver.d.ts +1 -1
  219. package/dist/feature-toggles/feature.d.ts +5 -5
  220. package/dist/feature-toggles/handlers/set.write.d.ts +1 -1
  221. package/dist/feature-toggles/index.d.ts +3 -3
  222. package/dist/feature-toggles/toggle-sync-signal.d.ts +1 -1
  223. package/dist/feature-toggles/web/index.d.ts +1 -1
  224. package/dist/file-derivatives/feature.d.ts +0 -2
  225. package/dist/file-derivatives/feature.js +0 -2
  226. package/dist/file-derivatives/index.d.ts +4 -4
  227. package/dist/file-derivatives/index.js +1 -1
  228. package/dist/file-foundation/feature.d.ts +0 -6
  229. package/dist/file-foundation/feature.js +0 -2
  230. package/dist/file-foundation/index.d.ts +2 -2
  231. package/dist/file-foundation/index.js +1 -1
  232. package/dist/file-provider-inmemory/feature.d.ts +0 -4
  233. package/dist/file-provider-inmemory/feature.js +0 -2
  234. package/dist/file-provider-inmemory/index.d.ts +1 -1
  235. package/dist/file-provider-inmemory/index.js +1 -1
  236. package/dist/file-provider-s3/env-feature.d.ts +12 -2
  237. package/dist/file-provider-s3/env-feature.js +9 -6
  238. package/dist/file-provider-s3/env-schema.d.ts +38 -0
  239. package/dist/file-provider-s3/env-schema.js +51 -0
  240. package/dist/file-provider-s3/feature.d.ts +1 -14
  241. package/dist/file-provider-s3/feature.js +0 -2
  242. package/dist/file-provider-s3/index.d.ts +2 -1
  243. package/dist/file-provider-s3/index.js +2 -1
  244. package/dist/file-provider-s3/lib/env-helper.d.ts +1 -1
  245. package/dist/file-provider-s3/lib/index.d.ts +3 -3
  246. package/dist/files/index.d.ts +1 -1
  247. package/dist/files-tenant-data/index.d.ts +2 -2
  248. package/dist/folders/feature.d.ts +0 -4
  249. package/dist/folders/feature.js +0 -2
  250. package/dist/folders/index.d.ts +7 -7
  251. package/dist/folders/index.js +1 -1
  252. package/dist/folders/web/folder-manager.d.ts +1 -1
  253. package/dist/folders/web/index.d.ts +5 -5
  254. package/dist/folders-user-data/index.d.ts +0 -4
  255. package/dist/folders-user-data/index.js +0 -2
  256. package/dist/form-draft/db/queries/cleanup.d.ts +1 -1
  257. package/dist/form-draft/feature.d.ts +0 -4
  258. package/dist/form-draft/feature.js +0 -2
  259. package/dist/form-draft/handlers/cleanup.job.d.ts +1 -1
  260. package/dist/form-draft/handlers/get.query.d.ts +1 -1
  261. package/dist/form-draft/index.d.ts +10 -10
  262. package/dist/form-draft/index.js +1 -1
  263. package/dist/form-draft/lookup.d.ts +1 -1
  264. package/dist/form-draft/release-file-refs.d.ts +1 -1
  265. package/dist/form-draft-user-data/index.d.ts +0 -4
  266. package/dist/form-draft-user-data/index.js +0 -2
  267. package/dist/foundation-shared/build-info-env.d.ts +7 -0
  268. package/dist/foundation-shared/build-info-env.js +15 -0
  269. package/dist/foundation-shared/demo-admin-env.d.ts +12 -0
  270. package/dist/foundation-shared/demo-admin-env.js +21 -0
  271. package/dist/foundation-shared/index.d.ts +5 -3
  272. package/dist/foundation-shared/index.js +2 -0
  273. package/dist/host-routing/constants.d.ts +8 -0
  274. package/dist/host-routing/constants.js +19 -0
  275. package/dist/host-routing/dispatch.d.ts +24 -0
  276. package/dist/host-routing/dispatch.js +102 -0
  277. package/dist/host-routing/feature.d.ts +3 -0
  278. package/dist/host-routing/feature.js +102 -0
  279. package/dist/host-routing/host.d.ts +14 -0
  280. package/dist/host-routing/host.js +37 -0
  281. package/dist/host-routing/index.d.ts +5 -0
  282. package/dist/host-routing/index.js +4 -0
  283. package/dist/host-routing/options.d.ts +27 -0
  284. package/dist/host-routing/options.js +1 -0
  285. package/dist/host-routing/validate-options.d.ts +2 -0
  286. package/dist/host-routing/validate-options.js +29 -0
  287. package/dist/inbound-mail-foundation/connect-routes.d.ts +2 -2
  288. package/dist/inbound-mail-foundation/feature.d.ts +0 -4
  289. package/dist/inbound-mail-foundation/feature.js +0 -2
  290. package/dist/inbound-mail-foundation/handlers/account-state.d.ts +1 -1
  291. package/dist/inbound-mail-foundation/index.d.ts +12 -12
  292. package/dist/inbound-mail-foundation/index.js +1 -1
  293. package/dist/inbound-mail-foundation/oauth-access-token.d.ts +1 -1
  294. package/dist/inbound-mail-foundation/provider-factory.d.ts +1 -1
  295. package/dist/inbound-mail-foundation/types.d.ts +1 -1
  296. package/dist/inbound-mail-foundation/watch-supervisor.d.ts +2 -2
  297. package/dist/inbound-provider-imap/feature.d.ts +1 -5
  298. package/dist/inbound-provider-imap/feature.js +0 -2
  299. package/dist/inbound-provider-imap/imap-client.d.ts +1 -1
  300. package/dist/inbound-provider-imap/index.d.ts +3 -3
  301. package/dist/inbound-provider-imap/index.js +1 -1
  302. package/dist/inbound-provider-inmemory/feature.d.ts +0 -4
  303. package/dist/inbound-provider-inmemory/feature.js +0 -2
  304. package/dist/inbound-provider-inmemory/index.d.ts +1 -1
  305. package/dist/inbound-provider-inmemory/index.js +1 -1
  306. package/dist/jobs/handlers/tenant-runs.query.d.ts +1 -1
  307. package/dist/jobs/index.d.ts +9 -9
  308. package/dist/jobs/web/index.d.ts +1 -1
  309. package/dist/ledger/feature.d.ts +0 -4
  310. package/dist/ledger/feature.js +0 -2
  311. package/dist/ledger/index.d.ts +10 -10
  312. package/dist/ledger/index.js +1 -1
  313. package/dist/ledger/recurring.d.ts +2 -2
  314. package/dist/ledger/reports.d.ts +2 -2
  315. package/dist/ledger/web/index.d.ts +3 -3
  316. package/dist/legal-pages/constants.d.ts +12 -0
  317. package/dist/legal-pages/constants.js +16 -0
  318. package/dist/legal-pages/feature.d.ts +6 -3
  319. package/dist/legal-pages/feature.js +5 -2
  320. package/dist/legal-pages/index.d.ts +5 -3
  321. package/dist/legal-pages/index.js +3 -1
  322. package/dist/legal-pages/layout.d.ts +10 -0
  323. package/dist/legal-pages/layout.js +32 -0
  324. package/dist/legal-pages/lib/boot-check.d.ts +1 -1
  325. package/dist/legal-pages/lib/validate-routes.d.ts +1 -1
  326. package/dist/legal-pages/markdown.d.ts +2 -2
  327. package/dist/legal-pages/seed.d.ts +12 -0
  328. package/dist/legal-pages/seed.js +38 -0
  329. package/dist/legal-pages/web/index.d.ts +1 -1
  330. package/dist/mail-foundation/feature.d.ts +0 -7
  331. package/dist/mail-foundation/feature.js +0 -2
  332. package/dist/mail-foundation/index.d.ts +1 -1
  333. package/dist/mail-foundation/index.js +1 -1
  334. package/dist/mail-transport-inmemory/feature.d.ts +0 -4
  335. package/dist/mail-transport-inmemory/feature.js +0 -2
  336. package/dist/mail-transport-inmemory/index.d.ts +1 -1
  337. package/dist/mail-transport-inmemory/index.js +1 -1
  338. package/dist/mail-transport-smtp/feature.d.ts +0 -16
  339. package/dist/mail-transport-smtp/feature.js +0 -2
  340. package/dist/mail-transport-smtp/index.d.ts +1 -1
  341. package/dist/mail-transport-smtp/index.js +1 -1
  342. package/dist/managed-pages/branding.d.ts +1 -1
  343. package/dist/managed-pages/feature.d.ts +1 -1
  344. package/dist/managed-pages/handlers/branding.query.d.ts +1 -1
  345. package/dist/managed-pages/index.d.ts +5 -5
  346. package/dist/managed-pages/web/index.d.ts +2 -2
  347. package/dist/metrics/compute.d.ts +2 -2
  348. package/dist/metrics/default-metrics.d.ts +9 -9
  349. package/dist/metrics/feature.d.ts +1 -1
  350. package/dist/metrics/filters.d.ts +1 -1
  351. package/dist/metrics/index.d.ts +5 -5
  352. package/dist/metrics/types.d.ts +1 -1
  353. package/dist/metrics/validate.d.ts +1 -1
  354. package/dist/metrics/window.d.ts +2 -2
  355. package/dist/notes-history/feature.d.ts +0 -4
  356. package/dist/notes-history/feature.js +0 -2
  357. package/dist/notes-history/handlers/add-note.write.d.ts +1 -1
  358. package/dist/notes-history/index.d.ts +6 -6
  359. package/dist/notes-history/index.js +1 -1
  360. package/dist/notes-history/web/index.d.ts +3 -3
  361. package/dist/notes-history-user-data/index.d.ts +1 -5
  362. package/dist/notes-history-user-data/index.js +0 -2
  363. package/dist/page-render/index.d.ts +7 -7
  364. package/dist/page-render/layout.d.ts +1 -1
  365. package/dist/page-render/web.d.ts +5 -5
  366. package/dist/personal-access-tokens/feature.d.ts +3 -3
  367. package/dist/personal-access-tokens/handlers/available-scopes.query.d.ts +1 -1
  368. package/dist/personal-access-tokens/i18n.d.ts +1 -1
  369. package/dist/personal-access-tokens/index.d.ts +13 -13
  370. package/dist/personal-access-tokens/resolver.d.ts +1 -1
  371. package/dist/personal-access-tokens/screens.d.ts +1 -1
  372. package/dist/presets/dsgvo-self-service.d.ts +3 -1
  373. package/dist/presets/dsgvo-self-service.js +2 -0
  374. package/dist/presets/index.d.ts +2 -2
  375. package/dist/presets/security-baseline.d.ts +2 -0
  376. package/dist/presets/security-baseline.js +2 -0
  377. package/dist/rate-limiting/index.d.ts +2 -2
  378. package/dist/readiness/feature.d.ts +0 -8
  379. package/dist/readiness/feature.js +0 -2
  380. package/dist/readiness/index.d.ts +3 -3
  381. package/dist/readiness/index.js +1 -1
  382. package/dist/renderer-foundation/api.d.ts +2 -2
  383. package/dist/renderer-foundation/constants.d.ts +2 -2
  384. package/dist/renderer-foundation/feature.d.ts +1 -1
  385. package/dist/renderer-foundation/index.d.ts +5 -5
  386. package/dist/renderer-foundation/types.d.ts +24 -2
  387. package/dist/renderer-pdf/feature.d.ts +1 -1
  388. package/dist/renderer-pdf/index.d.ts +2 -2
  389. package/dist/renderer-pdf/render-table-pdf.d.ts +1 -1
  390. package/dist/secrets/constants.d.ts +7 -0
  391. package/dist/secrets/constants.js +7 -0
  392. package/dist/secrets/db/queries/read.d.ts +1 -1
  393. package/dist/secrets/feature.d.ts +4 -3
  394. package/dist/secrets/feature.js +4 -2
  395. package/dist/secrets/handlers/delete.write.js +2 -2
  396. package/dist/secrets/handlers/rotate.job.d.ts +1 -1
  397. package/dist/secrets/handlers/set.write.js +2 -2
  398. package/dist/secrets/index.d.ts +7 -7
  399. package/dist/secrets/index.js +1 -1
  400. package/dist/secrets/secrets-context.d.ts +1 -1
  401. package/dist/seo/feature.d.ts +3 -3
  402. package/dist/seo/index.d.ts +6 -6
  403. package/dist/sessions/feature.d.ts +1 -1
  404. package/dist/sessions/index.d.ts +8 -8
  405. package/dist/sessions/session-callbacks.d.ts +1 -1
  406. package/dist/sessions/testing.d.ts +1 -1
  407. package/dist/shared/index.d.ts +31 -31
  408. package/dist/step-dispatcher/dispatch-payload.d.ts +2 -2
  409. package/dist/step-dispatcher/index.d.ts +3 -3
  410. package/dist/subscription-mollie/feature.d.ts +2 -2
  411. package/dist/subscription-mollie/index.d.ts +3 -3
  412. package/dist/subscription-mollie/verify-webhook.d.ts +1 -1
  413. package/dist/subscription-stripe/feature.d.ts +17 -1
  414. package/dist/subscription-stripe/feature.js +19 -1
  415. package/dist/subscription-stripe/index.d.ts +2 -2
  416. package/dist/subscription-stripe/index.js +1 -1
  417. package/dist/subscription-stripe/plugin-methods.d.ts +1 -1
  418. package/dist/subscription-stripe/verify-webhook.d.ts +1 -1
  419. package/dist/tags/feature.d.ts +0 -4
  420. package/dist/tags/feature.js +0 -2
  421. package/dist/tags/handlers/assign-tag.write.d.ts +1 -1
  422. package/dist/tags/handlers/remove-tag.write.d.ts +1 -1
  423. package/dist/tags/index.d.ts +11 -11
  424. package/dist/tags/index.js +1 -1
  425. package/dist/tags/web/index.d.ts +9 -9
  426. package/dist/template-resolver/api.d.ts +4 -4
  427. package/dist/template-resolver/constants.d.ts +1 -1
  428. package/dist/template-resolver/document-sanitizer.d.ts +1 -1
  429. package/dist/template-resolver/handlers/bundle-import.d.ts +3 -3
  430. package/dist/template-resolver/handlers/collection-shared.d.ts +2 -2
  431. package/dist/template-resolver/handlers/copy-locale.write.d.ts +1 -1
  432. package/dist/template-resolver/handlers/diff-to-system.query.d.ts +1 -1
  433. package/dist/template-resolver/handlers/find-by-id.query.d.ts +1 -1
  434. package/dist/template-resolver/handlers/import-bundle-system.write.d.ts +1 -1
  435. package/dist/template-resolver/handlers/import-bundle.write.d.ts +1 -1
  436. package/dist/template-resolver/handlers/layout-source.query.d.ts +3 -3
  437. package/dist/template-resolver/handlers/override-diff.d.ts +2 -2
  438. package/dist/template-resolver/handlers/overview.query.d.ts +3 -3
  439. package/dist/template-resolver/handlers/preview.query.d.ts +1 -1
  440. package/dist/template-resolver/handlers/resource-link-pdf.write.d.ts +1 -1
  441. package/dist/template-resolver/handlers/resource-upload.write.d.ts +1 -1
  442. package/dist/template-resolver/handlers/send-test.write.d.ts +1 -1
  443. package/dist/template-resolver/handlers/shared.d.ts +1 -1
  444. package/dist/template-resolver/handlers/template-gates.d.ts +4 -4
  445. package/dist/template-resolver/handlers/template-write.d.ts +4 -4
  446. package/dist/template-resolver/handlers/tenant-overrides.query.d.ts +1 -1
  447. package/dist/template-resolver/handlers/toggle-status.write.d.ts +1 -1
  448. package/dist/template-resolver/handlers/upsert-system.write.d.ts +1 -1
  449. package/dist/template-resolver/handlers/upsert-tenant.write.d.ts +1 -1
  450. package/dist/template-resolver/handlers/usage.query.d.ts +1 -1
  451. package/dist/template-resolver/handlers/validate.query.d.ts +3 -3
  452. package/dist/template-resolver/index.d.ts +25 -25
  453. package/dist/template-resolver/layout-appearance.d.ts +1 -1
  454. package/dist/template-resolver/layout-regions.d.ts +2 -2
  455. package/dist/template-resolver/linked-resources.d.ts +1 -1
  456. package/dist/template-resolver/preview-display-html.d.ts +1 -1
  457. package/dist/template-resolver/resource-image.d.ts +1 -1
  458. package/dist/template-resolver/seeding.d.ts +2 -2
  459. package/dist/template-resolver/store-template-resource.d.ts +1 -1
  460. package/dist/template-resolver/template-draft.d.ts +2 -2
  461. package/dist/template-resolver/template-meta.d.ts +2 -2
  462. package/dist/template-resolver/template-preview.d.ts +7 -6
  463. package/dist/template-resolver/template-preview.js +19 -12
  464. package/dist/template-resolver/template-resources.d.ts +1 -1
  465. package/dist/template-resolver/template-usage.d.ts +3 -1
  466. package/dist/template-resolver/template-usage.js +1 -0
  467. package/dist/template-resolver/template-validation.d.ts +1 -1
  468. package/dist/template-resolver/testing.d.ts +1 -1
  469. package/dist/template-resolver/user-content-table.d.ts +1 -1
  470. package/dist/template-resolver/web/document-editor-extensions.d.ts +1 -1
  471. package/dist/template-resolver/web/document-editor-extensions.js +6 -2
  472. package/dist/template-resolver/web/document-editor.d.ts +1 -1
  473. package/dist/template-resolver/web/document-tiptap-editor.d.ts +1 -1
  474. package/dist/template-resolver/web/document-tiptap-editor.js +13 -10
  475. package/dist/template-resolver/web/editor-handle.d.ts +1 -1
  476. package/dist/template-resolver/web/index.d.ts +7 -7
  477. package/dist/template-resolver/web/placeholder-line-editor-lazy.d.ts +2 -2
  478. package/dist/template-resolver/web/placeholder-line-editor.d.ts +1 -1
  479. package/dist/template-resolver-user-data/index.d.ts +0 -4
  480. package/dist/template-resolver-user-data/index.js +0 -2
  481. package/dist/tenant/feature.d.ts +1 -1
  482. package/dist/tenant/index.d.ts +10 -10
  483. package/dist/tenant/is-tenant-serving-public-content.d.ts +1 -1
  484. package/dist/tenant/testing.d.ts +1 -1
  485. package/dist/tenant/web/index.d.ts +3 -3
  486. package/dist/tenant-handover/feature.d.ts +1 -1
  487. package/dist/tenant-handover/index.d.ts +3 -3
  488. package/dist/tenant-handover/signup-handover-provider.d.ts +1 -1
  489. package/dist/tenant-lifecycle/feature.d.ts +2 -2
  490. package/dist/tenant-lifecycle/index.d.ts +3 -3
  491. package/dist/tenant-lifecycle/run-tenant-destroy.d.ts +1 -1
  492. package/dist/tenant-lifecycle/stages.d.ts +1 -1
  493. package/dist/tenant-lifecycle/testing.d.ts +1 -1
  494. package/dist/tenant-settings/feature.d.ts +1 -3
  495. package/dist/tenant-settings/feature.js +0 -2
  496. package/dist/tenant-settings/index.d.ts +4 -4
  497. package/dist/tenant-settings/index.js +1 -1
  498. package/dist/tier-engine/entity.d.ts +1 -1
  499. package/dist/tier-engine/feature.d.ts +2 -4
  500. package/dist/tier-engine/feature.js +0 -2
  501. package/dist/tier-engine/handlers/get-tenant-tier.query.d.ts +1 -1
  502. package/dist/tier-engine/i18n.d.ts +0 -2
  503. package/dist/tier-engine/i18n.js +4 -4
  504. package/dist/tier-engine/index.d.ts +8 -8
  505. package/dist/tier-engine/index.js +1 -1
  506. package/dist/tier-engine/tier-option-gate.d.ts +1 -1
  507. package/dist/tier-engine/tier-resolver.d.ts +1 -1
  508. package/dist/tier-engine/web/client-plugin.js +3 -2
  509. package/dist/tier-engine/web/index.d.ts +1 -1
  510. package/dist/user/index.d.ts +8 -8
  511. package/dist/user/invited-global-roles.d.ts +1 -1
  512. package/dist/user/principal-status.d.ts +1 -1
  513. package/dist/user/seeding.d.ts +1 -1
  514. package/dist/user/testing.d.ts +1 -1
  515. package/dist/user-data-rights/deletion-token.d.ts +1 -1
  516. package/dist/user-data-rights/feature.d.ts +5 -5
  517. package/dist/user-data-rights/handlers/request-deletion.write.d.ts +1 -1
  518. package/dist/user-data-rights/handlers/run-forget-cleanup.write.d.ts +3 -3
  519. package/dist/user-data-rights/index.d.ts +13 -13
  520. package/dist/user-data-rights/lib/default-mailers.d.ts +4 -4
  521. package/dist/user-data-rights/web/client-plugin.d.ts +1 -1
  522. package/dist/user-data-rights/web/index.d.ts +8 -8
  523. package/dist/user-data-rights-defaults/index.d.ts +11 -11
  524. package/dist/user-profile/index.d.ts +2 -2
  525. package/dist/user-profile/web/index.d.ts +2 -2
  526. package/dist/waitlist/constants.d.ts +9 -0
  527. package/dist/waitlist/constants.js +11 -0
  528. package/dist/waitlist/entity.d.ts +38 -6
  529. package/dist/waitlist/entity.js +4 -2
  530. package/dist/waitlist/entries-admin.d.ts +4 -0
  531. package/dist/waitlist/entries-admin.js +42 -0
  532. package/dist/waitlist/feature.d.ts +1 -1
  533. package/dist/waitlist/feature.js +16 -1
  534. package/dist/waitlist/handlers/export-purge.write.d.ts +12 -0
  535. package/dist/waitlist/handlers/export-purge.write.js +61 -0
  536. package/dist/waitlist/handlers/invite.write.d.ts +1 -1
  537. package/dist/waitlist/handlers/submit.write.d.ts +1 -1
  538. package/dist/waitlist/i18n.js +4 -0
  539. package/dist/waitlist/import.d.ts +24 -0
  540. package/dist/waitlist/import.js +51 -0
  541. package/dist/waitlist/index.d.ts +7 -5
  542. package/dist/waitlist/index.js +2 -0
  543. package/dist/waitlist/legacy-migrate.d.ts +27 -0
  544. package/dist/waitlist/legacy-migrate.js +173 -0
  545. package/dist/waitlist/lib.d.ts +2 -2
  546. package/dist/waitlist/link-on-signup.d.ts +3 -0
  547. package/dist/waitlist/link-on-signup.js +83 -0
  548. package/dist/waitlist/options.d.ts +11 -3
  549. package/dist/waitlist/payloads.d.ts +3 -0
  550. package/dist/waitlist/payloads.js +1 -0
  551. package/dist/workflow-runner/feature.d.ts +0 -4
  552. package/dist/workflow-runner/feature.js +0 -2
  553. package/dist/workflow-runner/index.d.ts +4 -4
  554. package/dist/workflow-runner/index.js +1 -1
  555. package/package.json +43 -27
  556. package/src/account-security/changes.json +8 -0
  557. package/src/auth-email-password/changes.json +6 -0
  558. package/src/auth-foundation/changes.json +8 -0
  559. package/src/auth-mfa/changes.json +6 -0
  560. package/src/auth-mfa-user-data/changes.json +10 -1
  561. package/src/billing-foundation/changes.json +8 -0
  562. package/src/cap-counter/changes.json +8 -0
  563. package/src/channel-email/changes.json +6 -0
  564. package/src/compliance-profiles-ops/changes.json +10 -0
  565. package/src/crypto-shredding/changes.json +6 -0
  566. package/src/custom-fields/changes.json +8 -0
  567. package/src/delivery/changes.json +6 -0
  568. package/src/derivatives-sharp/changes.json +8 -0
  569. package/src/document-ingest-foundation/changes.json +8 -0
  570. package/src/file-derivatives/changes.json +8 -0
  571. package/src/file-foundation/changes.json +8 -0
  572. package/src/file-provider-inmemory/changes.json +10 -1
  573. package/src/file-provider-s3/changes.json +22 -0
  574. package/src/folders/changes.json +8 -0
  575. package/src/folders-user-data/changes.json +10 -1
  576. package/src/form-draft/changes.json +8 -0
  577. package/src/form-draft-user-data/changes.json +10 -1
  578. package/src/foundation-shared/changes.json +8 -1
  579. package/src/host-routing/changes.json +8 -0
  580. package/src/inbound-mail-foundation/changes.json +8 -0
  581. package/src/inbound-provider-imap/changes.json +8 -0
  582. package/src/inbound-provider-inmemory/changes.json +10 -1
  583. package/src/ledger/changes.json +8 -0
  584. package/src/legal-pages/changes.json +6 -0
  585. package/src/mail-foundation/changes.json +10 -1
  586. package/src/mail-transport-inmemory/changes.json +10 -1
  587. package/src/mail-transport-smtp/changes.json +8 -0
  588. package/src/notes-history/changes.json +8 -0
  589. package/src/notes-history-user-data/changes.json +8 -0
  590. package/src/presets/changes.json +6 -0
  591. package/src/readiness/changes.json +10 -1
  592. package/src/secrets/changes.json +12 -0
  593. package/src/subscription-stripe/changes.json +6 -0
  594. package/src/tags/changes.json +8 -0
  595. package/src/template-resolver/changes.json +6 -0
  596. package/src/template-resolver-user-data/changes.json +10 -0
  597. package/src/tenant-settings/changes.json +10 -1
  598. package/src/tier-engine/changes.json +8 -0
  599. package/src/waitlist/changes.json +7 -0
  600. package/src/workflow-runner/changes.json +8 -0
  601. package/dist/file-provider-s3-env/index.d.ts +0 -8
  602. package/dist/file-provider-s3-env/index.js +0 -7
  603. package/dist/files-provider-s3/index.d.ts +0 -5
  604. package/dist/files-provider-s3/index.js +0 -5
  605. package/src/file-provider-s3-env/changes.json +0 -1
  606. package/src/files-provider-s3/changes.json +0 -1
@@ -1,6 +1,6 @@
1
1
  import { type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import * as z from "zod";
3
- import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.js";
3
+ import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
4
4
  export declare const issueContractConfirmationSchema: z.ZodObject<{
5
5
  consentId: z.ZodString;
6
6
  sourceAggregateId: z.ZodUUID;
@@ -1,3 +1,3 @@
1
1
  import type { FeatureRegistrar } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.js";
2
+ import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
3
3
  export declare function registerConsumerProtection(r: FeatureRegistrar, options: ResolvedBillingFoundationOptions, consumerProtection: ConsumerProtectionOptions): void;
@@ -1,3 +1,3 @@
1
1
  import type { FeatureRegistrar } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.js";
2
+ import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
3
3
  export declare function registerContractTermination(r: FeatureRegistrar, options: ResolvedBillingFoundationOptions, consumerProtection: ConsumerProtectionOptions): void;
@@ -1,6 +1,6 @@
1
- import type { ContractTerminationDeclarationType, ContractTerminationKind, ProviderCancelOutcome } from "../events.js";
2
- import type { ConsentLocale } from "./consent-text.js";
3
- import { type OperatorNoticeReason } from "./termination-texts.js";
1
+ import type { ContractTerminationDeclarationType, ContractTerminationKind, ProviderCancelOutcome } from "../events.ts";
2
+ import type { ConsentLocale } from "./consent-text.ts";
3
+ import { type OperatorNoticeReason } from "./termination-texts.ts";
4
4
  type TextRow = {
5
5
  readonly text: string;
6
6
  };
@@ -1,9 +1,9 @@
1
1
  import type { HandlerContext } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { ProviderCancelOutcome } from "../events.js";
3
- import type { ConsumerProtectionOptions } from "../types.js";
4
- import type { ConsentLocale } from "./consent-text.js";
5
- import { type OperatorNoticeDeclaration } from "./termination-mail.js";
6
- import type { OperatorNoticeReason } from "./termination-texts.js";
2
+ import type { ProviderCancelOutcome } from "../events.ts";
3
+ import type { ConsumerProtectionOptions } from "../types.ts";
4
+ import type { ConsentLocale } from "./consent-text.ts";
5
+ import { type OperatorNoticeDeclaration } from "./termination-mail.ts";
6
+ import type { OperatorNoticeReason } from "./termination-texts.ts";
7
7
  export type OperatorNoticePlan = {
8
8
  readonly locale: ConsentLocale;
9
9
  readonly requestId: string;
@@ -1,6 +1,6 @@
1
1
  import { type AnonymousExtraRoute } from "@cosmicdrift/kumiko-framework/api";
2
- import { type PublicPageWrapLayout } from "../../page-render/index.js";
3
- import type { ConsentLocale } from "./consent-text.js";
2
+ import { type PublicPageWrapLayout } from "../../page-render/index.ts";
3
+ import type { ConsentLocale } from "./consent-text.ts";
4
4
  export type ContractTerminationRoutesOptions = {
5
5
  readonly paths?: Readonly<Partial<Record<ConsentLocale, string>>>;
6
6
  /** Layout around every page (form, review, result, 429, error). Default:
@@ -1,8 +1,8 @@
1
1
  import { type QueryHandlerDef, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import * as z from "zod";
3
- import { type ProviderCancelOutcome } from "../events.js";
4
- import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.js";
5
- import type { OperatorNoticeReason } from "./termination-texts.js";
3
+ import { type ProviderCancelOutcome } from "../events.ts";
4
+ import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
5
+ import type { OperatorNoticeReason } from "./termination-texts.ts";
6
6
  export declare const recordContractTerminationSchema: z.ZodObject<{
7
7
  requestId: z.ZodString;
8
8
  declarationType: z.ZodEnum<{
@@ -1,7 +1,7 @@
1
1
  import { type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
2
  import * as z from "zod";
3
- import { type ProviderCancelOutcome } from "../events.js";
4
- import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.js";
3
+ import { type ProviderCancelOutcome } from "../events.ts";
4
+ import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
5
5
  export declare const requestContractTerminationSchema: z.ZodObject<{
6
6
  declarationType: z.ZodEnum<{
7
7
  termination: "termination";
@@ -1,5 +1,5 @@
1
- import type { ContractTerminationDeclarationType, ContractTerminationKind } from "../events.js";
2
- import type { ConsentLocale } from "./consent-text.js";
1
+ import type { ContractTerminationDeclarationType, ContractTerminationKind } from "../events.ts";
2
+ import type { ConsentLocale } from "./consent-text.ts";
3
3
  export type TerminationTexts = {
4
4
  readonly declarationTypeLabel: Readonly<Record<ContractTerminationDeclarationType, string>>;
5
5
  readonly terminationKindLabel: Readonly<Record<ContractTerminationKind, string>>;
@@ -1,5 +1,3 @@
1
1
  import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { BillingFoundationOptions } from "./types.js";
2
+ import type { BillingFoundationOptions } from "./types.ts";
3
3
  export declare function createBillingFoundationFeature<TTier extends string = string>(options?: BillingFoundationOptions<TTier>): FeatureDefinition;
4
- /** @deprecated Use createBillingFoundationFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
5
- export declare const billingFoundationFeature: FeatureDefinition;
@@ -219,5 +219,3 @@ export function createBillingFoundationFeature(options = {}) {
219
219
  });
220
220
  }, Object.keys(options).length === 0 ? { dedupeOptions: {} } : undefined);
221
221
  }
222
- /** @deprecated Use createBillingFoundationFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
223
- export const billingFoundationFeature = createBillingFoundationFeature();
@@ -1,3 +1,3 @@
1
1
  import type { QueryHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import { type BillingPlanCatalog, type ResolvedBillingFoundationOptions } from "../types.js";
2
+ import { type BillingPlanCatalog, type ResolvedBillingFoundationOptions } from "../types.ts";
3
3
  export declare function createBillingPlansQuery(options: ResolvedBillingFoundationOptions, catalog: BillingPlanCatalog): QueryHandlerDef;
@@ -1,3 +1,3 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { ResolvedBillingFoundationOptions } from "../types.js";
2
+ import type { ResolvedBillingFoundationOptions } from "../types.ts";
3
3
  export declare function createCheckoutSessionHandler(options: ResolvedBillingFoundationOptions): WriteHandlerDef;
@@ -1,3 +1,3 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { BillingFoundationOptions } from "../types.js";
2
+ import type { BillingFoundationOptions } from "../types.ts";
3
3
  export declare function createPortalSessionHandler(options: BillingFoundationOptions): WriteHandlerDef;
@@ -1,3 +1,3 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { BillingPlanCatalog, ResolvedBillingFoundationOptions } from "../types.js";
2
+ import type { BillingPlanCatalog, ResolvedBillingFoundationOptions } from "../types.ts";
3
3
  export declare function createStartPlanCheckoutHandler(options: ResolvedBillingFoundationOptions, catalog: BillingPlanCatalog): WriteHandlerDef;
@@ -1,3 +1,3 @@
1
1
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { BillingFoundationOptions, BillingPlanCatalog } from "../types.js";
2
+ import type { BillingFoundationOptions, BillingPlanCatalog } from "../types.ts";
3
3
  export declare function createSwitchPlanHandler(options: BillingFoundationOptions, catalog: BillingPlanCatalog): WriteHandlerDef;
@@ -1,16 +1,16 @@
1
- export { paymentAggregateId, subscriptionAggregateId } from "./aggregate-id.js";
2
- export { type BillingInfo, type BillingInfoQueryDeps, createBillingInfoQueryConfig, } from "./billing-info-query.js";
3
- export { isBillingEnabled, type ResolvedProvider, resolveProviderPlugin, } from "./checkout-core.js";
4
- export { BILLING_FOUNDATION_FEATURE, BILLING_PLANS_PANEL_COMPONENT, BILLING_PLANS_SCREEN_ID, type BillingEventKind, BillingEventKinds, type BillingPlanAction, BillingPlanActions, DEFAULT_PURCHASE_ROLES, isSwitchableSubscriptionStatus, isTerminalSubscriptionStatus, parseProviderConsentId, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, SubscriptionCancelTimings, type SubscriptionEventType, SubscriptionEventTypes, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "./constants.js";
5
- export { type ConsentPayload, consentPayloadSchema, type OrderItem, } from "./consumer-protection/consent-gate.js";
6
- export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "./consumer-protection/consent-locale.js";
7
- export { type ContractTerminationRoutesOptions, createContractTerminationRoutes, } from "./consumer-protection/termination-pages.js";
8
- export { paymentEntity, subscriptionEntity } from "./entities.js";
9
- export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, type PaymentEventHeaders, type PaymentEventPayload, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, type SubscriptionEventHeaders, type SubscriptionEventPayload, subscriptionEventPayloadSchema, } from "./events.js";
10
- export { billingFoundationFeature, createBillingFoundationFeature } from "./feature.js";
11
- export { getSubscriptionForTenant, type SubscriptionView } from "./get-subscription-for-tenant.js";
12
- export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.js";
13
- export { billingPlansPanel, createBillingPlansScreen } from "./screens.js";
14
- export { createSubscriptionTierSync, effectiveTierFromSubscription, SUBSCRIPTION_WEBHOOK_PATH, type SubscriptionTierSyncDeps, } from "./subscription-tier-sync.js";
15
- export { type BillingFoundationOptions, type BillingPlanBenefit, type BillingPlanCatalog, type BillingPlanPrice, type BillingPlansResult, type BillingPlanView, type ConsumerProtectionOptions, KNOWN_RECURRING_INTERVALS, type LegalLinkSet, type PaymentEvent, type ProviderPrice, type ProviderSubscriptionSnapshot, type RecurringInterval, type SubscriptionEvent, type SubscriptionProviderPlugin, } from "./types.js";
16
- export { createSubscriptionWebhookRoute, type SubscriptionWebhookRouteOptions, } from "./webhook-handler.js";
1
+ export { paymentAggregateId, subscriptionAggregateId } from "./aggregate-id.ts";
2
+ export { type BillingInfo, type BillingInfoQueryDeps, createBillingInfoQueryConfig, } from "./billing-info-query.ts";
3
+ export { isBillingEnabled, type ResolvedProvider, resolveProviderPlugin, } from "./checkout-core.ts";
4
+ export { BILLING_FOUNDATION_FEATURE, BILLING_PLANS_PANEL_COMPONENT, BILLING_PLANS_SCREEN_ID, type BillingEventKind, BillingEventKinds, type BillingPlanAction, BillingPlanActions, DEFAULT_PURCHASE_ROLES, isSwitchableSubscriptionStatus, isTerminalSubscriptionStatus, parseProviderConsentId, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, SubscriptionCancelTimings, type SubscriptionEventType, SubscriptionEventTypes, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "./constants.ts";
5
+ export { type ConsentPayload, consentPayloadSchema, type OrderItem, } from "./consumer-protection/consent-gate.ts";
6
+ export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "./consumer-protection/consent-locale.ts";
7
+ export { type ContractTerminationRoutesOptions, createContractTerminationRoutes, } from "./consumer-protection/termination-pages.ts";
8
+ export { paymentEntity, subscriptionEntity } from "./entities.ts";
9
+ export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, type PaymentEventHeaders, type PaymentEventPayload, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, type SubscriptionEventHeaders, type SubscriptionEventPayload, subscriptionEventPayloadSchema, } from "./events.ts";
10
+ export { createBillingFoundationFeature } from "./feature.ts";
11
+ export { getSubscriptionForTenant, type SubscriptionView } from "./get-subscription-for-tenant.ts";
12
+ export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.ts";
13
+ export { billingPlansPanel, createBillingPlansScreen } from "./screens.ts";
14
+ export { createSubscriptionTierSync, effectiveTierFromSubscription, SUBSCRIPTION_WEBHOOK_PATH, type SubscriptionTierSyncDeps, } from "./subscription-tier-sync.ts";
15
+ export { type BillingFoundationOptions, type BillingPlanBenefit, type BillingPlanCatalog, type BillingPlanPrice, type BillingPlansResult, type BillingPlanView, type ConsumerProtectionOptions, KNOWN_RECURRING_INTERVALS, type LegalLinkSet, type PaymentEvent, type ProviderPrice, type ProviderSubscriptionSnapshot, type RecurringInterval, type SubscriptionEvent, type SubscriptionProviderPlugin, } from "./types.ts";
16
+ export { createSubscriptionWebhookRoute, type SubscriptionWebhookRouteOptions, } from "./webhook-handler.ts";
@@ -8,7 +8,7 @@ export { CONSENT_LOCALES, resolveConsentLocale, } from "./consumer-protection/co
8
8
  export { createContractTerminationRoutes, } from "./consumer-protection/termination-pages.js";
9
9
  export { paymentEntity, subscriptionEntity } from "./entities.js";
10
10
  export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, subscriptionEventPayloadSchema, } from "./events.js";
11
- export { billingFoundationFeature, createBillingFoundationFeature } from "./feature.js";
11
+ export { createBillingFoundationFeature } from "./feature.js";
12
12
  export { getSubscriptionForTenant } from "./get-subscription-for-tenant.js";
13
13
  export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.js";
14
14
  export { billingPlansPanel, createBillingPlansScreen } from "./screens.js";
@@ -1,5 +1,5 @@
1
1
  import type { HandlerContext } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { BillingPlanCatalog, BillingPlansResult, ProviderPrice, SubscriptionProviderPlugin } from "./types.js";
2
+ import type { BillingPlanCatalog, BillingPlansResult, ProviderPrice, SubscriptionProviderPlugin } from "./types.ts";
3
3
  /** `catalog?.purchaseRoles ?? DEFAULT_PURCHASE_ROLES` — the one place this
4
4
  * fallback is spelled out; plan-catalog.ts and the start-plan-checkout/
5
5
  * switch-plan/create-portal-session handlers all call this instead of
@@ -9,7 +9,9 @@ export type SubscriptionTierSyncDeps<TTier extends string> = {
9
9
  export declare const TIER_SYNC_MANUAL_GRANT_SKIPPED = "tier_sync_manual_grant_skipped";
10
10
  export declare function effectiveTierFromSubscription<TTier extends string>(status: string | undefined, tier: string | undefined, isTierName: (value: string) => value is TTier, defaultTier: TTier): TTier;
11
11
  export declare function createSubscriptionTierSync<TTier extends string>(deps: SubscriptionTierSyncDeps<TTier>): {
12
- createWebhookRoute: () => ExtraRouteDefinition;
12
+ createWebhookRoute: (options?: {
13
+ readonly path?: string;
14
+ }) => ExtraRouteDefinition;
13
15
  syncTierFromSubscription: (tenantId: TenantId, routeDeps: Pick<SignatureExtraRouteDeps, "dispatchSystemQuery" | "dispatchSystemWrite">) => Promise<{
14
16
  code: string;
15
17
  message: string;
@@ -114,9 +114,10 @@ export function createSubscriptionTierSync(deps) {
114
114
  };
115
115
  }
116
116
  }
117
- function createWebhookRoute() {
117
+ // `path` must keep the `:providerName` param the webhook route resolves the provider from.
118
+ function createWebhookRoute(options = {}) {
118
119
  return createSubscriptionWebhookRoute({
119
- path: SUBSCRIPTION_WEBHOOK_PATH,
120
+ path: options.path ?? SUBSCRIPTION_WEBHOOK_PATH,
120
121
  afterDispatch: async (dispatched, tenantId, routeDeps) => {
121
122
  const syncError = await syncTierFromSubscription(tenantId, routeDeps);
122
123
  if (syncError) {
@@ -2,9 +2,9 @@
2
2
  import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
3
3
  import type { HandlerContext, TenantId } from "@cosmicdrift/kumiko-framework/engine";
4
4
  import type { SecretsContext } from "@cosmicdrift/kumiko-framework/secrets";
5
- import { type BillingEventKinds, type BillingPlanAction, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, type SubscriptionEventType, type SubscriptionStatus, type TerminationScope } from "./constants.js";
6
- import type { OrderItem } from "./consumer-protection/consent-gate.js";
7
- import type { ConsentLocale } from "./consumer-protection/consent-locale.js";
5
+ import { type BillingEventKinds, type BillingPlanAction, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, type SubscriptionEventType, type SubscriptionStatus, type TerminationScope } from "./constants.ts";
6
+ import type { OrderItem } from "./consumer-protection/consent-gate.ts";
7
+ import type { ConsentLocale } from "./consumer-protection/consent-locale.ts";
8
8
  export type SubscriptionEvent = {
9
9
  /** Discriminator against PaymentEvent. Optional (instead of required) so
10
10
  * existing plugins like subscription-mollie, which don't set this field,
@@ -1,4 +1,4 @@
1
- import { type BillingFoundationOptions } from "./types.js";
1
+ import { type BillingFoundationOptions } from "./types.ts";
2
2
  /** Validates `options` and throws a plain `Error` with a clear message at
3
3
  * feature-definition time — same pattern as `createCapOverviewFeature`.
4
4
  * `createBillingFoundationFeature()` (no options) always succeeds; the
@@ -1,6 +1,6 @@
1
1
  import type { WriteResult } from "@cosmicdrift/kumiko-headless";
2
2
  import { type ReactNode } from "react";
3
- import type { BillingPlansResult } from "../types.js";
3
+ import type { BillingPlansResult } from "../types.ts";
4
4
  export declare const CONSENT_TEXT_OUTDATED_CODE = "consent_text_outdated";
5
5
  type ConsumerProtectionView = NonNullable<BillingPlansResult["consumerProtection"]>;
6
6
  export type CheckoutConsentPayload = {
@@ -1,6 +1,6 @@
1
- export { BILLING_PLANS_SCREEN_ID, type BillingPlanAction, BillingPlanActions, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "../constants.js";
2
- export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "../consumer-protection/consent-locale.js";
3
- export type { BillingPlanBenefit, BillingPlanCatalog, BillingPlansResult, BillingPlanView, LegalLinkSet, } from "../types.js";
4
- export { BillingPlansPanel } from "./billing-plans-panel.js";
5
- export { CheckoutConsentDialog, type CheckoutConsentDialogProps, type CheckoutConsentPayload, CONSENT_TEXT_OUTDATED_CODE, } from "./checkout-consent-dialog.js";
6
- export { type BillingFoundationClientOptions, billingFoundationClient } from "./client-plugin.js";
1
+ export { BILLING_PLANS_SCREEN_ID, type BillingPlanAction, BillingPlanActions, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "../constants.ts";
2
+ export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "../consumer-protection/consent-locale.ts";
3
+ export type { BillingPlanBenefit, BillingPlanCatalog, BillingPlansResult, BillingPlanView, LegalLinkSet, } from "../types.ts";
4
+ export { BillingPlansPanel } from "./billing-plans-panel.tsx";
5
+ export { CheckoutConsentDialog, type CheckoutConsentDialogProps, type CheckoutConsentPayload, CONSENT_TEXT_OUTDATED_CODE, } from "./checkout-consent-dialog.tsx";
6
+ export { type BillingFoundationClientOptions, billingFoundationClient } from "./client-plugin.tsx";
@@ -1,7 +1,7 @@
1
- import type { CapCounterContext } from "./book-cap-usage.js";
2
- import { type CalendarCapReservation } from "./cap-reservation.js";
3
- import { type SoftHitNotifier } from "./enforce-cap.js";
4
- import type { CalendarCapDef } from "./with-cap-enforcement.js";
1
+ import type { CapCounterContext } from "./book-cap-usage.ts";
2
+ import { type CalendarCapReservation } from "./cap-reservation.ts";
3
+ import { type SoftHitNotifier } from "./enforce-cap.ts";
4
+ import type { CalendarCapDef } from "./with-cap-enforcement.ts";
5
5
  export type CalendarCapUsageReservationSpec = Omit<CalendarCapDef, "amount" | "notify"> & {
6
6
  readonly amount: number;
7
7
  readonly notify?: SoftHitNotifier;
@@ -1,6 +1,6 @@
1
1
  import { UnprocessableError } from "@cosmicdrift/kumiko-framework/errors";
2
2
  import type { ReservationHandle } from "@cosmicdrift/kumiko-types/handlers";
3
- import { type BookCapUsageOptions, type CapCounterContext, type ReadRollingCapUsageOptions } from "./book-cap-usage.js";
3
+ import { type BookCapUsageOptions, type CapCounterContext, type ReadRollingCapUsageOptions } from "./book-cap-usage.ts";
4
4
  export type CalendarCapReservation = ReservationHandle & {
5
5
  readonly reservationId: string;
6
6
  readonly counterValue: number;
@@ -1,6 +1,6 @@
1
1
  import { KumikoError } from "@cosmicdrift/kumiko-framework/errors";
2
2
  import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
3
- import { type CapCounterContext } from "./book-cap-usage.js";
3
+ import { type CapCounterContext } from "./book-cap-usage.ts";
4
4
  /**
5
5
  * Cap-Toleranz-Profile — pro Cap-Typ asymmetrisch. Quelle: Memory
6
6
  * `project_pricing_byok_caps` §3 + `docs/plans/marketing/produkt/
@@ -1,7 +1,3 @@
1
1
  export declare function createCapCounterFeature(): import("@cosmicdrift/kumiko-types/feature").FeatureDefinition & {
2
2
  readonly exports: void;
3
3
  };
4
- /** @deprecated Use createCapCounterFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
5
- export declare const capCounterFeature: import("@cosmicdrift/kumiko-types/feature").FeatureDefinition & {
6
- readonly exports: void;
7
- };
@@ -125,5 +125,3 @@ export function createCapCounterFeature() {
125
125
  });
126
126
  }, { dedupeOptions: {} });
127
127
  }
128
- /** @deprecated Use createCapCounterFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
129
- export const capCounterFeature = createCapCounterFeature();
@@ -1,13 +1,13 @@
1
- export { capCounterAggregateId, rollingCapAggregateId } from "./aggregate-id.js";
2
- export { type BookCapUsageOptions, bookCapUsage, type MarkCapSoftWarnedOptions, markCapSoftWarned, type ReadRollingCapUsageOptions, readRollingCapUsage, } from "./book-cap-usage.js";
3
- export { type CalendarCapReservationHandle, type CalendarCapReservationHandleSpec, type CalendarCapUsageReservation, type CalendarCapUsageReservationSpec, calendarCapReservationHandle, reserveCalendarCapUsage, } from "./calendar-cap-usage-reservation.js";
4
- export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleBelowConsumedError, } from "./cap-reservation.js";
5
- export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.js";
6
- export { CAP_TOLERANCES, CapExceededError, type CapToleranceProfile, type CapToleranceProfileName, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, type EnforceCapResult, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, type SoftHitNotifier, type StockCapResult, } from "./enforce-cap.js";
7
- export { capCounterEntity } from "./entity.js";
8
- export { capCounterFeature, createCapCounterFeature } from "./feature.js";
9
- export { readPayloadField } from "./payload-field.js";
10
- export { type CapGuardContext, type CapLimitContext, createStockCapGuard, type StockCapGuard, type StockCapSpec, } from "./stock-cap-guard.js";
11
- export { capReservationsTable, capReservationsTableMeta } from "./tables.js";
12
- export { createValueCapGuard, type ValueCapGuard, type ValueCapSpec, } from "./value-cap-guard.js";
13
- export { type CalendarCapDef, type CalendarCapResolver, type RollingCapDef, type RollingCapResolver, withCapEnforcement, withRollingCapEnforcement, } from "./with-cap-enforcement.js";
1
+ export { capCounterAggregateId, rollingCapAggregateId } from "./aggregate-id.ts";
2
+ export { type BookCapUsageOptions, bookCapUsage, type MarkCapSoftWarnedOptions, markCapSoftWarned, type ReadRollingCapUsageOptions, readRollingCapUsage, } from "./book-cap-usage.ts";
3
+ export { type CalendarCapReservationHandle, type CalendarCapReservationHandleSpec, type CalendarCapUsageReservation, type CalendarCapUsageReservationSpec, calendarCapReservationHandle, reserveCalendarCapUsage, } from "./calendar-cap-usage-reservation.ts";
4
+ export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleBelowConsumedError, } from "./cap-reservation.ts";
5
+ export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.ts";
6
+ export { CAP_TOLERANCES, CapExceededError, type CapToleranceProfile, type CapToleranceProfileName, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, type EnforceCapResult, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, type SoftHitNotifier, type StockCapResult, } from "./enforce-cap.ts";
7
+ export { capCounterEntity } from "./entity.ts";
8
+ export { createCapCounterFeature } from "./feature.ts";
9
+ export { readPayloadField } from "./payload-field.ts";
10
+ export { type CapGuardContext, type CapLimitContext, createStockCapGuard, type StockCapGuard, type StockCapSpec, } from "./stock-cap-guard.ts";
11
+ export { capReservationsTable, capReservationsTableMeta } from "./tables.ts";
12
+ export { createValueCapGuard, type ValueCapGuard, type ValueCapSpec, } from "./value-cap-guard.ts";
13
+ export { type CalendarCapDef, type CalendarCapResolver, type RollingCapDef, type RollingCapResolver, withCapEnforcement, withRollingCapEnforcement, } from "./with-cap-enforcement.ts";
@@ -6,7 +6,7 @@ export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleB
6
6
  export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.js";
7
7
  export { CAP_TOLERANCES, CapExceededError, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, } from "./enforce-cap.js";
8
8
  export { capCounterEntity } from "./entity.js";
9
- export { capCounterFeature, createCapCounterFeature } from "./feature.js";
9
+ export { createCapCounterFeature } from "./feature.js";
10
10
  export { readPayloadField } from "./payload-field.js";
11
11
  export { createStockCapGuard, } from "./stock-cap-guard.js";
12
12
  export { capReservationsTable, capReservationsTableMeta } from "./tables.js";
@@ -1,7 +1,7 @@
1
1
  import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
2
2
  import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
3
3
  import { type WriteFailure } from "@cosmicdrift/kumiko-framework/errors";
4
- import type { CapGuardContext, CapLimitContext } from "./stock-cap-guard.js";
4
+ import type { CapGuardContext, CapLimitContext } from "./stock-cap-guard.ts";
5
5
  export type ValueCapSpec<TCaps> = {
6
6
  readonly field: string;
7
7
  /** `undefined` = no lower bound for this tier. */
@@ -1,5 +1,5 @@
1
1
  import type { HandlerContext, WriteEvent, WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
2
- import { type CapToleranceProfileName, type SoftHitNotifier } from "./enforce-cap.js";
2
+ import { type CapToleranceProfileName, type SoftHitNotifier } from "./enforce-cap.ts";
3
3
  /**
4
4
  * Pro-call dynamische Cap-Definition. Wird vor jedem Handler-Aufruf
5
5
  * neu evaluiert — typischer Caller liest hier den Tenant-Tier aus
@@ -1,5 +1,5 @@
1
1
  import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { CapSpec } from "./types.js";
2
+ import type { CapSpec } from "./types.ts";
3
3
  export type CreateCapOverviewOptions = {
4
4
  readonly caps: readonly CapSpec[];
5
5
  /** Caps shown as columns on the platform-wide tenant-cap-list screen.
@@ -1,3 +1,3 @@
1
1
  import { type QueryHandlerDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { CapSpec } from "../types.js";
2
+ import type { CapSpec } from "../types.ts";
3
3
  export declare function createCapsUsageQuery(caps: readonly CapSpec[], usageRoles: readonly string[]): QueryHandlerDefinition;
@@ -1,5 +1,5 @@
1
1
  import * as z from "zod";
2
- import type { CapSpec } from "../types.js";
2
+ import type { CapSpec } from "../types.ts";
3
3
  type TenantCapsListRow = {
4
4
  readonly tenantId: string;
5
5
  readonly name: string;
@@ -1,6 +1,6 @@
1
- export { DEFAULT_CAP_USAGE_ROLES } from "./access.js";
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.js";
3
- export { type CreateCapOverviewOptions, createCapOverviewFeature } from "./feature.js";
4
- export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.js";
5
- export type { CapSpec, CapUsage, CapUsageTone, CapUsageWithMeta } from "./types.js";
6
- export { computeFraction, computeTone } from "./usage-math.js";
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
+ export { type CreateCapOverviewOptions, createCapOverviewFeature } from "./feature.ts";
4
+ export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.ts";
5
+ export type { CapSpec, CapUsage, CapUsageTone, CapUsageWithMeta } from "./types.ts";
6
+ export { computeFraction, computeTone } from "./usage-math.ts";
@@ -1,5 +1,5 @@
1
1
  import type { ScreenDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import type { CapSpec } from "./types.js";
2
+ import type { CapSpec } from "./types.ts";
3
3
  export declare function createTenantCapListScreen(caps: readonly CapSpec[], listCaps: readonly string[], tiers?: readonly string[]): ScreenDefinition;
4
4
  export declare function createMyCapsScreen(usageRoles: readonly string[]): ScreenDefinition;
5
5
  export declare const platformTenantCapsScreen: ScreenDefinition;
@@ -1,6 +1,6 @@
1
1
  import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
2
2
  import type { TenantId } from "@cosmicdrift/kumiko-framework/engine";
3
- import type { CapLimitContext } from "../cap-counter/index.js";
3
+ import type { CapLimitContext } from "../cap-counter/index.ts";
4
4
  export type CapIconKey = "file" | "hash" | "database" | "users" | "mail" | "gauge";
5
5
  export type CapSpec = {
6
6
  readonly id: string;
@@ -1,4 +1,4 @@
1
- import type { CapUsageTone } from "./types.js";
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,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import type { CapUsage } from "../types.js";
2
+ import type { CapUsage } from "../types.ts";
3
3
  export declare function CapUsageBar({ usage, showLabel, }: {
4
4
  readonly usage: CapUsage;
5
5
  readonly showLabel?: boolean;
@@ -1,4 +1,4 @@
1
- export { CapCardsPanel } from "./cap-cards-panel.js";
2
- export { CapUsageBar } from "./cap-usage-bar.js";
3
- export { CapUsageCell } from "./cap-usage-cell.js";
4
- export { type CapOverviewClientOptions, capOverviewClient } from "./client-plugin.js";
1
+ export { CapCardsPanel } from "./cap-cards-panel.tsx";
2
+ export { CapUsageBar } from "./cap-usage-bar.tsx";
3
+ export { CapUsageCell } from "./cap-usage-cell.tsx";
4
+ export { type CapOverviewClientOptions, capOverviewClient } from "./client-plugin.tsx";
@@ -1,4 +1,4 @@
1
- import { type ChatWebhookChannelOptions, type DeliveryChannel } from "../delivery/index.js";
1
+ import { type ChatWebhookChannelOptions, type DeliveryChannel } from "../delivery/index.ts";
2
2
  export type DiscordChannelOptions = ChatWebhookChannelOptions;
3
3
  export declare const DISCORD_SECRET_KEYS: {
4
4
  readonly webhookPrefix: "channel-discord:webhooks.";
@@ -1,3 +1,3 @@
1
1
  import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import { type DiscordChannelOptions } from "./discord-channel.js";
2
+ import { type DiscordChannelOptions } from "./discord-channel.ts";
3
3
  export declare function createChannelDiscordFeature(options?: DiscordChannelOptions): FeatureDefinition;
@@ -1,2 +1,2 @@
1
- export { createDiscordChannel, DISCORD_DEFAULT_ALLOWED_HOSTS, DISCORD_SECRET_KEYS, DISCORD_WEBHOOK_PATH_PREFIX, type DiscordChannelOptions, } from "./discord-channel.js";
2
- export { createChannelDiscordFeature } from "./feature.js";
1
+ export { createDiscordChannel, DISCORD_DEFAULT_ALLOWED_HOSTS, DISCORD_SECRET_KEYS, DISCORD_WEBHOOK_PATH_PREFIX, type DiscordChannelOptions, } from "./discord-channel.ts";
2
+ export { createChannelDiscordFeature } from "./feature.ts";
@@ -1,6 +1,6 @@
1
1
  import type { TenantId } from "@cosmicdrift/kumiko-framework/engine";
2
- import { type ChannelContext, type DeliveryChannel, type EmailAttachmentRef } from "../delivery/index.js";
3
- import type { EmailTransport } from "./types.js";
2
+ import { type ChannelContext, type DeliveryChannel, type EmailAttachmentRef } from "../delivery/index.ts";
3
+ import type { EmailTransport } from "./types.ts";
4
4
  export declare function fileAttachmentsFrom(data: Readonly<Record<string, unknown>> | undefined, messageLocale?: string): readonly EmailAttachmentRef[];
5
5
  /** Resolves the sending tenant's own transport, null when it has none. Built per send and
6
6
  * never cached, so a provider change applies to the next mail; a throw fails the send. */
@@ -0,0 +1,14 @@
1
+ import * as z from "zod";
2
+ /** Env block `createSmtpTransportFromEnv` reads. All optional: without
3
+ * `SMTP_HOST` no app-level transport is built and auth mail flows stay off. */
4
+ export declare const smtpEnvSchema: z.ZodObject<{
5
+ SMTP_HOST: z.ZodOptional<z.ZodString>;
6
+ SMTP_PORT: z.ZodOptional<z.ZodString>;
7
+ SMTP_SECURE: z.ZodOptional<z.ZodEnum<{
8
+ false: "false";
9
+ true: "true";
10
+ }>>;
11
+ SMTP_USER: z.ZodOptional<z.ZodString>;
12
+ SMTP_PASS: z.ZodOptional<z.ZodString>;
13
+ SMTP_FROM: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
@@ -0,0 +1,27 @@
1
+ import * as z from "zod";
2
+ /** Env block `createSmtpTransportFromEnv` reads. All optional: without
3
+ * `SMTP_HOST` no app-level transport is built and auth mail flows stay off. */
4
+ export const smtpEnvSchema = z.object({
5
+ SMTP_HOST: z.string().min(1).optional().describe("SMTP host; unset disables app-level mail."),
6
+ SMTP_PORT: z
7
+ .string()
8
+ .regex(/^\d+$/, "must be a port number")
9
+ .optional()
10
+ .describe("SMTP port (default 587)."),
11
+ SMTP_SECURE: z
12
+ .enum(["true", "false"])
13
+ .optional()
14
+ .describe('Implicit TLS ("true") or STARTTLS/plain ("false", default).'),
15
+ SMTP_USER: z.string().min(1).optional().describe("SMTP auth user; auth needs SMTP_PASS too."),
16
+ SMTP_PASS: z
17
+ .string()
18
+ .min(1)
19
+ .optional()
20
+ .describe("SMTP auth password.")
21
+ .meta({ kumiko: { pulumi: { secret: true } } }),
22
+ SMTP_FROM: z
23
+ .string()
24
+ .min(1)
25
+ .optional()
26
+ .describe("Sender address; the app's fallback sender applies when unset."),
27
+ });
@@ -1,3 +1,14 @@
1
- import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
2
- import { type EmailChannelOptions } from "./email-channel.js";
3
- export declare function createChannelEmailFeature(options: EmailChannelOptions): FeatureDefinition;
1
+ import { type EmailChannelOptions } from "./email-channel.ts";
2
+ export declare function createChannelEmailFeature(options: EmailChannelOptions): import("@cosmicdrift/kumiko-framework/env").FeatureWithEnvSchema<import("@cosmicdrift/kumiko-types/feature").FeatureDefinition & {
3
+ readonly exports: void;
4
+ }, {
5
+ SMTP_HOST: import("zod").ZodOptional<import("zod").ZodString>;
6
+ SMTP_PORT: import("zod").ZodOptional<import("zod").ZodString>;
7
+ SMTP_SECURE: import("zod").ZodOptional<import("zod").ZodEnum<{
8
+ false: "false";
9
+ true: "true";
10
+ }>>;
11
+ SMTP_USER: import("zod").ZodOptional<import("zod").ZodString>;
12
+ SMTP_PASS: import("zod").ZodOptional<import("zod").ZodString>;
13
+ SMTP_FROM: import("zod").ZodOptional<import("zod").ZodString>;
14
+ }>;
@@ -1,9 +1,11 @@
1
1
  import { DELIVERY_CHANNEL_EXTENSION, EMAIL_CHANNEL_NAME, } from "@cosmicdrift/kumiko-bundled-features/delivery";
2
2
  import { defineFeature } from "@cosmicdrift/kumiko-framework/engine";
3
+ import { featureWithEnvSchema } from "@cosmicdrift/kumiko-framework/env";
3
4
  import { createEmailChannel } from "./email-channel.js";
5
+ import { smtpEnvSchema } from "./env.js";
4
6
  export function createChannelEmailFeature(options) {
5
7
  const channel = createEmailChannel(options);
6
- return defineFeature("channel-email", (r) => {
8
+ const feature = defineFeature("channel-email", (r) => {
7
9
  r.describe("Wires an `EmailTransport` (typically `mail-transport-smtp` in production, `createInMemoryTransport()` in tests) into the delivery system as the `email` channel. Requires `delivery`; pass an `EmailChannelOptions` with a `transport` and a `resolveEmail` function that maps a user ID to their email address. Mails render from stored templates (`renderer-mail-html`): a notification routed to this channel needs `template` + `meta` on `r.notification`, otherwise its delivery fails. Pass `tenantTransport: tenantMailTransport` (from `mail-foundation`) to send the notifications declared with `tenantTransport: true` through the sending tenant's own configured provider: a broken provider fails the send, a tenant without one uses the app `transport`; every other notification (password reset, sign-in) always goes through the app `transport`. `transport` may be left out when `tenantTransport` is set; a mail that then has no transport fails with `missing_credentials`. Notifications declared with `unsubscribe: true` get a signed `data.unsubscribeUrl` from delivery, which turns into the `List-Unsubscribe` headers.");
8
10
  r.uiHints({
9
11
  displayLabel: "Email Channel",
@@ -11,6 +13,7 @@ export function createChannelEmailFeature(options) {
11
13
  recommended: false,
12
14
  });
13
15
  r.requires({ features: ["delivery"] });
16
+ r.envSchema(smtpEnvSchema);
14
17
  r.translations({ keys: { "delivery.channel.email": { en: "Email" } } });
15
18
  r.useExtension(DELIVERY_CHANNEL_EXTENSION, EMAIL_CHANNEL_NAME, {
16
19
  mode: channel.mode,
@@ -19,4 +22,5 @@ export function createChannelEmailFeature(options) {
19
22
  send: channel.send,
20
23
  });
21
24
  });
25
+ return featureWithEnvSchema(feature, smtpEnvSchema);
22
26
  }