@antelopejs/interface-dms 0.3.5 → 0.4.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 (701) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +2 -2
  3. package/dist/attachments.d.ts +19 -10
  4. package/dist/attachments.js +15 -0
  5. package/dist/attachments.js.map +1 -1
  6. package/dist/auth/db/internal/sessions.model.d.ts +9 -0
  7. package/dist/auth/db/internal/sessions.model.js +31 -0
  8. package/dist/auth/db/internal/sessions.model.js.map +1 -0
  9. package/dist/auth/db/models/sessions.model.d.ts +16 -2
  10. package/dist/auth/db/models/sessions.model.js +33 -41
  11. package/dist/auth/db/models/sessions.model.js.map +1 -1
  12. package/dist/auth/db/models/userExternalIdentities.model.d.ts +11 -0
  13. package/dist/auth/db/models/userExternalIdentities.model.js +11 -0
  14. package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -1
  15. package/dist/auth/db/models/users.model.d.ts +13 -0
  16. package/dist/auth/db/models/users.model.js +13 -0
  17. package/dist/auth/db/models/users.model.js.map +1 -1
  18. package/dist/auth/db/tables/sessions.table.d.ts +6 -1
  19. package/dist/auth/db/tables/sessions.table.js +0 -4
  20. package/dist/auth/db/tables/sessions.table.js.map +1 -1
  21. package/dist/auth/db/tables/userExternalIdentities.table.d.ts +24 -0
  22. package/dist/auth/db/tables/userExternalIdentities.table.js +13 -0
  23. package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -1
  24. package/dist/auth/db/tables/users.table.d.ts +60 -0
  25. package/dist/auth/db/tables/users.table.js +32 -0
  26. package/dist/auth/db/tables/users.table.js.map +1 -1
  27. package/dist/auth/index.d.ts +114 -10
  28. package/dist/auth/index.js +110 -17
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/auth/internal/request-authenticators.d.ts +6 -0
  31. package/dist/auth/internal/request-authenticators.js +82 -0
  32. package/dist/auth/internal/request-authenticators.js.map +1 -0
  33. package/dist/auth/internal/request-principal.d.ts +10 -0
  34. package/dist/auth/internal/request-principal.js +27 -0
  35. package/dist/auth/internal/request-principal.js.map +1 -0
  36. package/dist/auth/internal/user-agent.d.ts +10 -0
  37. package/dist/auth/internal/user-agent.js +3 -0
  38. package/dist/auth/internal/user-agent.js.map +1 -0
  39. package/dist/auth/password.d.ts +19 -0
  40. package/dist/auth/password.js +23 -0
  41. package/dist/auth/password.js.map +1 -1
  42. package/dist/auth/request-authenticators.d.ts +4 -3
  43. package/dist/auth/request-authenticators.js +0 -77
  44. package/dist/auth/request-authenticators.js.map +1 -1
  45. package/dist/base/activity-feed.d.ts +210 -0
  46. package/dist/base/activity-feed.js +104 -0
  47. package/dist/base/activity-feed.js.map +1 -0
  48. package/dist/base/banner.d.ts +111 -0
  49. package/dist/base/banner.js +93 -0
  50. package/dist/base/banner.js.map +1 -0
  51. package/dist/base/block-registry/helpers.d.ts +26 -0
  52. package/dist/base/block-registry/helpers.js +27 -1
  53. package/dist/base/block-registry/helpers.js.map +1 -1
  54. package/dist/base/block-registry/internal/describe.d.ts +35 -0
  55. package/dist/base/block-registry/{describe.js → internal/describe.js} +50 -0
  56. package/dist/base/block-registry/internal/describe.js.map +1 -0
  57. package/dist/base/block-registry/internal/ui.d.ts +23 -0
  58. package/dist/base/block-registry/internal/ui.js +35 -0
  59. package/dist/base/block-registry/internal/ui.js.map +1 -0
  60. package/dist/base/block-registry/registry.d.ts +24 -0
  61. package/dist/base/block-registry/registry.js +30 -1
  62. package/dist/base/block-registry/registry.js.map +1 -1
  63. package/dist/base/block-registry/types.d.ts +149 -0
  64. package/dist/base/block-types.d.ts +22 -2
  65. package/dist/base/block-types.js +24 -2
  66. package/dist/base/block-types.js.map +1 -1
  67. package/dist/base/card.d.ts +100 -0
  68. package/dist/base/card.js +91 -0
  69. package/dist/base/card.js.map +1 -0
  70. package/dist/base/chart-card.d.ts +9 -2
  71. package/dist/base/chart-card.js +14 -1
  72. package/dist/base/chart-card.js.map +1 -1
  73. package/dist/base/chart-schemas.d.ts +127 -115
  74. package/dist/base/chart-schemas.js +18 -56
  75. package/dist/base/chart-schemas.js.map +1 -1
  76. package/dist/base/chart-type.d.ts +15 -0
  77. package/dist/base/chart-type.js +20 -0
  78. package/dist/base/chart-type.js.map +1 -0
  79. package/dist/base/chart.d.ts +31 -22
  80. package/dist/base/chart.js +27 -54
  81. package/dist/base/chart.js.map +1 -1
  82. package/dist/base/confirm-dialog.d.ts +6 -0
  83. package/dist/base/confirm-dialog.js +18 -0
  84. package/dist/base/confirm-dialog.js.map +1 -0
  85. package/dist/base/data-sources.d.ts +38 -0
  86. package/dist/base/data-sources.js +13 -0
  87. package/dist/base/data-sources.js.map +1 -1
  88. package/dist/base/data-types/compare-types.d.ts +0 -2
  89. package/dist/base/data-types/compare-types.js +18 -13
  90. package/dist/base/data-types/compare-types.js.map +1 -1
  91. package/dist/base/data-types/core.d.ts +55 -0
  92. package/dist/base/data-types/core.js +42 -0
  93. package/dist/base/data-types/core.js.map +1 -1
  94. package/dist/base/data-types/default-types.d.ts +241 -62
  95. package/dist/base/data-types/default-types.js +257 -135
  96. package/dist/base/data-types/default-types.js.map +1 -1
  97. package/dist/base/data-types/field-types.d.ts +164 -0
  98. package/dist/base/data-types/field-types.js +236 -0
  99. package/dist/base/data-types/field-types.js.map +1 -0
  100. package/dist/base/data-types/index.d.ts +1 -0
  101. package/dist/base/data-types/index.js +21 -0
  102. package/dist/base/data-types/index.js.map +1 -1
  103. package/dist/base/data-types/internal/compare-types.d.ts +3 -0
  104. package/dist/base/data-types/internal/compare-types.js +15 -0
  105. package/dist/base/data-types/internal/compare-types.js.map +1 -0
  106. package/dist/base/data-types/status-type.d.ts +2 -1
  107. package/dist/base/data-types/status-type.js +6 -0
  108. package/dist/base/data-types/status-type.js.map +1 -1
  109. package/dist/base/display.d.ts +124 -0
  110. package/dist/base/display.js +95 -0
  111. package/dist/base/display.js.map +1 -0
  112. package/dist/base/empty-state.d.ts +106 -0
  113. package/dist/base/empty-state.js +109 -0
  114. package/dist/base/empty-state.js.map +1 -0
  115. package/dist/base/export-jobs.d.ts +39 -1
  116. package/dist/base/export-jobs.js +12 -3
  117. package/dist/base/export-jobs.js.map +1 -1
  118. package/dist/base/form-block-schema.d.ts +345 -28
  119. package/dist/base/form-block-schema.js +83 -12
  120. package/dist/base/form-block-schema.js.map +1 -1
  121. package/dist/base/form-schema.d.ts +137 -22
  122. package/dist/base/form-schema.js +139 -42
  123. package/dist/base/form-schema.js.map +1 -1
  124. package/dist/base/form-types.d.ts +139 -4
  125. package/dist/base/form-types.js +7 -1
  126. package/dist/base/form-types.js.map +1 -1
  127. package/dist/base/form.js +7 -0
  128. package/dist/base/form.js.map +1 -1
  129. package/dist/base/grid.d.ts +57 -0
  130. package/dist/base/grid.js +43 -0
  131. package/dist/base/grid.js.map +1 -1
  132. package/dist/base/helpers/file-refs.js +5 -1
  133. package/dist/base/helpers/file-refs.js.map +1 -1
  134. package/dist/base/index.d.ts +11 -1
  135. package/dist/base/index.js +16 -1
  136. package/dist/base/index.js.map +1 -1
  137. package/dist/base/internal/button-availability.d.ts +17 -0
  138. package/dist/base/internal/button-availability.js +31 -0
  139. package/dist/base/internal/button-availability.js.map +1 -0
  140. package/dist/base/internal/chart-schemas.d.ts +6 -0
  141. package/dist/base/internal/chart-schemas.js +70 -0
  142. package/dist/base/internal/chart-schemas.js.map +1 -0
  143. package/dist/base/internal/chart.d.ts +22 -0
  144. package/dist/base/internal/chart.js +37 -0
  145. package/dist/base/internal/chart.js.map +1 -0
  146. package/dist/base/internal/confirm-dialog.d.ts +13 -0
  147. package/dist/base/internal/confirm-dialog.js +24 -0
  148. package/dist/base/internal/confirm-dialog.js.map +1 -0
  149. package/dist/base/internal/display.d.ts +13 -0
  150. package/dist/base/internal/display.js +18 -0
  151. package/dist/base/internal/display.js.map +1 -0
  152. package/dist/base/internal/export-jobs.d.ts +2 -0
  153. package/dist/base/internal/export-jobs.js +6 -0
  154. package/dist/base/internal/export-jobs.js.map +1 -0
  155. package/dist/base/internal/form-block-schema.d.ts +6 -0
  156. package/dist/base/internal/form-block-schema.js +10 -0
  157. package/dist/base/internal/form-block-schema.js.map +1 -0
  158. package/dist/base/internal/form-schema.d.ts +7 -0
  159. package/dist/base/internal/form-schema.js +26 -0
  160. package/dist/base/internal/form-schema.js.map +1 -0
  161. package/dist/base/internal/layouts.d.ts +39 -0
  162. package/dist/base/internal/layouts.js +3 -0
  163. package/dist/base/internal/layouts.js.map +1 -0
  164. package/dist/base/internal/query-response.d.ts +24 -0
  165. package/dist/base/internal/query-response.js +47 -0
  166. package/dist/base/internal/query-response.js.map +1 -0
  167. package/dist/base/internal/searchable.d.ts +6 -0
  168. package/dist/base/internal/searchable.js +15 -0
  169. package/dist/base/internal/searchable.js.map +1 -0
  170. package/dist/base/key-value-list.d.ts +160 -0
  171. package/dist/base/key-value-list.js +107 -0
  172. package/dist/base/key-value-list.js.map +1 -0
  173. package/dist/base/kpi-card.d.ts +12 -4
  174. package/dist/base/kpi-card.js +7 -0
  175. package/dist/base/kpi-card.js.map +1 -1
  176. package/dist/base/layouts.d.ts +35 -0
  177. package/dist/base/layouts.js +41 -7
  178. package/dist/base/layouts.js.map +1 -1
  179. package/dist/base/meter.d.ts +186 -0
  180. package/dist/base/meter.js +134 -0
  181. package/dist/base/meter.js.map +1 -0
  182. package/dist/base/nav-card-grid.d.ts +173 -0
  183. package/dist/base/nav-card-grid.js +89 -0
  184. package/dist/base/nav-card-grid.js.map +1 -0
  185. package/dist/base/period-selector.d.ts +20 -0
  186. package/dist/base/period-selector.js +23 -0
  187. package/dist/base/period-selector.js.map +1 -1
  188. package/dist/base/placeholder.d.ts +26 -0
  189. package/dist/base/placeholder.js +12 -0
  190. package/dist/base/placeholder.js.map +1 -1
  191. package/dist/base/query-response.d.ts +51 -1
  192. package/dist/base/query-response.js +43 -26
  193. package/dist/base/query-response.js.map +1 -1
  194. package/dist/base/resource-form-schema.d.ts +18 -0
  195. package/dist/base/resource-form-schema.js +20 -3
  196. package/dist/base/resource-form-schema.js.map +1 -1
  197. package/dist/base/searchable.d.ts +2 -0
  198. package/dist/base/searchable.js +4 -0
  199. package/dist/base/searchable.js.map +1 -1
  200. package/dist/base/section.d.ts +105 -0
  201. package/dist/base/section.js +123 -0
  202. package/dist/base/section.js.map +1 -0
  203. package/dist/base/stack.d.ts +113 -0
  204. package/dist/base/stack.js +58 -0
  205. package/dist/base/stack.js.map +1 -1
  206. package/dist/base/stat-group.d.ts +152 -0
  207. package/dist/base/stat-group.js +97 -0
  208. package/dist/base/stat-group.js.map +1 -0
  209. package/dist/base/tab.d.ts +25 -8
  210. package/dist/base/tab.js +11 -0
  211. package/dist/base/tab.js.map +1 -1
  212. package/dist/base/table-view/column-display.d.ts +195 -0
  213. package/dist/base/table-view/column-display.js +131 -0
  214. package/dist/base/table-view/column-display.js.map +1 -0
  215. package/dist/base/table-view/data-functions.d.ts +36 -14
  216. package/dist/base/table-view/data-functions.js +26 -1
  217. package/dist/base/table-view/data-functions.js.map +1 -1
  218. package/dist/base/table-view/factory-helpers.d.ts +0 -42
  219. package/dist/base/table-view/factory-helpers.js +1 -244
  220. package/dist/base/table-view/factory-helpers.js.map +1 -1
  221. package/dist/base/table-view/factory.d.ts +5 -1
  222. package/dist/base/table-view/factory.js +158 -202
  223. package/dist/base/table-view/factory.js.map +1 -1
  224. package/dist/base/table-view/internal/auth.d.ts +33 -0
  225. package/dist/base/table-view/{auth.js → internal/auth.js} +45 -6
  226. package/dist/base/table-view/internal/auth.js.map +1 -0
  227. package/dist/base/table-view/internal/column-display.d.ts +18 -0
  228. package/dist/base/table-view/internal/column-display.js +37 -0
  229. package/dist/base/table-view/internal/column-display.js.map +1 -0
  230. package/dist/base/table-view/internal/data-functions.d.ts +14 -0
  231. package/dist/base/table-view/internal/data-functions.js +3 -0
  232. package/dist/base/table-view/internal/data-functions.js.map +1 -0
  233. package/dist/base/table-view/internal/factory-helpers.d.ts +213 -0
  234. package/dist/base/table-view/internal/factory-helpers.js +477 -0
  235. package/dist/base/table-view/internal/factory-helpers.js.map +1 -0
  236. package/dist/base/table-view/{files.d.ts → internal/files.d.ts} +5 -0
  237. package/dist/base/table-view/{files.js → internal/files.js} +14 -4
  238. package/dist/base/table-view/internal/files.js.map +1 -0
  239. package/dist/base/table-view/internal/footer.d.ts +33 -0
  240. package/dist/base/table-view/internal/footer.js +112 -0
  241. package/dist/base/table-view/internal/footer.js.map +1 -0
  242. package/dist/base/table-view/{guards.d.ts → internal/guards.d.ts} +3 -0
  243. package/dist/base/table-view/internal/guards.js +134 -0
  244. package/dist/base/table-view/internal/guards.js.map +1 -0
  245. package/dist/base/table-view/internal/meta.d.ts +5 -0
  246. package/dist/base/table-view/internal/meta.js +13 -0
  247. package/dist/base/table-view/internal/meta.js.map +1 -0
  248. package/dist/base/table-view/internal/nav-badges.d.ts +9 -0
  249. package/dist/base/table-view/internal/nav-badges.js +79 -0
  250. package/dist/base/table-view/internal/nav-badges.js.map +1 -0
  251. package/dist/base/table-view/internal/options.d.ts +6 -0
  252. package/dist/base/table-view/internal/options.js +10 -0
  253. package/dist/base/table-view/internal/options.js.map +1 -0
  254. package/dist/base/table-view/internal/realtime-listeners.d.ts +4 -0
  255. package/dist/base/table-view/internal/realtime-listeners.js +7 -0
  256. package/dist/base/table-view/internal/realtime-listeners.js.map +1 -0
  257. package/dist/base/table-view/internal/realtime.d.ts +39 -0
  258. package/dist/base/table-view/internal/realtime.js +163 -0
  259. package/dist/base/table-view/internal/realtime.js.map +1 -0
  260. package/dist/base/table-view/internal/request-filter.d.ts +75 -0
  261. package/dist/base/table-view/internal/request-filter.js +154 -0
  262. package/dist/base/table-view/internal/request-filter.js.map +1 -0
  263. package/dist/base/table-view/internal/resource-form.d.ts +25 -0
  264. package/dist/base/table-view/internal/resource-form.js +91 -0
  265. package/dist/base/table-view/internal/resource-form.js.map +1 -0
  266. package/dist/base/table-view/{row-rules.d.ts → internal/row-rules.d.ts} +5 -2
  267. package/dist/base/table-view/{row-rules.js → internal/row-rules.js} +20 -19
  268. package/dist/base/table-view/internal/row-rules.js.map +1 -0
  269. package/dist/base/table-view/internal/tabs.d.ts +39 -0
  270. package/dist/base/table-view/internal/tabs.js +116 -0
  271. package/dist/base/table-view/internal/tabs.js.map +1 -0
  272. package/dist/base/table-view/internal/validation.d.ts +99 -0
  273. package/dist/base/table-view/internal/validation.js +297 -0
  274. package/dist/base/table-view/internal/validation.js.map +1 -0
  275. package/dist/base/table-view/internal/views.d.ts +14 -0
  276. package/dist/base/table-view/internal/views.js +42 -0
  277. package/dist/base/table-view/internal/views.js.map +1 -0
  278. package/dist/base/table-view/internal/writer.d.ts +39 -0
  279. package/dist/base/table-view/internal/writer.js +55 -0
  280. package/dist/base/table-view/internal/writer.js.map +1 -0
  281. package/dist/base/table-view/meta.d.ts +77 -4
  282. package/dist/base/table-view/meta.js +133 -13
  283. package/dist/base/table-view/meta.js.map +1 -1
  284. package/dist/base/table-view/options.d.ts +749 -28
  285. package/dist/base/table-view/options.js +9 -2
  286. package/dist/base/table-view/options.js.map +1 -1
  287. package/dist/base/table-view/realtime.d.ts +26 -17
  288. package/dist/base/table-view/realtime.js +29 -126
  289. package/dist/base/table-view/realtime.js.map +1 -1
  290. package/dist/base/table-view/resource-form.d.ts +11 -5
  291. package/dist/base/table-view/resource-form.js +15 -59
  292. package/dist/base/table-view/resource-form.js.map +1 -1
  293. package/dist/base/table-view/routes.d.ts +29 -0
  294. package/dist/base/table-view/routes.js +71 -6
  295. package/dist/base/table-view/routes.js.map +1 -1
  296. package/dist/base/table-view/schema.d.ts +483 -69
  297. package/dist/base/table-view/schema.js +163 -18
  298. package/dist/base/table-view/schema.js.map +1 -1
  299. package/dist/base/table-view/source.d.ts +62 -0
  300. package/dist/base/table-view/source.js +161 -0
  301. package/dist/base/table-view/source.js.map +1 -0
  302. package/dist/base/table-view/views.d.ts +20 -0
  303. package/dist/base/table-view/views.js +38 -0
  304. package/dist/base/table-view/views.js.map +1 -0
  305. package/dist/base/table-view/writer.d.ts +7 -0
  306. package/dist/base/table-view/writer.js +17 -0
  307. package/dist/base/table-view/writer.js.map +1 -0
  308. package/dist/base/table-view.d.ts +34 -6
  309. package/dist/base/table-view.js +42 -6
  310. package/dist/base/table-view.js.map +1 -1
  311. package/dist/base/tenant-export-archive.d.ts +21 -0
  312. package/dist/base/tenant-export-archive.js +11 -0
  313. package/dist/base/tenant-export-archive.js.map +1 -1
  314. package/dist/base/top-list-card.d.ts +35 -12
  315. package/dist/base/top-list-card.js +24 -0
  316. package/dist/base/top-list-card.js.map +1 -1
  317. package/dist/base/types/action-target.d.ts +36 -20
  318. package/dist/base/types/component-input.d.ts +3 -0
  319. package/dist/base/types/confirm-dialog.d.ts +69 -0
  320. package/dist/base/types/confirm-dialog.js +3 -0
  321. package/dist/base/types/confirm-dialog.js.map +1 -0
  322. package/dist/base/types/custom-button.d.ts +48 -2
  323. package/dist/base/types/enum-option.d.ts +9 -0
  324. package/dist/base/types/error.d.ts +9 -0
  325. package/dist/base/types/error.js +7 -1
  326. package/dist/base/types/error.js.map +1 -1
  327. package/dist/base/types/export-status.d.ts +3 -0
  328. package/dist/base/types/export-status.js +3 -0
  329. package/dist/base/types/export-status.js.map +1 -1
  330. package/dist/base/types/field-config.d.ts +3 -0
  331. package/dist/base/types/form-mode.d.ts +3 -0
  332. package/dist/base/types/form-mode.js +3 -0
  333. package/dist/base/types/form-mode.js.map +1 -1
  334. package/dist/base/types/form-values.d.ts +6 -0
  335. package/dist/base/types/guards.d.ts +37 -7
  336. package/dist/base/types/index.d.ts +2 -0
  337. package/dist/base/types/index.js +2 -0
  338. package/dist/base/types/index.js.map +1 -1
  339. package/dist/base/types/internal/action-target.d.ts +8 -0
  340. package/dist/base/types/internal/action-target.js +16 -0
  341. package/dist/base/types/internal/action-target.js.map +1 -0
  342. package/dist/base/types/json.d.ts +6 -0
  343. package/dist/base/types/orientation.d.ts +3 -0
  344. package/dist/base/types/orientation.js +3 -0
  345. package/dist/base/types/orientation.js.map +1 -1
  346. package/dist/base/types/readonly-behavior.d.ts +9 -0
  347. package/dist/base/types/readonly-behavior.js +3 -0
  348. package/dist/base/types/readonly-behavior.js.map +1 -1
  349. package/dist/base/types/row-action.d.ts +111 -0
  350. package/dist/base/types/size.d.ts +1 -0
  351. package/dist/base/types/size.js +4 -0
  352. package/dist/base/types/size.js.map +1 -1
  353. package/dist/base/types/tone.d.ts +14 -0
  354. package/dist/base/types/tone.js +24 -0
  355. package/dist/base/types/tone.js.map +1 -0
  356. package/dist/client-base-url.d.ts +8 -0
  357. package/dist/client-base-url.js +8 -0
  358. package/dist/client-base-url.js.map +1 -1
  359. package/dist/component-slots.d.ts +17 -2
  360. package/dist/component-slots.js +18 -66
  361. package/dist/component-slots.js.map +1 -1
  362. package/dist/component.d.ts +113 -0
  363. package/dist/component.js +84 -1
  364. package/dist/component.js.map +1 -1
  365. package/dist/data-controllers/members.d.ts +16 -1
  366. package/dist/data-controllers/members.js +87 -26
  367. package/dist/data-controllers/members.js.map +1 -1
  368. package/dist/data-controllers/roles.d.ts +1 -0
  369. package/dist/data-controllers/roles.js +3 -3
  370. package/dist/data-controllers/roles.js.map +1 -1
  371. package/dist/db/{models → internal}/exportJobs.model.d.ts +2 -0
  372. package/dist/db/{models → internal}/exportJobs.model.js +4 -1
  373. package/dist/db/internal/exportJobs.model.js.map +1 -0
  374. package/dist/db/internal/inviteResolutions.model.d.ts +34 -0
  375. package/dist/db/internal/inviteResolutions.model.js +80 -0
  376. package/dist/db/internal/inviteResolutions.model.js.map +1 -0
  377. package/dist/db/internal/table-names.d.ts +4 -0
  378. package/dist/db/internal/table-names.js +8 -0
  379. package/dist/db/internal/table-names.js.map +1 -0
  380. package/dist/db/{models → internal}/tenantLifecycle.model.d.ts +10 -1
  381. package/dist/db/{models → internal}/tenantLifecycle.model.js +10 -1
  382. package/dist/db/internal/tenantLifecycle.model.js.map +1 -0
  383. package/dist/db/{tables → internal}/tenantLifecycle.table.d.ts +6 -0
  384. package/dist/db/{tables → internal}/tenantLifecycle.table.js +6 -0
  385. package/dist/db/internal/tenantLifecycle.table.js.map +1 -0
  386. package/dist/db/models/index.d.ts +0 -2
  387. package/dist/db/models/index.js +0 -2
  388. package/dist/db/models/index.js.map +1 -1
  389. package/dist/db/models/inviteResolutions.model.d.ts +1 -25
  390. package/dist/db/models/inviteResolutions.model.js +0 -68
  391. package/dist/db/models/inviteResolutions.model.js.map +1 -1
  392. package/dist/db/models/roles.model.d.ts +6 -0
  393. package/dist/db/models/roles.model.js +6 -0
  394. package/dist/db/models/roles.model.js.map +1 -1
  395. package/dist/db/models/tenantMembers.model.js +1 -1
  396. package/dist/db/models/tenantMembers.model.js.map +1 -1
  397. package/dist/db/models/user_invites.model.d.ts +24 -0
  398. package/dist/db/models/user_invites.model.js +25 -1
  399. package/dist/db/models/user_invites.model.js.map +1 -1
  400. package/dist/db/tables/exportJobs.table.d.ts +5 -1
  401. package/dist/db/tables/exportJobs.table.js +3 -3
  402. package/dist/db/tables/exportJobs.table.js.map +1 -1
  403. package/dist/db/tables/index.d.ts +0 -1
  404. package/dist/db/tables/index.js +0 -1
  405. package/dist/db/tables/index.js.map +1 -1
  406. package/dist/db/tables/inviteResolutions.table.d.ts +1 -1
  407. package/dist/db/tables/inviteResolutions.table.js +4 -3
  408. package/dist/db/tables/inviteResolutions.table.js.map +1 -1
  409. package/dist/db/tables/roles.table.d.ts +2 -0
  410. package/dist/db/tables/roles.table.js +4 -0
  411. package/dist/db/tables/roles.table.js.map +1 -1
  412. package/dist/db/tables/tenantMembers.table.d.ts +1 -0
  413. package/dist/db/tables/user_invites.table.d.ts +11 -0
  414. package/dist/db/tables/user_invites.table.js +4 -0
  415. package/dist/db/tables/user_invites.table.js.map +1 -1
  416. package/dist/guards.d.ts +36 -0
  417. package/dist/guards.js +30 -1
  418. package/dist/guards.js.map +1 -1
  419. package/dist/hooks.d.ts +133 -1
  420. package/dist/hooks.js +87 -1
  421. package/dist/hooks.js.map +1 -1
  422. package/dist/html-render/index.d.ts +15 -0
  423. package/dist/html-render/index.js +15 -0
  424. package/dist/html-render/index.js.map +1 -1
  425. package/dist/html-render/types.d.ts +4 -0
  426. package/dist/index.d.ts +6 -7
  427. package/dist/index.js +12 -17
  428. package/dist/index.js.map +1 -1
  429. package/dist/internal/attachments.d.ts +16 -0
  430. package/dist/internal/attachments.js +3 -0
  431. package/dist/internal/attachments.js.map +1 -0
  432. package/dist/internal/component-slots.d.ts +27 -0
  433. package/dist/internal/component-slots.js +97 -0
  434. package/dist/internal/component-slots.js.map +1 -0
  435. package/dist/internal/invite-membership.d.ts +8 -0
  436. package/dist/{invite-membership.js → internal/invite-membership.js} +11 -5
  437. package/dist/internal/invite-membership.js.map +1 -0
  438. package/dist/internal/invite-replacement.d.ts +7 -0
  439. package/dist/{invite-replacement.js → internal/invite-replacement.js} +8 -3
  440. package/dist/internal/invite-replacement.js.map +1 -0
  441. package/dist/internal/invite-resolution.d.ts +3 -0
  442. package/dist/internal/invite-resolution.js +50 -0
  443. package/dist/internal/invite-resolution.js.map +1 -0
  444. package/dist/internal/invites.d.ts +31 -0
  445. package/dist/internal/invites.js +44 -0
  446. package/dist/internal/invites.js.map +1 -0
  447. package/dist/internal/permission-gate.d.ts +23 -0
  448. package/dist/internal/permission-gate.js +43 -0
  449. package/dist/internal/permission-gate.js.map +1 -0
  450. package/dist/internal/tenant-access.d.ts +28 -0
  451. package/dist/internal/tenant-access.js +28 -0
  452. package/dist/internal/tenant-access.js.map +1 -0
  453. package/dist/internal/tenant-ownership.d.ts +13 -0
  454. package/dist/internal/tenant-ownership.js +95 -0
  455. package/dist/internal/tenant-ownership.js.map +1 -0
  456. package/dist/internal/uploads.d.ts +19 -0
  457. package/dist/internal/uploads.js +3 -0
  458. package/dist/internal/uploads.js.map +1 -0
  459. package/dist/invite-extensions/availability.d.ts +28 -3
  460. package/dist/invite-extensions/availability.js +26 -23
  461. package/dist/invite-extensions/availability.js.map +1 -1
  462. package/dist/invite-extensions/internal/availability.d.ts +12 -0
  463. package/dist/invite-extensions/internal/availability.js +32 -0
  464. package/dist/invite-extensions/internal/availability.js.map +1 -0
  465. package/dist/invite-extensions/internal/delivery.d.ts +44 -0
  466. package/dist/invite-extensions/{delivery.js → internal/delivery.js} +38 -0
  467. package/dist/invite-extensions/internal/delivery.js.map +1 -0
  468. package/dist/invite-extensions/internal/edit.d.ts +34 -0
  469. package/dist/invite-extensions/{edit.js → internal/edit.js} +33 -0
  470. package/dist/invite-extensions/internal/edit.js.map +1 -0
  471. package/dist/invite-extensions/internal/field-ids.d.ts +21 -0
  472. package/dist/invite-extensions/{field-ids.js → internal/field-ids.js} +13 -0
  473. package/dist/invite-extensions/internal/field-ids.js.map +1 -0
  474. package/dist/invite-extensions/internal/form-slot.d.ts +13 -0
  475. package/dist/invite-extensions/{form-slot.js → internal/form-slot.js} +49 -4
  476. package/dist/invite-extensions/internal/form-slot.js.map +1 -0
  477. package/dist/invite-extensions/internal/payload-slices.d.ts +31 -0
  478. package/dist/invite-extensions/{payload-slices.js → internal/payload-slices.js} +30 -0
  479. package/dist/invite-extensions/internal/payload-slices.js.map +1 -0
  480. package/dist/invite-extensions/internal/registry.d.ts +48 -0
  481. package/dist/invite-extensions/internal/registry.js +77 -0
  482. package/dist/invite-extensions/internal/registry.js.map +1 -0
  483. package/dist/invite-extensions/internal/types.d.ts +61 -0
  484. package/dist/invite-extensions/internal/types.js +3 -0
  485. package/dist/invite-extensions/internal/types.js.map +1 -0
  486. package/dist/invite-extensions/registry.d.ts +44 -12
  487. package/dist/invite-extensions/registry.js +51 -43
  488. package/dist/invite-extensions/registry.js.map +1 -1
  489. package/dist/invite-extensions/types.d.ts +59 -34
  490. package/dist/invite-extensions.d.ts +30 -4
  491. package/dist/invite-extensions.js +57 -7
  492. package/dist/invite-extensions.js.map +1 -1
  493. package/dist/invite-resolution.d.ts +5 -2
  494. package/dist/invite-resolution.js +16 -46
  495. package/dist/invite-resolution.js.map +1 -1
  496. package/dist/invitee-display-name.d.ts +5 -0
  497. package/dist/invitee-display-name.js +15 -0
  498. package/dist/invitee-display-name.js.map +1 -0
  499. package/dist/invites.d.ts +46 -14
  500. package/dist/invites.js +41 -44
  501. package/dist/invites.js.map +1 -1
  502. package/dist/layout-banners.d.ts +68 -0
  503. package/dist/layout-banners.js +18 -0
  504. package/dist/layout-banners.js.map +1 -1
  505. package/dist/notifications/builder.d.ts +3 -1
  506. package/dist/notifications/builder.js +10 -0
  507. package/dist/notifications/builder.js.map +1 -1
  508. package/dist/notifications/index.d.ts +1 -0
  509. package/dist/notifications/index.js +16 -0
  510. package/dist/notifications/index.js.map +1 -1
  511. package/dist/notifications/internal.d.ts +8 -5
  512. package/dist/notifications/internal.js +6 -0
  513. package/dist/notifications/internal.js.map +1 -1
  514. package/dist/notifications/sendable.d.ts +6 -0
  515. package/dist/notifications/sendable.js +13 -4
  516. package/dist/notifications/sendable.js.map +1 -1
  517. package/dist/notifications/types.d.ts +26 -1
  518. package/dist/page/categories.d.ts +19 -17
  519. package/dist/page/categories.js +24 -168
  520. package/dist/page/categories.js.map +1 -1
  521. package/dist/page/component-tree.d.ts +15 -1
  522. package/dist/page/component-tree.js +0 -40
  523. package/dist/page/component-tree.js.map +1 -1
  524. package/dist/page/controllers.d.ts +135 -0
  525. package/dist/page/controllers.js +124 -8
  526. package/dist/page/controllers.js.map +1 -1
  527. package/dist/page/declaration-conflict.d.ts +9 -0
  528. package/dist/page/declaration-conflict.js +17 -0
  529. package/dist/page/declaration-conflict.js.map +1 -0
  530. package/dist/page/form-page-routes.d.ts +7 -10
  531. package/dist/page/form-page-routes.js +14 -31
  532. package/dist/page/form-page-routes.js.map +1 -1
  533. package/dist/page/internal/categories.d.ts +62 -0
  534. package/dist/page/internal/categories.js +260 -0
  535. package/dist/page/internal/categories.js.map +1 -0
  536. package/dist/page/internal/component-target.d.ts +37 -0
  537. package/dist/page/{component-target.js → internal/component-target.js} +27 -2
  538. package/dist/page/internal/component-target.js.map +1 -0
  539. package/dist/page/internal/component-tree.d.ts +13 -0
  540. package/dist/page/internal/component-tree.js +61 -0
  541. package/dist/page/internal/component-tree.js.map +1 -0
  542. package/dist/page/{extension-assembly.d.ts → internal/extension-assembly.d.ts} +5 -2
  543. package/dist/page/{extension-assembly.js → internal/extension-assembly.js} +8 -0
  544. package/dist/page/internal/extension-assembly.js.map +1 -0
  545. package/dist/page/internal/extension-validation.d.ts +24 -0
  546. package/dist/page/{extension-validation.js → internal/extension-validation.js} +8 -0
  547. package/dist/page/internal/extension-validation.js.map +1 -0
  548. package/dist/page/internal/form-page-routes.d.ts +26 -0
  549. package/dist/page/internal/form-page-routes.js +40 -0
  550. package/dist/page/internal/form-page-routes.js.map +1 -0
  551. package/dist/page/internal/layout-filter.d.ts +21 -0
  552. package/dist/page/internal/layout-filter.js +101 -0
  553. package/dist/page/internal/layout-filter.js.map +1 -0
  554. package/dist/page/{metadata-helpers.d.ts → internal/metadata-helpers.d.ts} +4 -1
  555. package/dist/page/{metadata-helpers.js → internal/metadata-helpers.js} +19 -2
  556. package/dist/page/internal/metadata-helpers.js.map +1 -0
  557. package/dist/page/internal/nav-badges.d.ts +17 -0
  558. package/dist/page/internal/nav-badges.js +68 -0
  559. package/dist/page/internal/nav-badges.js.map +1 -0
  560. package/dist/page/internal/page-registration.d.ts +29 -0
  561. package/dist/page/internal/page-registration.js +41 -0
  562. package/dist/page/internal/page-registration.js.map +1 -0
  563. package/dist/page/internal/registry.d.ts +128 -0
  564. package/dist/page/internal/registry.js +225 -0
  565. package/dist/page/internal/registry.js.map +1 -0
  566. package/dist/page/internal/table-view-ids.d.ts +10 -0
  567. package/dist/page/internal/table-view-ids.js +39 -0
  568. package/dist/page/internal/table-view-ids.js.map +1 -0
  569. package/dist/page/internal/types.d.ts +2 -0
  570. package/dist/page/internal/types.js +6 -0
  571. package/dist/page/internal/types.js.map +1 -0
  572. package/dist/page/layout-filter.d.ts +4 -0
  573. package/dist/page/layout-filter.js +11 -0
  574. package/dist/page/layout-filter.js.map +1 -1
  575. package/dist/page/metadata.d.ts +93 -0
  576. package/dist/page/metadata.js +236 -28
  577. package/dist/page/metadata.js.map +1 -1
  578. package/dist/page/registry.d.ts +17 -36
  579. package/dist/page/registry.js +25 -127
  580. package/dist/page/registry.js.map +1 -1
  581. package/dist/page/roots.d.ts +10 -0
  582. package/dist/page/roots.js +27 -6
  583. package/dist/page/roots.js.map +1 -1
  584. package/dist/page/types.d.ts +186 -1
  585. package/dist/page/types.js +1 -2
  586. package/dist/page/types.js.map +1 -1
  587. package/dist/page.d.ts +23 -1
  588. package/dist/page.js +24 -2
  589. package/dist/page.js.map +1 -1
  590. package/dist/permission-gate.d.ts +14 -0
  591. package/dist/permission-gate.js +3 -0
  592. package/dist/permission-gate.js.map +1 -0
  593. package/dist/permissions-resolver.d.ts +24 -0
  594. package/dist/permissions-resolver.js +24 -0
  595. package/dist/permissions-resolver.js.map +1 -1
  596. package/dist/permissions.d.ts +27 -0
  597. package/dist/permissions.js +37 -0
  598. package/dist/permissions.js.map +1 -1
  599. package/dist/quick-actions.d.ts +27 -0
  600. package/dist/quick-actions.js +1 -0
  601. package/dist/quick-actions.js.map +1 -1
  602. package/dist/realtime.d.ts +29 -0
  603. package/dist/realtime.js +30 -0
  604. package/dist/realtime.js.map +1 -1
  605. package/dist/request-tenant.d.ts +17 -0
  606. package/dist/request-tenant.js +18 -1
  607. package/dist/request-tenant.js.map +1 -1
  608. package/dist/tenant-access.d.ts +38 -6
  609. package/dist/tenant-access.js +38 -8
  610. package/dist/tenant-access.js.map +1 -1
  611. package/dist/tenant-export.d.ts +19 -0
  612. package/dist/tenant-lifecycle.d.ts +13 -0
  613. package/dist/tenant-lifecycle.js +22 -1
  614. package/dist/tenant-lifecycle.js.map +1 -1
  615. package/dist/tenant-ownership.d.ts +2 -1
  616. package/dist/tenant-ownership.js +5 -85
  617. package/dist/tenant-ownership.js.map +1 -1
  618. package/dist/tenant-scoped-model.d.ts +8 -0
  619. package/dist/tenant-scoped-model.js +8 -0
  620. package/dist/tenant-scoped-model.js.map +1 -1
  621. package/dist/uploads.d.ts +24 -16
  622. package/dist/uploads.js +24 -0
  623. package/dist/uploads.js.map +1 -1
  624. package/dist/utils/fire-and-forget.d.ts +4 -0
  625. package/dist/utils/fire-and-forget.js +4 -0
  626. package/dist/utils/fire-and-forget.js.map +1 -1
  627. package/dist/utils/internal/owned-registry.d.ts +36 -0
  628. package/dist/utils/internal/owned-registry.js +60 -0
  629. package/dist/utils/internal/owned-registry.js.map +1 -0
  630. package/dist/utils/{row-instance.d.ts → internal/row-instance.d.ts} +1 -0
  631. package/dist/utils/internal/row-instance.js +12 -0
  632. package/dist/utils/internal/row-instance.js.map +1 -0
  633. package/dist/utils/internal/saas-mode.d.ts +8 -0
  634. package/dist/utils/internal/saas-mode.js +3 -0
  635. package/dist/utils/internal/saas-mode.js.map +1 -0
  636. package/dist/utils/{time.d.ts → internal/time.d.ts} +4 -0
  637. package/dist/utils/{time.js → internal/time.js} +4 -0
  638. package/dist/utils/internal/time.js.map +1 -0
  639. package/dist/utils/{type-check.d.ts → internal/type-check.d.ts} +12 -0
  640. package/dist/utils/{type-check.js → internal/type-check.js} +12 -0
  641. package/dist/utils/internal/type-check.js.map +1 -0
  642. package/dist/utils/internal/value-parser.d.ts +86 -0
  643. package/dist/utils/internal/value-parser.js +160 -0
  644. package/dist/utils/internal/value-parser.js.map +1 -0
  645. package/dist/utils/saas-mode.d.ts +25 -3
  646. package/dist/utils/saas-mode.js +24 -0
  647. package/dist/utils/saas-mode.js.map +1 -1
  648. package/package.json +3 -3
  649. package/dist/base/block-registry/describe.d.ts +0 -6
  650. package/dist/base/block-registry/describe.js.map +0 -1
  651. package/dist/base/block-registry/ui.d.ts +0 -5
  652. package/dist/base/block-registry/ui.js +0 -17
  653. package/dist/base/block-registry/ui.js.map +0 -1
  654. package/dist/base/table-view/auth.d.ts +0 -9
  655. package/dist/base/table-view/auth.js.map +0 -1
  656. package/dist/base/table-view/files.js.map +0 -1
  657. package/dist/base/table-view/guards.js +0 -85
  658. package/dist/base/table-view/guards.js.map +0 -1
  659. package/dist/base/table-view/row-rules.js.map +0 -1
  660. package/dist/base/tree.d.ts +0 -115
  661. package/dist/base/tree.js +0 -145
  662. package/dist/base/tree.js.map +0 -1
  663. package/dist/db/models/exportJobs.model.js.map +0 -1
  664. package/dist/db/models/tenantLifecycle.model.js.map +0 -1
  665. package/dist/db/tables/tenantLifecycle.table.js.map +0 -1
  666. package/dist/invite-extensions/delivery.d.ts +0 -5
  667. package/dist/invite-extensions/delivery.js.map +0 -1
  668. package/dist/invite-extensions/edit.d.ts +0 -4
  669. package/dist/invite-extensions/edit.js.map +0 -1
  670. package/dist/invite-extensions/field-ids.d.ts +0 -7
  671. package/dist/invite-extensions/field-ids.js.map +0 -1
  672. package/dist/invite-extensions/form-slot.d.ts +0 -2
  673. package/dist/invite-extensions/form-slot.js.map +0 -1
  674. package/dist/invite-extensions/internal.d.ts +0 -17
  675. package/dist/invite-extensions/internal.js +0 -55
  676. package/dist/invite-extensions/internal.js.map +0 -1
  677. package/dist/invite-extensions/payload-slices.d.ts +0 -8
  678. package/dist/invite-extensions/payload-slices.js.map +0 -1
  679. package/dist/invite-membership.d.ts +0 -3
  680. package/dist/invite-membership.js.map +0 -1
  681. package/dist/invite-replacement.d.ts +0 -2
  682. package/dist/invite-replacement.js.map +0 -1
  683. package/dist/page/component-target.d.ts +0 -10
  684. package/dist/page/component-target.js.map +0 -1
  685. package/dist/page/extension-assembly.js.map +0 -1
  686. package/dist/page/extension-validation.d.ts +0 -7
  687. package/dist/page/extension-validation.js.map +0 -1
  688. package/dist/page/metadata-helpers.js.map +0 -1
  689. package/dist/page/page-registration.d.ts +0 -13
  690. package/dist/page/page-registration.js +0 -22
  691. package/dist/page/page-registration.js.map +0 -1
  692. package/dist/utils/owned-registry.d.ts +0 -10
  693. package/dist/utils/owned-registry.js +0 -34
  694. package/dist/utils/owned-registry.js.map +0 -1
  695. package/dist/utils/row-instance.js +0 -8
  696. package/dist/utils/row-instance.js.map +0 -1
  697. package/dist/utils/time.js.map +0 -1
  698. package/dist/utils/type-check.js.map +0 -1
  699. package/dist/utils/value-parser.d.ts +0 -11
  700. package/dist/utils/value-parser.js +0 -86
  701. package/dist/utils/value-parser.js.map +0 -1
@@ -0,0 +1,124 @@
1
+ import { z } from "zod";
2
+ import type { EnumOption } from "./types/enum-option";
3
+ import { HttpMethod } from "./types/http";
4
+ import { type Tone } from "./types/tone";
5
+ /** The button variants a block link action may take. */
6
+ export declare const BLOCK_ACTION_VARIANTS: readonly ["solid", "outline", "soft", "subtle", "ghost", "link"];
7
+ export type BlockActionVariant = (typeof BLOCK_ACTION_VARIANTS)[number];
8
+ /**
9
+ * A link button a display block renders. `to` is a DMS route, an `#anchor` on
10
+ * the page, or an absolute URL (opened in a new tab). The block picks the look
11
+ * of the buttons by their place; `variant` and `color` override it.
12
+ */
13
+ export interface BlockLinkAction {
14
+ /** Button text; `$`-prefixed for an i18n key. */
15
+ label: string;
16
+ to: string;
17
+ icon?: string;
18
+ variant?: BlockActionVariant;
19
+ color?: Tone;
20
+ }
21
+ export declare const BlockLinkActionSchema: z.ZodObject<{
22
+ label: z.ZodString;
23
+ to: z.ZodString;
24
+ icon: z.ZodOptional<z.ZodString>;
25
+ variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
26
+ color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ label: string;
29
+ to: string;
30
+ icon?: string | undefined;
31
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
32
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
33
+ }, {
34
+ label: string;
35
+ to: string;
36
+ icon?: string | undefined;
37
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
38
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
39
+ }>;
40
+ /** The link buttons option of a display block. */
41
+ export declare const blockActionsOption: (description: string) => z.ZodOptional<z.ZodArray<z.ZodObject<{
42
+ label: z.ZodString;
43
+ to: z.ZodString;
44
+ icon: z.ZodOptional<z.ZodString>;
45
+ variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
46
+ color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ label: string;
49
+ to: string;
50
+ icon?: string | undefined;
51
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
52
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
53
+ }, {
54
+ label: string;
55
+ to: string;
56
+ icon?: string | undefined;
57
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
58
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
59
+ }>, "many">>;
60
+ /** What a block shows when it has nothing to list. */
61
+ export interface BlockEmptyText {
62
+ /** `$`-prefixed for an i18n key, like `description`. */
63
+ title: string;
64
+ description?: string;
65
+ }
66
+ /** The `empty` option of a block. */
67
+ export declare const blockEmptyOption: () => z.ZodOptional<z.ZodObject<{
68
+ title: z.ZodString;
69
+ description: z.ZodOptional<z.ZodString>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ title: string;
72
+ description?: string | undefined;
73
+ }, {
74
+ title: string;
75
+ description?: string | undefined;
76
+ }>>;
77
+ /**
78
+ * The `card` option of a block: the card surface around it, `isOnByDefault`
79
+ * or not. Turn it off to nest the block in a `Card`.
80
+ */
81
+ export declare const blockCardOption: (isOnByDefault: boolean) => z.ZodDefault<z.ZodBoolean>;
82
+ /** The `fetchUrl` option of a block, picked in the editor's source list. */
83
+ export declare const blockFetchUrlOption: (description: string) => z.ZodOptional<z.ZodString>;
84
+ /** The `fetchUrlMethod` option that goes with `fetchUrl`. */
85
+ export declare const blockFetchUrlMethodOption: () => z.ZodOptional<z.ZodNativeEnum<typeof HttpMethod>>;
86
+ /**
87
+ * The options a list block (StatGroup, KeyValueList, NavCardGrid,
88
+ * ActivityFeed) reads its items from a route with. The route answers
89
+ * `{ items: [...] }` in the block's own item shape, which replaces the static
90
+ * `items`.
91
+ */
92
+ export interface BlockItemsSource {
93
+ fetchUrl?: string;
94
+ fetchUrlMethod?: EnumOption<HttpMethod>;
95
+ /** Shown when there is nothing to list. */
96
+ empty?: BlockEmptyText;
97
+ /**
98
+ * How many placeholder rows, cells or cards the block draws while
99
+ * `fetchUrl` loads. The block cannot know the length of a list it has not
100
+ * read yet: set it to the length the route usually answers, so the block
101
+ * keeps its height when the items land. A count, not a height, so it holds
102
+ * at every width.
103
+ *
104
+ * Optional. Defaults to `columns`, or 4 (StatGroup); 5 (KeyValueList);
105
+ * `columns`, or 3 (NavCardGrid); `maxItems`, or 3 (ActivityFeed).
106
+ */
107
+ skeletonCount?: number;
108
+ }
109
+ /** The options of `BlockItemsSource`, for a list block's schema. */
110
+ export declare const blockItemsSourceOptions: () => {
111
+ fetchUrl: z.ZodOptional<z.ZodString>;
112
+ fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof HttpMethod>>;
113
+ empty: z.ZodOptional<z.ZodObject<{
114
+ title: z.ZodString;
115
+ description: z.ZodOptional<z.ZodString>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ title: string;
118
+ description?: string | undefined;
119
+ }, {
120
+ title: string;
121
+ description?: string | undefined;
122
+ }>>;
123
+ skeletonCount: z.ZodOptional<z.ZodNumber>;
124
+ };
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockItemsSourceOptions = exports.blockFetchUrlMethodOption = exports.blockFetchUrlOption = exports.blockCardOption = exports.blockEmptyOption = exports.blockActionsOption = exports.BlockLinkActionSchema = exports.BLOCK_ACTION_VARIANTS = void 0;
4
+ const zod_1 = require("zod");
5
+ const block_registry_1 = require("./block-registry");
6
+ const http_1 = require("./types/http");
7
+ const tone_1 = require("./types/tone");
8
+ const display_1 = require("./internal/display");
9
+ /** The button variants a block link action may take. */
10
+ exports.BLOCK_ACTION_VARIANTS = [
11
+ "solid",
12
+ "outline",
13
+ "soft",
14
+ "subtle",
15
+ "ghost",
16
+ "link",
17
+ ];
18
+ exports.BlockLinkActionSchema = zod_1.z.object({
19
+ label: (0, block_registry_1.ui)(zod_1.z.string().describe("Button text."), { label: "Label" }),
20
+ to: (0, block_registry_1.ui)(zod_1.z.string().describe("Route, `#anchor` or absolute URL."), {
21
+ label: "Link",
22
+ widget: "url",
23
+ }),
24
+ icon: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Icon", widget: "icon" }),
25
+ variant: (0, block_registry_1.ui)(zod_1.z.enum(exports.BLOCK_ACTION_VARIANTS).optional(), {
26
+ label: "Variant",
27
+ widget: "select",
28
+ }),
29
+ color: (0, block_registry_1.ui)((0, display_1.toneEnum)(tone_1.TONES).optional(), {
30
+ label: "Colour",
31
+ widget: "select",
32
+ }),
33
+ });
34
+ /** The link buttons option of a display block. */
35
+ const blockActionsOption = (description) => (0, block_registry_1.ui)(zod_1.z.array(exports.BlockLinkActionSchema).optional().describe(description), {
36
+ label: "Actions",
37
+ group: "content",
38
+ });
39
+ exports.blockActionsOption = blockActionsOption;
40
+ /** The `empty` option of a block. */
41
+ const blockEmptyOption = () => (0, block_registry_1.ui)(zod_1.z
42
+ .object({
43
+ title: (0, block_registry_1.ui)(zod_1.z.string(), { label: "Title" }),
44
+ description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
45
+ label: "Description",
46
+ widget: "textarea",
47
+ }),
48
+ })
49
+ .optional()
50
+ .describe("Shown when there is nothing to list."), { label: "Empty state", group: "content" });
51
+ exports.blockEmptyOption = blockEmptyOption;
52
+ /**
53
+ * The `card` option of a block: the card surface around it, `isOnByDefault`
54
+ * or not. Turn it off to nest the block in a `Card`.
55
+ */
56
+ const blockCardOption = (isOnByDefault) => (0, block_registry_1.ui)(zod_1.z
57
+ .boolean()
58
+ .default(isOnByDefault)
59
+ .describe("Card surface around the block; off inside a `Card`."), { label: "In a card", group: "appearance", widget: "switch" });
60
+ exports.blockCardOption = blockCardOption;
61
+ /** The `fetchUrl` option of a block, picked in the editor's source list. */
62
+ const blockFetchUrlOption = (description) => (0, block_registry_1.ui)(zod_1.z.string().optional().describe(description), {
63
+ label: "Data source",
64
+ group: "data",
65
+ widget: "dataSource",
66
+ advanced: true,
67
+ });
68
+ exports.blockFetchUrlOption = blockFetchUrlOption;
69
+ /** The `fetchUrlMethod` option that goes with `fetchUrl`. */
70
+ const blockFetchUrlMethodOption = () => (0, block_registry_1.ui)(zod_1.z.nativeEnum(http_1.HttpMethod).optional(), {
71
+ label: "HTTP method",
72
+ group: "advanced",
73
+ widget: "select",
74
+ });
75
+ exports.blockFetchUrlMethodOption = blockFetchUrlMethodOption;
76
+ /** The options of `BlockItemsSource`, for a list block's schema. */
77
+ const blockItemsSourceOptions = () => ({
78
+ fetchUrl: (0, exports.blockFetchUrlOption)("Route answering `{ items }`; when set it replaces the static items."),
79
+ fetchUrlMethod: (0, exports.blockFetchUrlMethodOption)(),
80
+ empty: (0, exports.blockEmptyOption)(),
81
+ skeletonCount: (0, block_registry_1.ui)(zod_1.z
82
+ .number()
83
+ .int()
84
+ .min(1)
85
+ .optional()
86
+ .describe("Placeholder items drawn while the data source loads."), {
87
+ label: "Loading placeholders",
88
+ group: "data",
89
+ widget: "number",
90
+ min: 1,
91
+ advanced: true,
92
+ }),
93
+ });
94
+ exports.blockItemsSourceOptions = blockItemsSourceOptions;
95
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/base/display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { ComponentBuilder } from "../component";
2
+ import { z } from "zod";
3
+ import type { BaseComponentProps } from "./types";
4
+ import { type BlockLinkAction } from "./display";
5
+ import { type Tone } from "./types/tone";
6
+ /** Why a block is empty: see `EmptyStateVariant`. */
7
+ export declare const EMPTY_STATE_VARIANTS: readonly ["no-data", "no-result", "no-access", "error"];
8
+ /** Why it is empty: sets the default icon, the well tone and the live role. */
9
+ export type EmptyStateVariant = (typeof EMPTY_STATE_VARIANTS)[number];
10
+ /** The sizes of an empty state. */
11
+ export declare const EMPTY_STATE_SIZES: readonly ["sm", "md", "lg"];
12
+ export type EmptyStateSize = (typeof EMPTY_STATE_SIZES)[number];
13
+ /** The options `EmptyState` takes. */
14
+ export interface EmptyStateProps extends BaseComponentProps {
15
+ /** `$`-prefixed for an i18n key, like every text of the block. */
16
+ title: string;
17
+ description?: string;
18
+ variant?: EmptyStateVariant;
19
+ /** Overrides the variant's icon. */
20
+ icon?: string;
21
+ /** Overrides the variant's well tone. */
22
+ tone?: Tone;
23
+ /** Hatched panel behind the content. */
24
+ hatched?: boolean;
25
+ size?: EmptyStateSize;
26
+ actions?: BlockLinkAction[];
27
+ /** Card surface around it; turn it off inside a `Card` block. */
28
+ card?: boolean;
29
+ }
30
+ /**
31
+ * EmptyState — an icon well, a title, a short explanation and the actions
32
+ * that fit the case: a first-run page, a section with nothing in it yet, a
33
+ * page the viewer cannot use.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * EmptyState({
38
+ * title: "No invoices yet",
39
+ * description: "Invoices appear here once a customer is billed.",
40
+ * actions: [{ label: "Create an invoice", to: "/sales/invoices/new" }],
41
+ * })
42
+ * ```
43
+ */
44
+ export declare function EmptyState(options: EmptyStateProps): ComponentBuilder<EmptyStateProps>;
45
+ /** The options `EmptyState` accepts. */
46
+ export declare const EmptyStateSchema: z.ZodObject<{
47
+ title: z.ZodString;
48
+ description: z.ZodOptional<z.ZodString>;
49
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ label: z.ZodString;
51
+ to: z.ZodString;
52
+ icon: z.ZodOptional<z.ZodString>;
53
+ variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
54
+ color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ label: string;
57
+ to: string;
58
+ icon?: string | undefined;
59
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
60
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
61
+ }, {
62
+ label: string;
63
+ to: string;
64
+ icon?: string | undefined;
65
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
66
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
67
+ }>, "many">>;
68
+ variant: z.ZodDefault<z.ZodEnum<["no-data", "no-result", "no-access", "error"]>>;
69
+ icon: z.ZodOptional<z.ZodString>;
70
+ tone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
71
+ size: z.ZodDefault<z.ZodEnum<["sm", "md", "lg"]>>;
72
+ hatched: z.ZodOptional<z.ZodBoolean>;
73
+ card: z.ZodDefault<z.ZodBoolean>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ size: "sm" | "md" | "lg";
76
+ title: string;
77
+ variant: "error" | "no-data" | "no-result" | "no-access";
78
+ card: boolean;
79
+ description?: string | undefined;
80
+ icon?: string | undefined;
81
+ actions?: {
82
+ label: string;
83
+ to: string;
84
+ icon?: string | undefined;
85
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
86
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
87
+ }[] | undefined;
88
+ tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
89
+ hatched?: boolean | undefined;
90
+ }, {
91
+ title: string;
92
+ description?: string | undefined;
93
+ size?: "sm" | "md" | "lg" | undefined;
94
+ icon?: string | undefined;
95
+ variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
96
+ card?: boolean | undefined;
97
+ actions?: {
98
+ label: string;
99
+ to: string;
100
+ icon?: string | undefined;
101
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
102
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
103
+ }[] | undefined;
104
+ tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
105
+ hatched?: boolean | undefined;
106
+ }>;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmptyStateSchema = exports.EMPTY_STATE_SIZES = exports.EMPTY_STATE_VARIANTS = void 0;
4
+ exports.EmptyState = EmptyState;
5
+ const component_1 = require("../component");
6
+ const zod_1 = require("zod");
7
+ const block_registry_1 = require("./block-registry");
8
+ const display_1 = require("./display");
9
+ const display_2 = require("./internal/display");
10
+ const tone_1 = require("./types/tone");
11
+ /** Why a block is empty: see `EmptyStateVariant`. */
12
+ exports.EMPTY_STATE_VARIANTS = [
13
+ "no-data",
14
+ "no-result",
15
+ "no-access",
16
+ "error",
17
+ ];
18
+ /** The sizes of an empty state. */
19
+ exports.EMPTY_STATE_SIZES = ["sm", "md", "lg"];
20
+ const EMPTY_STATE_COMPONENT_NAME = "dms-empty-state-block";
21
+ const EMPTY_STATE_ICON = "i-ph-tray";
22
+ const EMPTY_STATE_DEFAULTS = {
23
+ variant: "no-data",
24
+ size: "md",
25
+ card: true,
26
+ };
27
+ /**
28
+ * EmptyState — an icon well, a title, a short explanation and the actions
29
+ * that fit the case: a first-run page, a section with nothing in it yet, a
30
+ * page the viewer cannot use.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * EmptyState({
35
+ * title: "No invoices yet",
36
+ * description: "Invoices appear here once a customer is billed.",
37
+ * actions: [{ label: "Create an invoice", to: "/sales/invoices/new" }],
38
+ * })
39
+ * ```
40
+ */
41
+ function EmptyState(options) {
42
+ return new component_1.ComponentBuilder(EMPTY_STATE_COMPONENT_NAME)
43
+ .options({ ...EMPTY_STATE_DEFAULTS, ...options })
44
+ .meta({
45
+ name: options.title || "Empty state",
46
+ icon: options.icon || EMPTY_STATE_ICON,
47
+ });
48
+ }
49
+ /** The options `EmptyState` accepts. */
50
+ exports.EmptyStateSchema = zod_1.z.object({
51
+ title: (0, block_registry_1.ui)(zod_1.z.string().describe("Title of the empty state."), {
52
+ label: "Title",
53
+ group: "content",
54
+ initial: "Nothing here yet",
55
+ }),
56
+ description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
57
+ label: "Description",
58
+ group: "content",
59
+ widget: "textarea",
60
+ }),
61
+ actions: (0, display_1.blockActionsOption)("Buttons under the text; the first one leads."),
62
+ variant: (0, block_registry_1.ui)(zod_1.z
63
+ .enum(exports.EMPTY_STATE_VARIANTS)
64
+ .default(EMPTY_STATE_DEFAULTS.variant)
65
+ .describe("Why it is empty; sets the icon and the tone."), {
66
+ label: "Variant",
67
+ group: "appearance",
68
+ widget: "select",
69
+ valueLabels: {
70
+ "no-data": "No data yet",
71
+ "no-result": "No result",
72
+ "no-access": "No access",
73
+ error: "Error",
74
+ },
75
+ }),
76
+ icon: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Overrides the variant's icon."), {
77
+ label: "Icon",
78
+ group: "appearance",
79
+ widget: "icon",
80
+ }),
81
+ tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(tone_1.TONES).optional(), {
82
+ label: "Tone",
83
+ group: "appearance",
84
+ widget: "select",
85
+ }),
86
+ size: (0, block_registry_1.ui)(zod_1.z.enum(exports.EMPTY_STATE_SIZES).default(EMPTY_STATE_DEFAULTS.size), {
87
+ label: "Size",
88
+ group: "appearance",
89
+ widget: "segmented",
90
+ }),
91
+ hatched: (0, block_registry_1.ui)(zod_1.z.boolean().optional().describe("Hatched panel behind it."), {
92
+ label: "Hatched",
93
+ group: "appearance",
94
+ widget: "switch",
95
+ }),
96
+ card: (0, display_1.blockCardOption)(EMPTY_STATE_DEFAULTS.card),
97
+ });
98
+ (0, block_registry_1.RegisterBlockType)({
99
+ type: "EmptyState",
100
+ componentName: EMPTY_STATE_COMPONENT_NAME,
101
+ schema: exports.EmptyStateSchema,
102
+ meta: {
103
+ name: "Empty state",
104
+ icon: EMPTY_STATE_ICON,
105
+ description: "Says why there is nothing here, and what to do next.",
106
+ group: "content",
107
+ },
108
+ });
109
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.js","sourceRoot":"","sources":["../../src/base/empty-state.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
+ /**
2
+ * The export-job contract.
3
+ *
4
+ * Running an export is DMS behaviour -- it writes database rows, spools files
5
+ * through temporary storage, zips and mails them -- so the module implements it
6
+ * and this file only declares what a caller needs: the vocabulary, the
7
+ * defaults, and the entry points. Everything the engine uses on the way
8
+ * (storage upload, stale sweeps, filename building) stays inside the module.
9
+ */
1
10
  import type { RequestContext } from "@antelopejs/interface-api";
2
11
  import type { User } from "../auth/db";
3
12
  import type { ExportJob } from "../db/tables/exportJobs.table";
4
13
  import type { ExportStatus } from "./types/export-status";
14
+ /** Lifetime of a stored export, enforced by the `sweep-stale-exports` cron. */
5
15
  export declare const EXPORT_TTL_MS = 86400000;
16
+ /** Query parameter carrying the job id on a delivered download link. */
6
17
  export declare const EXPORT_JOB_QUERY_PARAM = "exportJob";
7
- export declare const DEFAULT_EXPORT_HISTORY_LIMIT = 20;
8
18
  export declare const DEFAULT_EXPORT_FORMAT = "csv";
9
19
  export declare const DEFAULT_DELIVERY = "download";
10
20
  export declare const EMAIL_DELIVERY = "email";
@@ -23,18 +33,22 @@ export interface Exporter {
23
33
  createWriter(filePath: string): ExportWriter;
24
34
  }
25
35
  export interface ExportJobFailure {
36
+ /** Part of the export that failed, e.g. a contributing module id. */
26
37
  source: string;
27
38
  error: string;
28
39
  }
40
+ /** Result a `generate` implementation returns to report an incomplete export. */
29
41
  export interface ExportJobResultSummary {
30
42
  partial: boolean;
31
43
  failures: ExportJobFailure[];
32
44
  }
33
45
  export interface ExportJobDeliveryOptions {
34
46
  delivery: string;
47
+ /** Client-side path the delivered link points to. */
35
48
  deliveryPath?: string;
36
49
  }
37
50
  export interface Deliverer {
51
+ /** Called when the job is created, so an unusable delivery fails fast. */
38
52
  validate?(options: ExportJobDeliveryOptions): void;
39
53
  deliver(exportRecord: ExportJob, resultPath: string): Promise<void>;
40
54
  }
@@ -44,6 +58,7 @@ export interface ExportJobGenerateContext<TContext = unknown> {
44
58
  localPath: string;
45
59
  context: TContext;
46
60
  reportProgress: (progress: number) => Promise<void>;
61
+ /** Aborted when the job exceeds `maxExecutionTimeMs`. */
47
62
  signal: AbortSignal;
48
63
  }
49
64
  export interface RunExportJobOptions<TContext = unknown> {
@@ -55,12 +70,25 @@ export interface RunExportJobOptions<TContext = unknown> {
55
70
  extension: string;
56
71
  contentType: string;
57
72
  delivery?: string;
73
+ /** Client-side path a delivered link points to, required by email delivery. */
58
74
  deliveryPath?: string;
75
+ /**
76
+ * Keeps the record and its stored file after a download, until the stale
77
+ * export sweep expires them. Required for scopes exposing a job history or a
78
+ * delivered link, which both outlive the first download.
79
+ */
59
80
  retainUntilExpiry?: boolean;
81
+ /** Defaults to 10 minutes. Job is marked failed if `generate` exceeds this. */
60
82
  maxExecutionTimeMs?: number;
83
+ /**
84
+ * A returned summary is stored on the job and surfaced to its consumers.
85
+ * `void` rather than `undefined`, which would reject the generators that
86
+ * report no summary.
87
+ */
61
88
  generate: (ctx: ExportJobGenerateContext<TContext>) => Promise<ExportJobResultSummary | void>;
62
89
  }
63
90
  export interface ExportJobOwnership<TContext = unknown> {
91
+ /** Optional extra ACL beyond the userId check. */
64
92
  isOwnedBy?: (record: ExportJob, context: TContext, user: User) => boolean;
65
93
  }
66
94
  export interface ExportJobAccessOptions<TContext = unknown> extends ExportJobOwnership<TContext> {
@@ -77,7 +105,9 @@ export interface ExportJobStatus {
77
105
  error?: string;
78
106
  filename?: string;
79
107
  extension?: string;
108
+ /** Present once completed: reports whether parts of the export are missing. */
80
109
  result?: ExportJobResultSummary;
110
+ /** When the stale export sweep drops the job and its stored file. */
81
111
  expiresAt?: Date;
82
112
  }
83
113
  export interface ExportJobSummary extends ExportJobStatus {
@@ -89,9 +119,17 @@ export interface ListExportJobsOptions {
89
119
  scope?: string;
90
120
  limit?: number;
91
121
  }
122
+ /** Looks up an export format by id; the DMS ships `csv`. */
92
123
  export declare const getExporter: (format: string) => Promise<Exporter>;
124
+ /** Looks up a delivery mode by id; the DMS ships `download` and `email`. */
93
125
  export declare const getDeliverer: (delivery: string) => Promise<Deliverer>;
126
+ /** Starts an export job and returns the ticket its caller polls. */
94
127
  export declare function runExportJob<TContext = unknown>(options: RunExportJobOptions<TContext>): Promise<ExportJobTicket>;
95
128
  export declare function getExportJobStatus<TContext = unknown>(ctx: RequestContext, user: User, jobId: string, access?: ExportJobAccessOptions<TContext>): Promise<ExportJobStatus>;
129
+ /**
130
+ * Streams a completed export job to the response. Returns once the pipe is
131
+ * started, not once it has drained.
132
+ */
96
133
  export declare function downloadExportJob<TContext = unknown>(ctx: RequestContext, user: User, jobId: string, access?: ExportJobAccessOptions<TContext>): Promise<void>;
134
+ /** Lists the caller's own export jobs, most recent first. */
97
135
  export declare const listExportJobs: (ctx: RequestContext, user: User, options?: ListExportJobsOptions | undefined) => Promise<ExportJobSummary[]>;
@@ -1,30 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listExportJobs = exports.getDeliverer = exports.getExporter = exports.EMAIL_DELIVERY = exports.DEFAULT_DELIVERY = exports.DEFAULT_EXPORT_FORMAT = exports.DEFAULT_EXPORT_HISTORY_LIMIT = exports.EXPORT_JOB_QUERY_PARAM = exports.EXPORT_TTL_MS = void 0;
3
+ exports.listExportJobs = exports.getDeliverer = exports.getExporter = exports.EMAIL_DELIVERY = exports.DEFAULT_DELIVERY = exports.DEFAULT_EXPORT_FORMAT = exports.EXPORT_JOB_QUERY_PARAM = exports.EXPORT_TTL_MS = void 0;
4
4
  exports.runExportJob = runExportJob;
5
5
  exports.getExportJobStatus = getExportJobStatus;
6
6
  exports.downloadExportJob = downloadExportJob;
7
7
  const interface_core_1 = require("@antelopejs/interface-core");
8
- const time_1 = require("../utils/time");
8
+ const time_1 = require("../utils/internal/time");
9
+ /** Lifetime of a stored export, enforced by the `sweep-stale-exports` cron. */
9
10
  exports.EXPORT_TTL_MS = time_1.MILLISECONDS_PER_DAY;
11
+ /** Query parameter carrying the job id on a delivered download link. */
10
12
  exports.EXPORT_JOB_QUERY_PARAM = "exportJob";
11
- exports.DEFAULT_EXPORT_HISTORY_LIMIT = 20;
12
13
  exports.DEFAULT_EXPORT_FORMAT = "csv";
13
14
  exports.DEFAULT_DELIVERY = "download";
14
15
  exports.EMAIL_DELIVERY = "email";
16
+ /** Looks up an export format by id; the DMS ships `csv`. */
15
17
  exports.getExporter = (0, interface_core_1.InterfaceFunction)();
18
+ /** Looks up a delivery mode by id; the DMS ships `download` and `email`. */
16
19
  exports.getDeliverer = (0, interface_core_1.InterfaceFunction)();
17
20
  const runExportJobProxy = (0, interface_core_1.InterfaceFunction)();
18
21
  const getExportJobStatusProxy = (0, interface_core_1.InterfaceFunction)();
19
22
  const downloadExportJobProxy = (0, interface_core_1.InterfaceFunction)();
23
+ /** Starts an export job and returns the ticket its caller polls. */
20
24
  function runExportJob(options) {
21
25
  return runExportJobProxy(options);
22
26
  }
23
27
  function getExportJobStatus(ctx, user, jobId, access) {
24
28
  return getExportJobStatusProxy(ctx, user, jobId, access);
25
29
  }
30
+ /**
31
+ * Streams a completed export job to the response. Returns once the pipe is
32
+ * started, not once it has drained.
33
+ */
26
34
  function downloadExportJob(ctx, user, jobId, access) {
27
35
  return downloadExportJobProxy(ctx, user, jobId, access);
28
36
  }
37
+ /** Lists the caller's own export jobs, most recent first. */
29
38
  exports.listExportJobs = (0, interface_core_1.InterfaceFunction)();
30
39
  //# sourceMappingURL=export-jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/base/export-jobs.ts"],"names":[],"mappings":";;;AAwMA,oCAIC;AAED,gDAOC;AAMD,8CAOC;AAxND,+DAA+D;AAG/D,wCAAqD;AAIxC,QAAA,aAAa,GAAG,2BAAoB,CAAC;AAGrC,QAAA,sBAAsB,GAAG,WAAW,CAAC;AAErC,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAClC,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAC9B,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,QAAA,cAAc,GAAG,OAAO,CAAC;AA2HzB,QAAA,WAAW,GAAG,IAAA,kCAAiB,GAAgC,CAAC;AAGhE,QAAA,YAAY,GACvB,IAAA,kCAAiB,GAAmC,CAAC;AAwBvD,MAAM,iBAAiB,GACrB,IAAA,kCAAiB,GAA2D,CAAC;AAE/E,MAAM,uBAAuB,GAC3B,IAAA,kCAAiB,GAOd,CAAC;AAEN,MAAM,sBAAsB,GAC1B,IAAA,kCAAiB,GAOd,CAAC;AAGN,SAAgB,YAAY,CAC1B,OAAsC;IAEtC,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAMD,SAAgB,iBAAiB,CAC/B,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAGY,QAAA,cAAc,GACzB,IAAA,kCAAiB,GAMd,CAAC"}
1
+ {"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/base/export-jobs.ts"],"names":[],"mappings":";;;AAsMA,oCAIC;AAED,gDAOC;AAMD,8CAOC;AAtND,+DAA+D;AAG/D,iDAA8D;AAG9D,+EAA+E;AAClE,QAAA,aAAa,GAAG,2BAAoB,CAAC;AAElD,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,WAAW,CAAC;AACrC,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAC9B,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,QAAA,cAAc,GAAG,OAAO,CAAC;AA0HtC,4DAA4D;AAC/C,QAAA,WAAW,GAAG,IAAA,kCAAiB,GAAgC,CAAC;AAE7E,4EAA4E;AAC/D,QAAA,YAAY,GACvB,IAAA,kCAAiB,GAAmC,CAAC;AAwBvD,MAAM,iBAAiB,GACrB,IAAA,kCAAiB,GAA2D,CAAC;AAE/E,MAAM,uBAAuB,GAC3B,IAAA,kCAAiB,GAOd,CAAC;AAEN,MAAM,sBAAsB,GAC1B,IAAA,kCAAiB,GAOd,CAAC;AAEN,oEAAoE;AACpE,SAAgB,YAAY,CAC1B,OAAsC;IAEtC,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,6DAA6D;AAChD,QAAA,cAAc,GACzB,IAAA,kCAAiB,GAMd,CAAC"}